├── COMPAT_VERSION ├── compat-drivers-source ├── .compat_base ├── .compat_base_tree ├── patches │ ├── pending-stable │ │ ├── network │ │ │ └── .gitignore │ │ ├── .ignore │ │ └── README │ ├── linux-next-pending │ │ ├── network │ │ │ └── .gitignore │ │ └── README │ ├── linux-next-cherry-picks │ │ ├── network │ │ │ └── .gitignore │ │ └── README │ ├── collateral-evolutions │ │ ├── network │ │ │ ├── 68-do-not-add-Werror.patch │ │ │ ├── 42-netlink_seq.patch │ │ │ ├── 36-workqueue.patch │ │ │ ├── 67-fix-section-mismatch.patch │ │ │ ├── 43-rename_pm_qos_request.patch │ │ │ ├── 47-no_trans_start_on_netdev_queue.patch │ │ │ ├── 15-symbol-export-conflicts.patch │ │ │ ├── 12-iw_handler-changes.patch │ │ │ ├── 57-iwlwifi-debug-fix.patch │ │ │ ├── 45-remove-platform-id-table.patch │ │ │ ├── 12-mac80211-disable-tx-status.patch │ │ │ ├── 50-libertas-olpc-ec-wakeup.patch │ │ │ ├── 32-remove-ns-type.patch │ │ │ ├── 05-usb.patch │ │ │ ├── 65-ignore-dismantle.patch │ │ │ ├── 37-vsnprintk.patch │ │ │ ├── 38-led-max-brightness.patch │ │ │ ├── 44-deactivate-mac80211-tracing.patch │ │ │ ├── 26-sdio-quirks.patch │ │ │ ├── 46-use_other_workqueue.patch │ │ │ └── 52-tty-dev.patch │ │ ├── README │ │ └── drm │ │ │ ├── 05-i915-define-acpi-video-class.patch │ │ │ ├── 10-radeon-revert-acpi-table-size-check.patch │ │ │ └── 99-change-makefile.patch │ ├── unified-drivers │ │ ├── network │ │ │ ├── 0002-enable-alx.patch │ │ │ └── 0004-alx-deactivate-loopback-test.patch │ │ └── README.md │ └── crap │ │ └── README ├── .compat_base_tree_version ├── .compat_version ├── drivers │ ├── net │ │ ├── ethernet │ │ │ ├── broadcom │ │ │ │ └── Makefile │ │ │ └── atheros │ │ │ │ ├── atlx │ │ │ │ └── Makefile │ │ │ │ ├── atl1c │ │ │ │ └── Makefile │ │ │ │ ├── atl1e │ │ │ │ └── Makefile │ │ │ │ └── Makefile │ │ ├── wireless │ │ │ ├── ath │ │ │ │ ├── ar5523 │ │ │ │ │ ├── Makefile │ │ │ │ │ └── Kconfig │ │ │ │ ├── carl9170 │ │ │ │ │ ├── Makefile │ │ │ │ │ └── version.h │ │ │ │ ├── wil6210 │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── dbg_hexdump.h │ │ │ │ │ └── Kconfig │ │ │ │ ├── Makefile │ │ │ │ ├── ath5k │ │ │ │ │ └── Makefile │ │ │ │ └── Kconfig │ │ │ ├── rtl818x │ │ │ │ ├── Makefile │ │ │ │ ├── rtl8187 │ │ │ │ │ ├── Makefile │ │ │ │ │ └── rfkill.h │ │ │ │ └── rtl8180 │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── rtl8225.h │ │ │ │ │ ├── grf5101.h │ │ │ │ │ ├── max2820.h │ │ │ │ │ └── sa2400.h │ │ │ ├── ti │ │ │ │ ├── wl12xx │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── Kconfig │ │ │ │ │ └── debugfs.h │ │ │ │ ├── wl18xx │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── Kconfig │ │ │ │ │ ├── debugfs.h │ │ │ │ │ └── io.h │ │ │ │ ├── Makefile │ │ │ │ ├── wl1251 │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── debugfs.h │ │ │ │ │ ├── Kconfig │ │ │ │ │ └── ps.h │ │ │ │ ├── wlcore │ │ │ │ │ ├── Makefile │ │ │ │ │ └── testmode.h │ │ │ │ └── Kconfig │ │ │ ├── b43 │ │ │ │ ├── wa.h │ │ │ │ ├── sysfs.h │ │ │ │ ├── rfkill.h │ │ │ │ ├── pcmcia.h │ │ │ │ ├── sdio.h │ │ │ │ ├── Makefile │ │ │ │ ├── tables_phy_lcn.h │ │ │ │ ├── phy_lcn.h │ │ │ │ ├── tables_phy_ht.h │ │ │ │ └── tables.h │ │ │ ├── libertas_tf │ │ │ │ └── Makefile │ │ │ ├── rtlwifi │ │ │ │ ├── rtl8192c │ │ │ │ │ └── Makefile │ │ │ │ ├── rtl8192ce │ │ │ │ │ └── Makefile │ │ │ │ ├── rtl8192cu │ │ │ │ │ └── Makefile │ │ │ │ ├── rtl8192de │ │ │ │ │ └── Makefile │ │ │ │ ├── rtl8192se │ │ │ │ │ └── Makefile │ │ │ │ ├── rtl8723ae │ │ │ │ │ └── Makefile │ │ │ │ └── Makefile │ │ │ ├── p54 │ │ │ │ └── Makefile │ │ │ ├── zd1211rw │ │ │ │ ├── Makefile │ │ │ │ └── Kconfig │ │ │ ├── b43legacy │ │ │ │ ├── sysfs.h │ │ │ │ ├── rfkill.h │ │ │ │ └── Makefile │ │ │ ├── libertas │ │ │ │ ├── debugfs.h │ │ │ │ ├── cfg.h │ │ │ │ └── Makefile │ │ │ ├── ipw2x00 │ │ │ │ ├── Makefile │ │ │ │ └── ipw.h │ │ │ ├── orinoco │ │ │ │ ├── wext.h │ │ │ │ ├── cfg.h │ │ │ │ ├── mic.h │ │ │ │ ├── scan.h │ │ │ │ ├── fw.h │ │ │ │ └── Makefile │ │ │ ├── iwlwifi │ │ │ │ ├── dvm │ │ │ │ │ └── Makefile │ │ │ │ └── Makefile │ │ │ ├── iwlegacy │ │ │ │ └── Makefile │ │ │ ├── rt2x00 │ │ │ │ └── Makefile │ │ │ ├── brcm80211 │ │ │ │ ├── brcmsmac │ │ │ │ │ └── brcms_trace_events.c │ │ │ │ ├── Makefile │ │ │ │ └── brcmutil │ │ │ │ │ └── Makefile │ │ │ ├── mwifiex │ │ │ │ └── cfg80211.h │ │ │ └── Makefile │ │ ├── Makefile │ │ └── usb │ │ │ └── Makefile │ ├── misc │ │ └── eeprom │ │ │ └── Makefile │ ├── gpu │ │ └── drm │ │ │ ├── drm_trace_points.c │ │ │ ├── nouveau │ │ │ ├── nouveau_ioctl.h │ │ │ ├── core │ │ │ │ ├── include │ │ │ │ │ ├── engine │ │ │ │ │ │ ├── ppp.h │ │ │ │ │ │ ├── crypt.h │ │ │ │ │ │ ├── vp.h │ │ │ │ │ │ ├── bsp.h │ │ │ │ │ │ └── copy.h │ │ │ │ │ ├── subdev │ │ │ │ │ │ ├── bios │ │ │ │ │ │ │ ├── bit.h │ │ │ │ │ │ │ ├── mxm.h │ │ │ │ │ │ │ ├── perf.h │ │ │ │ │ │ │ ├── init.h │ │ │ │ │ │ │ ├── i2c.h │ │ │ │ │ │ │ ├── extdev.h │ │ │ │ │ │ │ ├── conn.h │ │ │ │ │ │ │ ├── dp.h │ │ │ │ │ │ │ ├── bmp.h │ │ │ │ │ │ │ ├── therm.h │ │ │ │ │ │ │ └── gpio.h │ │ │ │ │ │ ├── bios.h │ │ │ │ │ │ ├── device.h │ │ │ │ │ │ ├── vga.h │ │ │ │ │ │ ├── ltcg.h │ │ │ │ │ │ ├── ibus.h │ │ │ │ │ │ └── mxm.h │ │ │ │ │ └── core │ │ │ │ │ │ ├── math.h │ │ │ │ │ │ ├── debug.h │ │ │ │ │ │ ├── option.h │ │ │ │ │ │ ├── enum.h │ │ │ │ │ │ ├── ramht.h │ │ │ │ │ │ ├── mm.h │ │ │ │ │ │ └── handle.h │ │ │ │ ├── engine │ │ │ │ │ ├── graph │ │ │ │ │ │ ├── nv50.h │ │ │ │ │ │ ├── nv40.h │ │ │ │ │ │ └── nv20.h │ │ │ │ │ └── fifo │ │ │ │ │ │ └── nv50.h │ │ │ │ ├── subdev │ │ │ │ │ ├── clock │ │ │ │ │ │ └── pll.h │ │ │ │ │ ├── vm │ │ │ │ │ │ └── nv04.h │ │ │ │ │ ├── mxm │ │ │ │ │ │ └── mxms.h │ │ │ │ │ └── instmem │ │ │ │ │ │ └── nv04.h │ │ │ │ └── os.h │ │ │ ├── nouveau_vga.h │ │ │ ├── nouveau_agp.h │ │ │ ├── nouveau_irq.h │ │ │ ├── nouveau_ttm.h │ │ │ ├── nouveau_chan.h │ │ │ └── nouveau_acpi.h │ │ │ ├── cirrus │ │ │ ├── Makefile │ │ │ └── Kconfig │ │ │ ├── mgag200 │ │ │ ├── Makefile │ │ │ └── Kconfig │ │ │ ├── i2c │ │ │ └── Makefile │ │ │ ├── radeon │ │ │ ├── radeon_trace_points.c │ │ │ └── reg_srcs │ │ │ │ └── rn50 │ │ │ ├── i810 │ │ │ └── Makefile │ │ │ ├── i915 │ │ │ └── i915_trace_points.c │ │ │ ├── ast │ │ │ ├── Makefile │ │ │ └── Kconfig │ │ │ ├── via │ │ │ └── Makefile │ │ │ ├── ttm │ │ │ └── Makefile │ │ │ ├── vmwgfx │ │ │ ├── Makefile │ │ │ └── Kconfig │ │ │ └── gma500 │ │ │ ├── mid_bios.h │ │ │ ├── Kconfig │ │ │ ├── psb_intel_display.h │ │ │ └── Makefile │ ├── bcma │ │ ├── driver_gmac_cmn.c │ │ ├── Makefile │ │ └── driver_chipcommon_nflash.c │ ├── ssb │ │ └── Makefile │ ├── platform │ │ └── x86 │ │ │ └── intel_ips.h │ └── bluetooth │ │ └── Makefile ├── compat │ ├── scripts │ │ ├── skip-colors │ │ └── compat_firmware_install │ ├── compat-2.6.14.c │ ├── compat-2.6.18.c │ ├── compat-2.6.19.c │ ├── compat-2.6.21.c │ ├── compat-2.6.22.c │ ├── compat-2.6.34.h │ ├── compat_atomic.c │ ├── compat-3.5.c │ └── compat-3.2.c ├── scripts │ ├── skip-colors │ ├── admin-refresh.sh │ ├── admin-clean.sh │ ├── btunload.sh │ ├── compress_modules │ ├── check_config.sh │ └── athenable ├── net │ ├── wireless │ │ ├── trace.c │ │ ├── ethtool.h │ │ ├── sysfs.h │ │ ├── debugfs.h │ │ ├── db.txt │ │ ├── Makefile │ │ └── regdb.h │ ├── bluetooth │ │ ├── bnep │ │ │ ├── Makefile │ │ │ └── Kconfig │ │ ├── cmtp │ │ │ ├── Makefile │ │ │ └── Kconfig │ │ ├── hidp │ │ │ ├── Makefile │ │ │ └── Kconfig │ │ ├── rfcomm │ │ │ ├── Makefile │ │ │ └── Kconfig │ │ └── Makefile │ ├── mac80211 │ │ ├── cfg.h │ │ ├── debugfs.h │ │ ├── debugfs_sta.h │ │ ├── aes_cmac.h │ │ ├── michael.h │ │ ├── debugfs_netdev.h │ │ ├── wme.h │ │ ├── aes_ccm.h │ │ ├── event.c │ │ ├── tkip.h │ │ ├── vht.c │ │ ├── wep.h │ │ └── wpa.h │ └── rfkill │ │ ├── Makefile │ │ └── rfkill.h ├── include │ ├── linux │ │ ├── average.h │ │ ├── kmemleak.h │ │ ├── pci-aspm.h │ │ ├── gpio.h │ │ ├── math64.h │ │ ├── olpc-ec.h │ │ ├── compat-2.6.14.h │ │ ├── export.h │ │ ├── printk.h │ │ ├── pm_qos.h │ │ ├── semaphore.h │ │ ├── compat-2.6.18.h │ │ ├── pm_runtime.h │ │ ├── of.h │ │ ├── bcma │ │ │ └── bcma_soc.h │ │ ├── bcm47xx_wdt.h │ │ ├── compat-2.6.21.h │ │ ├── vga_switcheroo.h │ │ ├── compat-2.6.19.h │ │ ├── compat-2.6.20.h │ │ ├── rfkill.h │ │ ├── ssb │ │ │ ├── ssb_embedded.h │ │ │ └── ssb_driver_mips.h │ │ ├── unaligned │ │ │ ├── be_struct.h │ │ │ ├── le_struct.h │ │ │ ├── be_memmove.h │ │ │ ├── le_memmove.h │ │ │ └── memmove.h │ │ ├── spi │ │ │ └── libertas_spi.h │ │ └── pm_qos_params.h │ ├── trace │ │ └── define_trace.h │ ├── pcmcia │ │ └── cistpl.h │ ├── net │ │ ├── net_namespace.h │ │ └── flow_keys.h │ ├── drm │ │ ├── drm_sysfs.h │ │ ├── drm_usb.h │ │ └── drm_fb_cma_helper.h │ ├── uapi │ │ └── drm │ │ │ └── Kbuild │ └── crypto │ │ └── aes.h ├── udev │ ├── 50-compat_firmware.rules │ ├── ubuntu │ │ └── compat_firmware.sh │ └── compat_firmware.sh ├── enable-older-kernels │ ├── README │ └── enable-2.6.21.patch ├── README.md └── code-metrics.txt ├── htc_9271.fw └── THANKS /COMPAT_VERSION: -------------------------------------------------------------------------------- 1 | compat-drivers-2013-01-26.tar.bz2 2 | -------------------------------------------------------------------------------- /compat-drivers-source/.compat_base: -------------------------------------------------------------------------------- 1 | compat-2013-01-25 2 | -------------------------------------------------------------------------------- /compat-drivers-source/.compat_base_tree: -------------------------------------------------------------------------------- 1 | linux-next.git 2 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/pending-stable/network/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compat-drivers-source/.compat_base_tree_version: -------------------------------------------------------------------------------- 1 | next-20130125 2 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/linux-next-pending/network/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/linux-next-cherry-picks/network/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /compat-drivers-source/.compat_version: -------------------------------------------------------------------------------- 1 | compat-drivers-2013-01-25-1-g3e51785 2 | -------------------------------------------------------------------------------- /htc_9271.fw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ebirbe/tlwn722n-linux-install/HEAD/htc_9271.fw -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/ethernet/broadcom/Makefile: -------------------------------------------------------------------------------- 1 | obj-$(CONFIG_B44) += b44.o 2 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/misc/eeprom/Makefile: -------------------------------------------------------------------------------- 1 | obj-$(CONFIG_EEPROM_93CX6) += eeprom_93cx6.o 2 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ath/ar5523/Makefile: -------------------------------------------------------------------------------- 1 | obj-$(CONFIG_AR5523) := ar5523.o 2 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/pending-stable/.ignore: -------------------------------------------------------------------------------- 1 | ath9k-lock-reset-and-PCU-start-stopping.patch 2 | -------------------------------------------------------------------------------- /compat-drivers-source/compat/scripts/skip-colors: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | perl -pe 's|(\e)\[(\d+)(;*)(\d*)(\w)||g' 3 | -------------------------------------------------------------------------------- /compat-drivers-source/scripts/skip-colors: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | perl -pe 's|(\e)\[(\d+)(;*)(\d*)(\w)||g' 3 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/ethernet/atheros/atlx/Makefile: -------------------------------------------------------------------------------- 1 | obj-$(CONFIG_ATL1) += atl1.o 2 | obj-$(CONFIG_ATL2) += atl2.o 3 | 4 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/rtl818x/Makefile: -------------------------------------------------------------------------------- 1 | obj-$(CONFIG_RTL8180) += rtl8180/ 2 | obj-$(CONFIG_RTL8187) += rtl8187/ 3 | -------------------------------------------------------------------------------- /compat-drivers-source/scripts/admin-refresh.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | ./scripts/admin-clean.sh $@ 3 | ./scripts/admin-update.sh $@ 4 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/drm_trace_points.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define CREATE_TRACE_POINTS 4 | #include "drm_trace.h" 5 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/Makefile: -------------------------------------------------------------------------------- 1 | compat_mdio-y += mdio.o 2 | obj-$(CONFIG_COMPAT_MDIO) += compat_mdio.o 3 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ti/wl12xx/Makefile: -------------------------------------------------------------------------------- 1 | wl12xx-objs = main.o cmd.o acx.o debugfs.o 2 | 3 | obj-$(CONFIG_WL12XX) += wl12xx.o 4 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/ethernet/atheros/atl1c/Makefile: -------------------------------------------------------------------------------- 1 | obj-$(CONFIG_ATL1C) += atl1c.o 2 | atl1c-objs := atl1c_main.o atl1c_hw.o atl1c_ethtool.o 3 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ti/wl18xx/Makefile: -------------------------------------------------------------------------------- 1 | wl18xx-objs = main.o acx.o tx.o io.o debugfs.o 2 | 3 | obj-$(CONFIG_WL18XX) += wl18xx.o 4 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/ethernet/atheros/atl1e/Makefile: -------------------------------------------------------------------------------- 1 | obj-$(CONFIG_ATL1E) += atl1e.o 2 | atl1e-objs += atl1e_main.o atl1e_hw.o atl1e_ethtool.o atl1e_param.o 3 | -------------------------------------------------------------------------------- /compat-drivers-source/net/wireless/trace.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #ifndef __CHECKER__ 4 | #define CREATE_TRACE_POINTS 5 | #include "trace.h" 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/rtl818x/rtl8187/Makefile: -------------------------------------------------------------------------------- 1 | rtl8187-objs := dev.o rtl8225.o leds.o rfkill.o 2 | 3 | obj-$(CONFIG_RTL8187) += rtl8187.o 4 | 5 | ccflags-y += -I$(obj)/.. 6 | -------------------------------------------------------------------------------- /compat-drivers-source/net/bluetooth/bnep/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for the Linux Bluetooth BNEP layer. 3 | # 4 | 5 | obj-$(CONFIG_BT_BNEP) += bnep.o 6 | 7 | bnep-objs := core.o sock.o netdev.o 8 | -------------------------------------------------------------------------------- /compat-drivers-source/net/bluetooth/cmtp/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for the Linux Bluetooth CMTP layer 3 | # 4 | 5 | obj-$(CONFIG_BT_CMTP) += cmtp.o 6 | 7 | cmtp-objs := core.o sock.o capi.o 8 | -------------------------------------------------------------------------------- /compat-drivers-source/net/bluetooth/hidp/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for the Linux Bluetooth HIDP layer 3 | # 4 | 5 | obj-$(CONFIG_COMPAT_BT_HIDP) += hidp.o 6 | 7 | hidp-objs := core.o sock.o 8 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/rtl818x/rtl8180/Makefile: -------------------------------------------------------------------------------- 1 | rtl8180-objs := dev.o rtl8225.o sa2400.o max2820.o grf5101.o 2 | 3 | obj-$(CONFIG_RTL8180) += rtl8180.o 4 | 5 | ccflags-y += -I$(obj)/.. 6 | -------------------------------------------------------------------------------- /compat-drivers-source/net/wireless/ethtool.h: -------------------------------------------------------------------------------- 1 | #ifndef __CFG80211_ETHTOOL__ 2 | #define __CFG80211_ETHTOOL__ 3 | 4 | extern const struct ethtool_ops cfg80211_ethtool_ops; 5 | 6 | #endif /* __CFG80211_ETHTOOL__ */ 7 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/b43/wa.h: -------------------------------------------------------------------------------- 1 | #ifndef B43_WA_H_ 2 | #define B43_WA_H_ 3 | 4 | void b43_wa_initgains(struct b43_wldev *dev); 5 | void b43_wa_all(struct b43_wldev *dev); 6 | 7 | #endif /* B43_WA_H_ */ 8 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/nouveau_ioctl.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_IOCTL_H__ 2 | #define __NOUVEAU_IOCTL_H__ 3 | 4 | long nouveau_compat_ioctl(struct file *, unsigned int cmd, unsigned long arg); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/cirrus/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y := -Iinclude/drm 2 | cirrus-y := cirrus_main.o cirrus_mode.o \ 3 | cirrus_drv.o cirrus_fbdev.o cirrus_ttm.o 4 | 5 | obj-$(CONFIG_COMPAT_DRM_CIRRUS_QEMU) += cirrus.o 6 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ath/carl9170/Makefile: -------------------------------------------------------------------------------- 1 | carl9170-objs := main.o usb.o cmd.o mac.o phy.o led.o fw.o tx.o rx.o 2 | carl9170-$(CONFIG_CARL9170_DEBUGFS) += debug.o 3 | 4 | obj-$(CONFIG_CARL9170) += carl9170.o 5 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/average.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,37)) 4 | #include_next 5 | #endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,37)) */ 6 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/kmemleak.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,30)) 4 | #include_next 5 | #endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25)) */ 6 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/pci-aspm.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25)) 4 | #include_next 5 | #endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25)) */ 6 | -------------------------------------------------------------------------------- /compat-drivers-source/net/mac80211/cfg.h: -------------------------------------------------------------------------------- 1 | /* 2 | * mac80211 configuration hooks for cfg80211 3 | */ 4 | #ifndef __CFG_H 5 | #define __CFG_H 6 | 7 | extern struct cfg80211_ops mac80211_config_ops; 8 | 9 | #endif /* __CFG_H */ 10 | -------------------------------------------------------------------------------- /compat-drivers-source/include/trace/define_trace.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,30)) 4 | #include_next 5 | #endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,30)) */ 6 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/mgag200/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y := -Iinclude/drm 2 | mgag200-y := mgag200_main.o mgag200_mode.o \ 3 | mgag200_drv.o mgag200_fb.o mgag200_i2c.o mgag200_ttm.o 4 | 5 | obj-$(CONFIG_COMPAT_DRM_MGAG200) += mgag200.o 6 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/engine/ppp.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_PPP_H__ 2 | #define __NOUVEAU_PPP_H__ 3 | 4 | extern struct nouveau_oclass nv98_ppp_oclass; 5 | extern struct nouveau_oclass nvc0_ppp_oclass; 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /compat-drivers-source/net/bluetooth/rfcomm/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for the Linux Bluetooth RFCOMM layer. 3 | # 4 | 5 | obj-$(CONFIG_BT_RFCOMM) += rfcomm.o 6 | 7 | rfcomm-y := core.o sock.o 8 | rfcomm-$(CONFIG_COMPAT_BT_RFCOMM_TTY) += tty.o 9 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ti/Makefile: -------------------------------------------------------------------------------- 1 | obj-$(CONFIG_WLCORE) += wlcore/ 2 | obj-$(CONFIG_WL12XX) += wl12xx/ 3 | obj-$(CONFIG_WL12XX_PLATFORM_DATA) += wlcore/ 4 | obj-$(CONFIG_WL1251) += wl1251/ 5 | obj-$(CONFIG_WL18XX) += wl18xx/ 6 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/engine/crypt.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_CRYPT_H__ 2 | #define __NOUVEAU_CRYPT_H__ 3 | 4 | extern struct nouveau_oclass nv84_crypt_oclass; 5 | extern struct nouveau_oclass nv98_crypt_oclass; 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/ethernet/atheros/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for the Atheros network device drivers. 3 | # 4 | 5 | obj-$(CONFIG_ATL1) += atlx/ 6 | obj-$(CONFIG_ATL2) += atlx/ 7 | obj-$(CONFIG_ATL1E) += atl1e/ 8 | obj-$(CONFIG_ATL1C) += atl1c/ 9 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/libertas_tf/Makefile: -------------------------------------------------------------------------------- 1 | libertas_tf-objs := main.o cmd.o 2 | 3 | libertas_tf_usb-objs += if_usb.o 4 | 5 | obj-$(CONFIG_LIBERTAS_THINFIRM) += libertas_tf.o 6 | obj-$(CONFIG_LIBERTAS_THINFIRM_USB) += libertas_tf_usb.o 7 | -------------------------------------------------------------------------------- /compat-drivers-source/udev/50-compat_firmware.rules: -------------------------------------------------------------------------------- 1 | # do not edit this file, it will be overwritten on update 2 | 3 | # compat_firmware-class requests, copies files into the kernel 4 | SUBSYSTEM=="compat_firmware", ACTION=="add", RUN+="compat_firmware.sh" 5 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/i2c/Makefile: -------------------------------------------------------------------------------- 1 | ccflags-y := -Iinclude/drm 2 | 3 | ch7006-y := ch7006_drv.o ch7006_mode.o 4 | obj-$(CONFIG_COMPAT_DRM_I2C_CH7006) += ch7006.o 5 | 6 | sil164-y := sil164_drv.o 7 | obj-$(CONFIG_COMPAT_DRM_I2C_SIL164) += sil164.o 8 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ti/wl18xx/Kconfig: -------------------------------------------------------------------------------- 1 | config WL18XX 2 | tristate "TI wl18xx support" 3 | depends on MAC80211 4 | select WLCORE 5 | ---help--- 6 | This module adds support for wireless adapters based on TI 7 | WiLink 8 chipsets. 8 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/usb/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for USB Network drivers 3 | # 4 | 5 | obj-$(CONFIG_USB_NET_COMPAT_CDCETHER) += cdc_ether.o 6 | obj-$(CONFIG_USB_NET_COMPAT_RNDIS_HOST) += rndis_host.o 7 | obj-$(CONFIG_USB_COMPAT_USBNET) += usbnet.o 8 | 9 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/engine/graph/nv50.h: -------------------------------------------------------------------------------- 1 | #ifndef __NV50_GRAPH_H__ 2 | #define __NV50_GRAPH_H__ 3 | 4 | int nv50_grctx_init(struct nouveau_device *, u32 *size); 5 | void nv50_grctx_fill(struct nouveau_device *, struct nouveau_gpuobj *); 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/b43/sysfs.h: -------------------------------------------------------------------------------- 1 | #ifndef B43_SYSFS_H_ 2 | #define B43_SYSFS_H_ 3 | 4 | struct b43_wldev; 5 | 6 | int b43_sysfs_register(struct b43_wldev *dev); 7 | void b43_sysfs_unregister(struct b43_wldev *dev); 8 | 9 | #endif /* B43_SYSFS_H_ */ 10 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/rtlwifi/rtl8192c/Makefile: -------------------------------------------------------------------------------- 1 | rtl8192c-common-objs := \ 2 | main.o \ 3 | dm_common.o \ 4 | fw_common.o \ 5 | phy_common.o 6 | 7 | obj-$(CONFIG_RTL8192C_COMMON) += rtl8192c-common.o 8 | 9 | ccflags-y += -D__CHECK_ENDIAN__ 10 | -------------------------------------------------------------------------------- /compat-drivers-source/net/wireless/sysfs.h: -------------------------------------------------------------------------------- 1 | #ifndef __WIRELESS_SYSFS_H 2 | #define __WIRELESS_SYSFS_H 3 | 4 | extern int wiphy_sysfs_init(void); 5 | extern void wiphy_sysfs_exit(void); 6 | 7 | extern struct class ieee80211_class; 8 | 9 | #endif /* __WIRELESS_SYSFS_H */ 10 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/engine/vp.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_VP_H__ 2 | #define __NOUVEAU_VP_H__ 3 | 4 | extern struct nouveau_oclass nv84_vp_oclass; 5 | extern struct nouveau_oclass nvc0_vp_oclass; 6 | extern struct nouveau_oclass nve0_vp_oclass; 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/nouveau_vga.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_VGA_H__ 2 | #define __NOUVEAU_VGA_H__ 3 | 4 | void nouveau_vga_init(struct nouveau_drm *); 5 | void nouveau_vga_fini(struct nouveau_drm *); 6 | void nouveau_vga_lastclose(struct drm_device *dev); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/engine/bsp.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_BSP_H__ 2 | #define __NOUVEAU_BSP_H__ 3 | 4 | extern struct nouveau_oclass nv84_bsp_oclass; 5 | extern struct nouveau_oclass nvc0_bsp_oclass; 6 | extern struct nouveau_oclass nve0_bsp_oclass; 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/rtlwifi/rtl8192ce/Makefile: -------------------------------------------------------------------------------- 1 | rtl8192ce-objs := \ 2 | dm.o \ 3 | hw.o \ 4 | led.o \ 5 | phy.o \ 6 | rf.o \ 7 | sw.o \ 8 | table.o \ 9 | trx.o 10 | 11 | obj-$(CONFIG_RTL8192CE) += rtl8192ce.o 12 | 13 | ccflags-y += -D__CHECK_ENDIAN__ 14 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/radeon/radeon_trace_points.c: -------------------------------------------------------------------------------- 1 | /* Copyright Red Hat Inc 2010. 2 | * Author : Dave Airlie 3 | */ 4 | #include 5 | #include 6 | #include "radeon.h" 7 | 8 | #define CREATE_TRACE_POINTS 9 | #include "radeon_trace.h" 10 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/p54/Makefile: -------------------------------------------------------------------------------- 1 | p54common-objs := eeprom.o fwio.o txrx.o main.o 2 | p54common-$(CONFIG_P54_LEDS) += led.o 3 | 4 | obj-$(CONFIG_P54_COMMON) += p54common.o 5 | obj-$(CONFIG_P54_USB) += p54usb.o 6 | obj-$(CONFIG_P54_PCI) += p54pci.o 7 | obj-$(CONFIG_P54_SPI) += p54spi.o 8 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/zd1211rw/Makefile: -------------------------------------------------------------------------------- 1 | obj-$(CONFIG_COMPAT_ZD1211RW) += zd1211rw.o 2 | 3 | zd1211rw-objs := zd_chip.o zd_mac.o \ 4 | zd_rf_al2230.o zd_rf_rf2959.o \ 5 | zd_rf_al7230b.o zd_rf_uw2453.o \ 6 | zd_rf.o zd_usb.o 7 | 8 | ccflags-$(CONFIG_ZD1211RW_DEBUG) := -DDEBUG 9 | 10 | -------------------------------------------------------------------------------- /compat-drivers-source/include/pcmcia/cistpl.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36) 4 | #include 5 | #endif 6 | #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,37) 7 | #include 8 | #endif 9 | 10 | #include_next 11 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/nouveau_agp.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_AGP_H__ 2 | #define __NOUVEAU_AGP_H__ 3 | 4 | struct nouveau_drm; 5 | 6 | void nouveau_agp_reset(struct nouveau_drm *); 7 | void nouveau_agp_init(struct nouveau_drm *); 8 | void nouveau_agp_fini(struct nouveau_drm *); 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/b43/rfkill.h: -------------------------------------------------------------------------------- 1 | #ifndef B43_RFKILL_H_ 2 | #define B43_RFKILL_H_ 3 | 4 | struct ieee80211_hw; 5 | struct b43_wldev; 6 | 7 | void b43_rfkill_poll(struct ieee80211_hw *hw); 8 | 9 | bool b43_is_hw_radio_enabled(struct b43_wldev *dev); 10 | 11 | #endif /* B43_RFKILL_H_ */ 12 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/rtlwifi/rtl8192cu/Makefile: -------------------------------------------------------------------------------- 1 | rtl8192cu-objs := \ 2 | dm.o \ 3 | hw.o \ 4 | led.o \ 5 | mac.o \ 6 | phy.o \ 7 | rf.o \ 8 | sw.o \ 9 | table.o \ 10 | trx.o 11 | 12 | obj-$(CONFIG_RTL8192CU) += rtl8192cu.o 13 | 14 | ccflags-y += -D__CHECK_ENDIAN__ 15 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/rtlwifi/rtl8192de/Makefile: -------------------------------------------------------------------------------- 1 | rtl8192de-objs := \ 2 | dm.o \ 3 | fw.o \ 4 | hw.o \ 5 | led.o \ 6 | phy.o \ 7 | rf.o \ 8 | sw.o \ 9 | table.o \ 10 | trx.o 11 | 12 | obj-$(CONFIG_RTL8192DE) += rtl8192de.o 13 | 14 | ccflags-y += -D__CHECK_ENDIAN__ 15 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/i810/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for the drm device driver. This driver provides support for the 3 | # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. 4 | 5 | ccflags-y := -Iinclude/drm 6 | i810-y := i810_drv.o i810_dma.o 7 | 8 | obj-$(CONFIG_COMPAT_DRM_I810) += i810.o 9 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/rtlwifi/rtl8192se/Makefile: -------------------------------------------------------------------------------- 1 | rtl8192se-objs := \ 2 | dm.o \ 3 | fw.o \ 4 | hw.o \ 5 | led.o \ 6 | phy.o \ 7 | rf.o \ 8 | sw.o \ 9 | table.o \ 10 | trx.o 11 | 12 | obj-$(CONFIG_RTL8192SE) += rtl8192se.o 13 | 14 | ccflags-y += -D__CHECK_ENDIAN__ 15 | 16 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/i915/i915_trace_points.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright © 2009 Intel Corporation 3 | * 4 | * Authors: 5 | * Chris Wilson 6 | */ 7 | 8 | #include "i915_drv.h" 9 | 10 | #ifndef __CHECKER__ 11 | #define CREATE_TRACE_POINTS 12 | #include "i915_trace.h" 13 | #endif 14 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/subdev/bios/bit.h: -------------------------------------------------------------------------------- 1 | #ifndef __NVBIOS_BIT_H__ 2 | #define __NVBIOS_BIT_H__ 3 | 4 | struct bit_entry { 5 | u8 id; 6 | u8 version; 7 | u16 length; 8 | u16 offset; 9 | }; 10 | 11 | int bit_entry(struct nouveau_bios *, u8 id, struct bit_entry *); 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/subdev/bios/mxm.h: -------------------------------------------------------------------------------- 1 | #ifndef __NVBIOS_MXM_H__ 2 | #define __NVBIOS_MXM_H__ 3 | 4 | u16 mxm_table(struct nouveau_bios *, u8 *ver, u8 *hdr); 5 | 6 | u8 mxm_sor_map(struct nouveau_bios *, u8 conn); 7 | u8 mxm_ddc_map(struct nouveau_bios *, u8 port); 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/rtl818x/rtl8187/rfkill.h: -------------------------------------------------------------------------------- 1 | #ifndef RTL8187_RFKILL_H 2 | #define RTL8187_RFKILL_H 3 | 4 | void rtl8187_rfkill_init(struct ieee80211_hw *hw); 5 | void rtl8187_rfkill_poll(struct ieee80211_hw *hw); 6 | void rtl8187_rfkill_exit(struct ieee80211_hw *hw); 7 | 8 | #endif /* RTL8187_RFKILL_H */ 9 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/b43legacy/sysfs.h: -------------------------------------------------------------------------------- 1 | #ifndef B43legacy_SYSFS_H_ 2 | #define B43legacy_SYSFS_H_ 3 | 4 | struct b43legacy_wldev; 5 | 6 | int b43legacy_sysfs_register(struct b43legacy_wldev *dev); 7 | void b43legacy_sysfs_unregister(struct b43legacy_wldev *dev); 8 | 9 | #endif /* B43legacy_SYSFS_H_ */ 10 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ath/carl9170/version.h: -------------------------------------------------------------------------------- 1 | #ifndef __CARL9170_SHARED_VERSION_H 2 | #define __CARL9170_SHARED_VERSION_H 3 | #define CARL9170FW_VERSION_YEAR 12 4 | #define CARL9170FW_VERSION_MONTH 12 5 | #define CARL9170FW_VERSION_DAY 15 6 | #define CARL9170FW_VERSION_GIT "1.9.7" 7 | #endif /* __CARL9170_SHARED_VERSION_H */ 8 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/subdev/bios/perf.h: -------------------------------------------------------------------------------- 1 | #ifndef __NVBIOS_PERF_H__ 2 | #define __NVBIOS_PERF_H__ 3 | 4 | struct nouveau_bios; 5 | 6 | struct nvbios_perf_fan { 7 | u32 pwm_divisor; 8 | }; 9 | 10 | int 11 | nvbios_perf_fan_parse(struct nouveau_bios *, struct nvbios_perf_fan *); 12 | 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/gpio.h: -------------------------------------------------------------------------------- 1 | #ifndef _COMPAT_LINUX_GPIO_H 2 | #define _COMPAT_LINUX_GPIO_H 1 3 | 4 | #include 5 | 6 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)) 7 | #include_next 8 | #endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)) */ 9 | 10 | #endif /* _COMPAT_LINUX_GPIO_H */ 11 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/libertas/debugfs.h: -------------------------------------------------------------------------------- 1 | #ifndef _LBS_DEBUGFS_H_ 2 | #define _LBS_DEBUGFS_H_ 3 | 4 | void lbs_debugfs_init(void); 5 | void lbs_debugfs_remove(void); 6 | 7 | void lbs_debugfs_init_one(struct lbs_private *priv, struct net_device *dev); 8 | void lbs_debugfs_remove_one(struct lbs_private *priv); 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/math64.h: -------------------------------------------------------------------------------- 1 | #ifndef _COMPAT_LINUX_MATH64_H 2 | #define _COMPAT_LINUX_MATH64_H 1 3 | 4 | #include 5 | 6 | #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25)) 7 | #include_next 8 | #endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25)) */ 9 | 10 | #endif /* _COMPAT_LINUX_MATH64_H */ 11 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/olpc-ec.h: -------------------------------------------------------------------------------- 1 | #ifndef _COMPAT_LINUX_OLPC_EC_H 2 | #define _COMPAT_LINUX_OLPC_EC_H 3 | 4 | #include 5 | 6 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)) 7 | #include_next 8 | #endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(3,6,0)) */ 9 | 10 | #endif /* _COMPAT_LINUX_OLPC_EC_H */ 11 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/b43legacy/rfkill.h: -------------------------------------------------------------------------------- 1 | #ifndef B43legacy_RFKILL_H_ 2 | #define B43legacy_RFKILL_H_ 3 | 4 | struct ieee80211_hw; 5 | struct b43legacy_wldev; 6 | 7 | void b43legacy_rfkill_poll(struct ieee80211_hw *hw); 8 | 9 | bool b43legacy_is_hw_radio_enabled(struct b43legacy_wldev *dev); 10 | 11 | #endif /* B43legacy_RFKILL_H_ */ 12 | -------------------------------------------------------------------------------- /compat-drivers-source/net/rfkill/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for the RF switch subsystem. 3 | # 4 | 5 | rfkill_backport-y += core.o 6 | rfkill_backport-$(CONFIG_RFKILL_BACKPORT_INPUT) += input.o 7 | obj-$(CONFIG_RFKILL_BACKPORT) += rfkill_backport.o 8 | obj-$(CONFIG_RFKILL_REGULATOR) += rfkill-regulator.o 9 | obj-$(CONFIG_RFKILL_GPIO) += rfkill-gpio.o 10 | -------------------------------------------------------------------------------- /compat-drivers-source/scripts/admin-clean.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | if [ -d net ] ; then 3 | make clean 4 | fi 5 | rm -rf net 6 | rm -rf drivers 7 | rm -rf include 8 | rm -rf compat 9 | rm -rf udev 10 | rm -f .compat_base_tree 11 | rm -f .compat_base_tree_version 12 | rm -f .compat_version 13 | rm -f code-metrics.txt 14 | echo "Cleaned compat-drivers" 15 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/68-do-not-add-Werror.patch: -------------------------------------------------------------------------------- 1 | --- a/drivers/net/wireless/ath/wil6210/Makefile 2 | +++ b/drivers/net/wireless/ath/wil6210/Makefile 3 | @@ -9,5 +9,4 @@ wil6210-objs += wmi.o 4 | wil6210-objs += interrupt.o 5 | wil6210-objs += txrx.o 6 | 7 | -subdir-ccflags-y += -Werror 8 | subdir-ccflags-y += -D__CHECK_ENDIAN__ 9 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/ast/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for the drm device driver. This driver provides support for the 3 | # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. 4 | 5 | ccflags-y := -Iinclude/drm 6 | 7 | ast-y := ast_drv.o ast_main.o ast_mode.o ast_fb.o ast_ttm.o ast_post.o 8 | 9 | obj-$(CONFIG_COMPAT_DRM_AST) := ast.o 10 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/core/math.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_MATH_H__ 2 | #define __NOUVEAU_MATH_H__ 3 | 4 | static inline int 5 | log2i(u64 base) 6 | { 7 | u64 temp = base >> 1; 8 | int log2; 9 | 10 | for (log2 = 0; temp; log2++, temp >>= 1) { 11 | } 12 | 13 | return (base & (base - 1)) ? log2 + 1: log2; 14 | } 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/bcma/driver_gmac_cmn.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Broadcom specific AMBA 3 | * GBIT MAC COMMON Core 4 | * 5 | * Licensed under the GNU/GPL. See COPYING for details. 6 | */ 7 | 8 | #include "bcma_private.h" 9 | #include 10 | 11 | void bcma_core_gmac_cmn_init(struct bcma_drv_gmac_cmn *gc) 12 | { 13 | mutex_init(&gc->phy_mutex); 14 | } 15 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ipw2x00/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for the Intel Centrino wireless drivers 3 | # 4 | 5 | obj-$(CONFIG_IPW2100) += ipw2100.o 6 | obj-$(CONFIG_IPW2200) += ipw2200.o 7 | 8 | obj-$(CONFIG_LIBIPW) += libipw.o 9 | libipw-objs := \ 10 | libipw_module.o \ 11 | libipw_tx.o \ 12 | libipw_rx.o \ 13 | libipw_wx.o \ 14 | libipw_geo.o 15 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ath/ar5523/Kconfig: -------------------------------------------------------------------------------- 1 | config AR5523 2 | tristate "Atheros AR5523 wireless driver support" 3 | depends on MAC80211 && USB 4 | select ATH_COMMON 5 | select FW_LOADER 6 | ---help--- 7 | This module add support for AR5523 based USB dongles such as D-Link 8 | DWL-G132, Netgear WPN111 and many more. 9 | -------------------------------------------------------------------------------- /compat-drivers-source/include/net/net_namespace.h: -------------------------------------------------------------------------------- 1 | #ifndef _COMPAT_NET_NET_NAMESPACE_H 2 | #define _COMPAT_NET_NET_NAMESPACE_H 1 3 | 4 | #include 5 | 6 | #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,23)) 7 | #include_next 8 | #endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,23)) */ 9 | 10 | #endif /* _COMPAT_NET_NET_NAMESPACE_H */ 11 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/via/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for the drm device driver. This driver provides support for the 3 | # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. 4 | 5 | ccflags-y := -Iinclude/drm 6 | via-y := via_irq.o via_drv.o via_map.o via_mm.o via_dma.o via_verifier.o via_video.o via_dmablit.o 7 | 8 | obj-$(CONFIG_COMPAT_DRM_VIA) +=via.o 9 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ath/wil6210/Makefile: -------------------------------------------------------------------------------- 1 | obj-$(CONFIG_WIL6210) += wil6210.o 2 | 3 | wil6210-objs := main.o 4 | wil6210-objs += netdev.o 5 | wil6210-objs += cfg80211.o 6 | wil6210-objs += pcie_bus.o 7 | wil6210-objs += debugfs.o 8 | wil6210-objs += wmi.o 9 | wil6210-objs += interrupt.o 10 | wil6210-objs += txrx.o 11 | 12 | subdir-ccflags-y += -D__CHECK_ENDIAN__ 13 | -------------------------------------------------------------------------------- /compat-drivers-source/net/wireless/debugfs.h: -------------------------------------------------------------------------------- 1 | #ifndef __CFG80211_DEBUGFS_H 2 | #define __CFG80211_DEBUGFS_H 3 | 4 | #ifdef CONFIG_CFG80211_DEBUGFS 5 | void cfg80211_debugfs_rdev_add(struct cfg80211_registered_device *rdev); 6 | #else 7 | static inline 8 | void cfg80211_debugfs_rdev_add(struct cfg80211_registered_device *rdev) {} 9 | #endif 10 | 11 | #endif /* __CFG80211_DEBUGFS_H */ 12 | -------------------------------------------------------------------------------- /compat-drivers-source/include/drm/drm_sysfs.h: -------------------------------------------------------------------------------- 1 | #ifndef _DRM_SYSFS_H_ 2 | #define _DRM_SYSFS_H_ 3 | 4 | /** 5 | * This minimalistic include file is intended for users (read TTM) that 6 | * don't want to include the full drmP.h file. 7 | */ 8 | 9 | extern int drm_class_device_register(struct device *dev); 10 | extern void drm_class_device_unregister(struct device *dev); 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/compat-2.6.14.h: -------------------------------------------------------------------------------- 1 | #ifndef LINUX_26_14_COMPAT_H 2 | #define LINUX_26_14_COMPAT_H 3 | 4 | #include 5 | 6 | /* Compat work for 2.6.14 */ 7 | #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)) 8 | 9 | typedef unsigned int gfp_t; 10 | 11 | #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)) */ 12 | 13 | #endif /* LINUX_26_14_COMPAT_H */ 14 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/export.h: -------------------------------------------------------------------------------- 1 | #ifndef _COMPAT_LINUX_EXPORT_H 2 | #define _COMPAT_LINUX_EXPORT_H 1 3 | 4 | #include 5 | 6 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) 7 | #include_next 8 | #else 9 | #include 10 | #endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) */ 11 | 12 | #endif /* _COMPAT_LINUX_EXPORT_H */ 13 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/printk.h: -------------------------------------------------------------------------------- 1 | #ifndef _COMPAT_LINUX_PRINTK_H 2 | #define _COMPAT_LINUX_PRINTK_H 1 3 | 4 | #include 5 | 6 | #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,36)) 7 | #include_next 8 | #else 9 | #include 10 | #endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,35)) */ 11 | 12 | #endif /* _COMPAT_LINUX_PRINTK_H */ 13 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/core/debug.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_DEBUG_H__ 2 | #define __NOUVEAU_DEBUG_H__ 3 | 4 | #define NV_DBG_FATAL 0 5 | #define NV_DBG_ERROR 1 6 | #define NV_DBG_WARN 2 7 | #define NV_DBG_INFO 3 8 | #define NV_DBG_DEBUG 4 9 | #define NV_DBG_TRACE 5 10 | #define NV_DBG_PARANOIA 6 11 | #define NV_DBG_SPAM 7 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/subdev/clock/pll.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_PLL_H__ 2 | #define __NOUVEAU_PLL_H__ 3 | 4 | int nv04_pll_calc(struct nouveau_clock *, struct nvbios_pll *, u32 freq, 5 | int *N1, int *M1, int *N2, int *M2, int *P); 6 | int nva3_pll_calc(struct nouveau_clock *, struct nvbios_pll *, u32 freq, 7 | int *N, int *fN, int *M, int *P); 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/orinoco/wext.h: -------------------------------------------------------------------------------- 1 | /* Wireless extensions support. 2 | * 3 | * See copyright notice in main.c 4 | */ 5 | #ifndef _ORINOCO_WEXT_H_ 6 | #define _ORINOCO_WEXT_H_ 7 | 8 | #include 9 | 10 | /* Structure defining all our WEXT handlers */ 11 | extern const struct iw_handler_def orinoco_handler_def; 12 | 13 | #endif /* _ORINOCO_WEXT_H_ */ 14 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/unified-drivers/network/0002-enable-alx.patch: -------------------------------------------------------------------------------- 1 | Once upstream this will not be required. 2 | 3 | --- a/drivers/net/ethernet/atheros/Makefile 4 | +++ b/drivers/net/ethernet/atheros/Makefile 5 | @@ -6,3 +6,4 @@ obj-$(CONFIG_ATL1) += atlx/ 6 | obj-$(CONFIG_ATL2) += atlx/ 7 | obj-$(CONFIG_ATL1E) += atl1e/ 8 | obj-$(CONFIG_ATL1C) += atl1c/ 9 | +obj-$(CONFIG_ALX) += alx/ 10 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/pm_qos.h: -------------------------------------------------------------------------------- 1 | #ifndef _COMPAT_LINUX_PM_QOS_H 2 | #define _COMPAT_LINUX_PM_QOS_H 1 3 | 4 | #include 5 | 6 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) 7 | #include_next 8 | #else 9 | #include 10 | #endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) */ 11 | 12 | #endif /* _COMPAT_LINUX_PM_QOS_H */ 13 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/core/option.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_OPTION_H__ 2 | #define __NOUVEAU_OPTION_H__ 3 | 4 | #include 5 | 6 | const char *nouveau_stropt(const char *optstr, const char *opt, int *len); 7 | bool nouveau_boolopt(const char *optstr, const char *opt, bool value); 8 | 9 | int nouveau_dbgopt(const char *optstr, const char *sub); 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ti/wl1251/Makefile: -------------------------------------------------------------------------------- 1 | wl1251-objs = main.o event.o tx.o rx.o ps.o cmd.o \ 2 | acx.o boot.o init.o debugfs.o io.o 3 | wl1251_spi-objs += spi.o 4 | wl1251_sdio-objs += sdio.o 5 | 6 | obj-$(CONFIG_WL1251) += wl1251.o 7 | obj-$(CONFIG_COMPAT_WL1251_SPI)+= wl1251_spi.o 8 | obj-$(CONFIG_COMPAT_WL1251_SDIO)+= wl1251_sdio.o 9 | 10 | ccflags-y += -D__CHECK_ENDIAN__ 11 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/semaphore.h: -------------------------------------------------------------------------------- 1 | #ifndef _COMPAT_LINUX_SEMAPHORE_H 2 | #define _COMPAT_LINUX_SEMAPHORE_H 1 3 | 4 | #include 5 | 6 | #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25)) 7 | #include_next 8 | #else 9 | #include 10 | #endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,25)) */ 11 | 12 | #endif /* _COMPAT_LINUX_SEMAPHORE_H */ 13 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/compat-2.6.18.h: -------------------------------------------------------------------------------- 1 | #ifndef LINUX_26_18_COMPAT_H 2 | #define LINUX_26_18_COMPAT_H 3 | 4 | #include 5 | 6 | /* Compat work for 2.6.18 */ 7 | #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)) 8 | 9 | #define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y)) 10 | 11 | #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)) */ 12 | 13 | #endif /* LINUX_26_18_COMPAT_H */ 14 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/orinoco/cfg.h: -------------------------------------------------------------------------------- 1 | /* cfg80211 support. 2 | * 3 | * See copyright notice in main.c 4 | */ 5 | #ifndef ORINOCO_CFG_H 6 | #define ORINOCO_CFG_H 7 | 8 | #include 9 | 10 | extern const struct cfg80211_ops orinoco_cfg_ops; 11 | 12 | void orinoco_wiphy_init(struct wiphy *wiphy); 13 | int orinoco_wiphy_register(struct wiphy *wiphy); 14 | 15 | #endif /* ORINOCO_CFG_H */ 16 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/pm_runtime.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #ifndef __COMPAT_LINUX_PM_RUNTIME_H 4 | #define __COMPAT_LINUX_PM_RUNTIME_H 5 | 6 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)) 7 | #include_next 8 | #else 9 | 10 | static inline void pm_runtime_enable(struct device *dev) {} 11 | 12 | #endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)) */ 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /compat-drivers-source/net/bluetooth/cmtp/Kconfig: -------------------------------------------------------------------------------- 1 | config BT_CMTP 2 | tristate "CMTP protocol support" 3 | depends on BT && ISDN_CAPI 4 | help 5 | CMTP (CAPI Message Transport Protocol) is a transport layer 6 | for CAPI messages. CMTP is required for the Bluetooth Common 7 | ISDN Access Profile. 8 | 9 | Say Y here to compile CMTP support into the kernel or say M to 10 | compile it as module (cmtp). 11 | 12 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ti/wl12xx/Kconfig: -------------------------------------------------------------------------------- 1 | config WL12XX 2 | tristate "TI wl12xx support" 3 | depends on MAC80211 4 | select WLCORE 5 | ---help--- 6 | This module adds support for wireless adapters based on TI wl1271, 7 | wl1273, wl1281 and wl1283 chipsets. This module does *not* include 8 | support for wl1251. For wl1251 support, use the separate homonymous 9 | driver instead. 10 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/of.h: -------------------------------------------------------------------------------- 1 | #ifndef _COMPAT_LINUX_OF_H 2 | #define _COMPAT_LINUX_OF_H 1 3 | 4 | #include 5 | 6 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34)) 7 | #include_next 8 | #else 9 | 10 | #ifdef CONFIG_OF 11 | #include_next 12 | #endif /* CONFIG_OF */ 13 | 14 | #endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34)) */ 15 | 16 | #endif /* _COMPAT_LINUX_OF_H */ 17 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/rtlwifi/rtl8723ae/Makefile: -------------------------------------------------------------------------------- 1 | obj-m := rtl8723ae.o 2 | 3 | 4 | rtl8723ae-objs := \ 5 | dm.o \ 6 | fw.o \ 7 | hal_btc.o \ 8 | hal_bt_coexist.o\ 9 | hw.o \ 10 | led.o \ 11 | phy.o \ 12 | pwrseq.o \ 13 | pwrseqcmd.o \ 14 | rf.o \ 15 | sw.o \ 16 | table.o \ 17 | trx.o \ 18 | 19 | 20 | obj-$(CONFIG_RTL8723AE) += rtl8723ae.o 21 | 22 | ccflags-y += -D__CHECK_ENDIAN__ 23 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/bcma/bcma_soc.h: -------------------------------------------------------------------------------- 1 | #ifndef LINUX_BCMA_SOC_H_ 2 | #define LINUX_BCMA_SOC_H_ 3 | 4 | #include 5 | 6 | struct bcma_soc { 7 | struct bcma_bus bus; 8 | struct bcma_device core_cc; 9 | struct bcma_device core_mips; 10 | }; 11 | 12 | int __init bcma_host_soc_register(struct bcma_soc *soc); 13 | 14 | int bcma_bus_register(struct bcma_bus *bus); 15 | 16 | #endif /* LINUX_BCMA_SOC_H_ */ 17 | -------------------------------------------------------------------------------- /compat-drivers-source/net/bluetooth/hidp/Kconfig: -------------------------------------------------------------------------------- 1 | config BT_HIDP 2 | tristate "HIDP protocol support" 3 | depends on BT && INPUT 4 | select HID 5 | help 6 | HIDP (Human Interface Device Protocol) is a transport layer 7 | for HID reports. HIDP is required for the Bluetooth Human 8 | Interface Device Profile. 9 | 10 | Say Y here to compile HIDP support into the kernel or say M to 11 | compile it as module (hidp). 12 | 13 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/subdev/vm/nv04.h: -------------------------------------------------------------------------------- 1 | #ifndef __NV04_VMMGR_PRIV__ 2 | #define __NV04_VMMGR_PRIV__ 3 | 4 | #include 5 | 6 | struct nv04_vmmgr_priv { 7 | struct nouveau_vmmgr base; 8 | struct nouveau_vm *vm; 9 | dma_addr_t null; 10 | void *nullp; 11 | }; 12 | 13 | static inline struct nv04_vmmgr_priv * 14 | nv04_vmmgr(void *obj) 15 | { 16 | return (void *)nouveau_vmmgr(obj); 17 | } 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/b43/pcmcia.h: -------------------------------------------------------------------------------- 1 | #ifndef B43_PCMCIA_H_ 2 | #define B43_PCMCIA_H_ 3 | 4 | #ifdef CONFIG_B43_PCMCIA 5 | 6 | int b43_pcmcia_init(void); 7 | void b43_pcmcia_exit(void); 8 | 9 | #else /* CONFIG_B43_PCMCIA */ 10 | 11 | static inline int b43_pcmcia_init(void) 12 | { 13 | return 0; 14 | } 15 | static inline void b43_pcmcia_exit(void) 16 | { 17 | } 18 | 19 | #endif /* CONFIG_B43_PCMCIA */ 20 | #endif /* B43_PCMCIA_H_ */ 21 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/engine/copy.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_COPY_H__ 2 | #define __NOUVEAU_COPY_H__ 3 | 4 | void nva3_copy_intr(struct nouveau_subdev *); 5 | 6 | extern struct nouveau_oclass nva3_copy_oclass; 7 | extern struct nouveau_oclass nvc0_copy0_oclass; 8 | extern struct nouveau_oclass nvc0_copy1_oclass; 9 | extern struct nouveau_oclass nve0_copy0_oclass; 10 | extern struct nouveau_oclass nve0_copy1_oclass; 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /compat-drivers-source/net/bluetooth/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for the Linux Bluetooth subsystem. 3 | # 4 | 5 | obj-$(CONFIG_BT) += bluetooth.o 6 | obj-$(CONFIG_BT_RFCOMM) += rfcomm/ 7 | obj-$(CONFIG_BT_BNEP) += bnep/ 8 | obj-$(CONFIG_BT_CMTP) += cmtp/ 9 | obj-$(CONFIG_COMPAT_BT_HIDP) += hidp/ 10 | 11 | bluetooth-y := af_bluetooth.o hci_core.o hci_conn.o hci_event.o mgmt.o \ 12 | hci_sock.o hci_sysfs.o l2cap_core.o l2cap_sock.o smp.o sco.o lib.o \ 13 | a2mp.o amp.o 14 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/cirrus/Kconfig: -------------------------------------------------------------------------------- 1 | config DRM_CIRRUS_QEMU 2 | tristate "Cirrus driver for QEMU emulated device" 3 | depends on DRM && PCI 4 | select FB_SYS_FILLRECT 5 | select FB_SYS_COPYAREA 6 | select FB_SYS_IMAGEBLIT 7 | select DRM_KMS_HELPER 8 | select DRM_TTM 9 | help 10 | This is a KMS driver for emulated cirrus device in qemu. 11 | It is *NOT* intended for real cirrus devices. This requires 12 | the modesetting userspace X.org driver. 13 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ath/Makefile: -------------------------------------------------------------------------------- 1 | obj-$(CONFIG_ATH5K) += ath5k/ 2 | obj-$(CONFIG_ATH9K_HW) += ath9k/ 3 | obj-$(CONFIG_CARL9170) += carl9170/ 4 | obj-$(CONFIG_ATH6KL) += ath6kl/ 5 | obj-$(CONFIG_AR5523) += ar5523/ 6 | obj-$(CONFIG_WIL6210) += wil6210/ 7 | 8 | obj-$(CONFIG_ATH_COMMON) += ath.o 9 | 10 | ath-objs := main.o \ 11 | regd.o \ 12 | hw.o \ 13 | key.o 14 | 15 | ath-$(CONFIG_ATH_DEBUG) += debug.o 16 | ccflags-y += -D__CHECK_ENDIAN__ 17 | -------------------------------------------------------------------------------- /compat-drivers-source/net/mac80211/debugfs.h: -------------------------------------------------------------------------------- 1 | #ifndef __MAC80211_DEBUGFS_H 2 | #define __MAC80211_DEBUGFS_H 3 | 4 | #ifdef CONFIG_MAC80211_DEBUGFS 5 | void debugfs_hw_add(struct ieee80211_local *local); 6 | int __printf(4, 5) mac80211_format_buffer(char __user *userbuf, size_t count, 7 | loff_t *ppos, char *fmt, ...); 8 | #else 9 | static inline void debugfs_hw_add(struct ieee80211_local *local) 10 | { 11 | } 12 | #endif 13 | 14 | #endif /* __MAC80211_DEBUGFS_H */ 15 | -------------------------------------------------------------------------------- /compat-drivers-source/include/drm/drm_usb.h: -------------------------------------------------------------------------------- 1 | #ifndef DRM_USB_H 2 | #define DRM_USB_H 3 | 4 | #include 5 | 6 | #include 7 | 8 | extern int drm_usb_init(struct drm_driver *driver, struct usb_driver *udriver); 9 | extern void drm_usb_exit(struct drm_driver *driver, struct usb_driver *udriver); 10 | 11 | int drm_get_usb_dev(struct usb_interface *interface, 12 | const struct usb_device_id *id, 13 | struct drm_driver *driver); 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/42-netlink_seq.patch: -------------------------------------------------------------------------------- 1 | --- a/net/wireless/nl80211.c 2 | +++ b/net/wireless/nl80211.c 3 | @@ -4987,7 +4987,9 @@ static int nl80211_dump_scan(struct sk_b 4 | spin_lock_bh(&rdev->bss_lock); 5 | cfg80211_bss_expire(rdev); 6 | 7 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) 8 | cb->seq = rdev->bss_generation; 9 | +#endif 10 | 11 | list_for_each_entry(scan, &rdev->bss_list, list) { 12 | if (++idx <= start) 13 | -------------------------------------------------------------------------------- /compat-drivers-source/compat/compat-2.6.14.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2007 Luis R. Rodriguez 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 2 as 6 | * published by the Free Software Foundation. 7 | * 8 | * Compatibility file for Linux wireless for kernels 2.6.14. 9 | */ 10 | 11 | #include 12 | 13 | /* 2.6.14 compat code goes here */ 14 | 15 | -------------------------------------------------------------------------------- /compat-drivers-source/compat/compat-2.6.18.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2007 Luis R. Rodriguez 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 2 as 6 | * published by the Free Software Foundation. 7 | * 8 | * Compatibility file for Linux wireless for kernels 2.6.18. 9 | */ 10 | 11 | #include 12 | 13 | /* 2.6.18 compat code goes here */ 14 | 15 | -------------------------------------------------------------------------------- /compat-drivers-source/compat/compat-2.6.19.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2007 Luis R. Rodriguez 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 2 as 6 | * published by the Free Software Foundation. 7 | * 8 | * Compatibility file for Linux wireless for kernels 2.6.19. 9 | */ 10 | 11 | #include 12 | 13 | /* 2.6.19 compat code goes here */ 14 | 15 | -------------------------------------------------------------------------------- /compat-drivers-source/compat/compat-2.6.21.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2007 Luis R. Rodriguez 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 2 as 6 | * published by the Free Software Foundation. 7 | * 8 | * Compatibility file for Linux wireless for kernels 2.6.21. 9 | */ 10 | 11 | #include 12 | 13 | /* 2.6.21 compat code goes here */ 14 | 15 | -------------------------------------------------------------------------------- /compat-drivers-source/compat/compat-2.6.22.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2007 Luis R. Rodriguez 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 2 as 6 | * published by the Free Software Foundation. 7 | * 8 | * Compatibility file for Linux wireless for kernels 2.6.22. 9 | */ 10 | 11 | #include 12 | 13 | /* 2.6.22 compat code goes here */ 14 | 15 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/iwlwifi/dvm/Makefile: -------------------------------------------------------------------------------- 1 | # DVM 2 | obj-$(CONFIG_IWLDVM) += iwldvm.o 3 | iwldvm-objs += main.o rs.o mac80211.o ucode.o tx.o 4 | iwldvm-objs += lib.o calib.o tt.o sta.o rx.o 5 | 6 | iwldvm-objs += power.o 7 | iwldvm-objs += scan.o led.o 8 | iwldvm-objs += rxon.o devices.o 9 | 10 | iwldvm-$(CONFIG_IWLWIFI_DEBUGFS) += debugfs.o 11 | iwldvm-$(CONFIG_IWLWIFI_DEVICE_TESTMODE) += testmode.o 12 | 13 | ccflags-y += -D__CHECK_ENDIAN__ -I$(src)/../ 14 | -------------------------------------------------------------------------------- /compat-drivers-source/include/uapi/drm/Kbuild: -------------------------------------------------------------------------------- 1 | # UAPI Header export list 2 | header-y += drm.h 3 | header-y += drm_fourcc.h 4 | header-y += drm_mode.h 5 | header-y += drm_sarea.h 6 | header-y += exynos_drm.h 7 | header-y += i810_drm.h 8 | header-y += i915_drm.h 9 | header-y += mga_drm.h 10 | header-y += nouveau_drm.h 11 | header-y += r128_drm.h 12 | header-y += radeon_drm.h 13 | header-y += savage_drm.h 14 | header-y += sis_drm.h 15 | header-y += via_drm.h 16 | header-y += vmwgfx_drm.h 17 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/ttm/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for the drm device driver. This driver provides support for the 3 | 4 | ccflags-y := -Iinclude/drm 5 | ttm-y := ttm_agp_backend.o ttm_memory.o ttm_tt.o ttm_bo.o \ 6 | ttm_bo_util.o ttm_bo_vm.o ttm_module.o \ 7 | ttm_object.o ttm_lock.o ttm_execbuf_util.o ttm_page_alloc.o \ 8 | ttm_bo_manager.o 9 | 10 | ifeq ($(CONFIG_SWIOTLB),y) 11 | ttm-y += ttm_page_alloc_dma.o 12 | endif 13 | 14 | obj-$(CONFIG_COMPAT_DRM_TTM) += ttm.o 15 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/bcm47xx_wdt.h: -------------------------------------------------------------------------------- 1 | #ifndef LINUX_BCM47XX_WDT_H_ 2 | #define LINUX_BCM47XX_WDT_H_ 3 | 4 | #include 5 | 6 | 7 | struct bcm47xx_wdt { 8 | u32 (*timer_set)(struct bcm47xx_wdt *, u32); 9 | u32 (*timer_set_ms)(struct bcm47xx_wdt *, u32); 10 | u32 max_timer_ms; 11 | 12 | void *driver_data; 13 | }; 14 | 15 | static inline void *bcm47xx_wdt_get_drvdata(struct bcm47xx_wdt *wdt) 16 | { 17 | return wdt->driver_data; 18 | } 19 | #endif /* LINUX_BCM47XX_WDT_H_ */ 20 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/compat-2.6.21.h: -------------------------------------------------------------------------------- 1 | #ifndef LINUX_26_21_COMPAT_H 2 | #define LINUX_26_21_COMPAT_H 3 | 4 | #include 5 | 6 | /* Compat work for 2.6.21 */ 7 | #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,21)) 8 | 9 | #include 10 | 11 | #define register_sysctl_table(table) \ 12 | ({ \ 13 | register_sysctl_table((table), 0); \ 14 | }) 15 | 16 | #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,21)) */ 17 | 18 | #endif /* LINUX_26_21_COMPAT_H */ 19 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/nouveau_irq.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_IRQ_H__ 2 | #define __NOUVEAU_IRQ_H__ 3 | 4 | extern int nouveau_irq_init(struct drm_device *); 5 | extern void nouveau_irq_fini(struct drm_device *); 6 | extern irqreturn_t nouveau_irq_handler(DRM_IRQ_ARGS); 7 | extern void nouveau_irq_preinstall(struct drm_device *); 8 | extern int nouveau_irq_postinstall(struct drm_device *); 9 | extern void nouveau_irq_uninstall(struct drm_device *); 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/vmwgfx/Makefile: -------------------------------------------------------------------------------- 1 | 2 | ccflags-y := -Iinclude/drm 3 | 4 | vmwgfx-y := vmwgfx_execbuf.o vmwgfx_gmr.o vmwgfx_kms.o vmwgfx_drv.o \ 5 | vmwgfx_fb.o vmwgfx_ioctl.o vmwgfx_resource.o vmwgfx_buffer.o \ 6 | vmwgfx_fifo.o vmwgfx_irq.o vmwgfx_ldu.o vmwgfx_ttm_glue.o \ 7 | vmwgfx_overlay.o vmwgfx_marker.o vmwgfx_gmrid_manager.o \ 8 | vmwgfx_fence.o vmwgfx_dmabuf.o vmwgfx_scrn.o vmwgfx_context.o \ 9 | vmwgfx_surface.o 10 | 11 | obj-$(CONFIG_COMPAT_DRM_VMWGFX) := vmwgfx.o 12 | -------------------------------------------------------------------------------- /compat-drivers-source/net/mac80211/debugfs_sta.h: -------------------------------------------------------------------------------- 1 | #ifndef __MAC80211_DEBUGFS_STA_H 2 | #define __MAC80211_DEBUGFS_STA_H 3 | 4 | #include "sta_info.h" 5 | 6 | #ifdef CONFIG_MAC80211_DEBUGFS 7 | void ieee80211_sta_debugfs_add(struct sta_info *sta); 8 | void ieee80211_sta_debugfs_remove(struct sta_info *sta); 9 | #else 10 | static inline void ieee80211_sta_debugfs_add(struct sta_info *sta) {} 11 | static inline void ieee80211_sta_debugfs_remove(struct sta_info *sta) {} 12 | #endif 13 | 14 | #endif /* __MAC80211_DEBUGFS_STA_H */ 15 | -------------------------------------------------------------------------------- /compat-drivers-source/scripts/btunload.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | MODULES="$MODULES ath3k bcm203x bluecard_cs bnep bpa10x bt3c_cs btmrvl btmrvl_sdio btsdio" 3 | MODULES="$MODULES btusb btuart_cs cmtp dtl1_cs hidp hci_vhci hci_uart rfcomm sco bluetooth l2cap" 4 | echo Stoping bluetooth service.. 5 | /etc/init.d/bluetooth stop 6 | /etc/init.d/bluetooth status 7 | 8 | for i in $MODULES; do 9 | grep ^$i /proc/modules 2>&1 > /dev/null 10 | if [ $? -eq 0 ]; then 11 | echo Unloading $i... 12 | modprobe -r --ignore-remove $i 13 | fi 14 | done 15 | -------------------------------------------------------------------------------- /compat-drivers-source/compat/compat-2.6.34.h: -------------------------------------------------------------------------------- 1 | #ifndef LINUX_26_34_COMPAT_PRIVATE_H 2 | #define LINUX_26_34_COMPAT_PRIVATE_H 3 | 4 | #include 5 | 6 | #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,34)) 7 | 8 | #include 9 | 10 | void init_compat_mmc_pm_flags(void); 11 | 12 | #else /* Kernels >= 2.6.34 */ 13 | 14 | static inline void init_compat_mmc_pm_flags(void) 15 | { 16 | } 17 | 18 | #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,34)) */ 19 | 20 | #endif /* LINUX_26_34_COMPAT_PRIVATE_H */ 21 | -------------------------------------------------------------------------------- /compat-drivers-source/include/net/flow_keys.h: -------------------------------------------------------------------------------- 1 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)) 2 | #include_next 3 | #else 4 | 5 | #ifndef _NET_FLOW_KEYS_H 6 | #define _NET_FLOW_KEYS_H 7 | 8 | struct flow_keys { 9 | /* (src,dst) must be grouped, in the same way than in IP header */ 10 | __be32 src; 11 | __be32 dst; 12 | union { 13 | __be32 ports; 14 | __be16 port16[2]; 15 | }; 16 | u8 ip_proto; 17 | }; 18 | 19 | extern bool skb_flow_dissect(const struct sk_buff *skb, struct flow_keys *flow); 20 | #endif 21 | #endif 22 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/ast/Kconfig: -------------------------------------------------------------------------------- 1 | config DRM_AST 2 | tristate "AST server chips" 3 | depends on DRM && PCI 4 | select DRM_TTM 5 | select FB_SYS_COPYAREA 6 | select FB_SYS_FILLRECT 7 | select FB_SYS_IMAGEBLIT 8 | select DRM_KMS_HELPER 9 | select DRM_TTM 10 | help 11 | Say yes for experimental AST GPU driver. Do not enable 12 | this driver without having a working -modesetting, 13 | and a version of AST that knows to fail if KMS 14 | is bound to the driver. These GPUs are commonly found 15 | in server chipsets. 16 | 17 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ti/wlcore/Makefile: -------------------------------------------------------------------------------- 1 | wlcore-objs = main.o cmd.o io.o event.o tx.o rx.o ps.o acx.o \ 2 | boot.o init.o debugfs.o scan.o 3 | 4 | wlcore_spi-objs = spi.o 5 | wlcore_sdio-objs = sdio.o 6 | 7 | wlcore-$(CONFIG_NL80211_TESTMODE) += testmode.o 8 | obj-$(CONFIG_WLCORE) += wlcore.o 9 | obj-$(CONFIG_WLCORE_SPI) += wlcore_spi.o 10 | obj-$(CONFIG_WLCORE_SDIO) += wlcore_sdio.o 11 | 12 | # small builtin driver bit 13 | obj-$(CONFIG_WL12XX_PLATFORM_DATA) += wl12xx_platform_data.o 14 | 15 | ccflags-y += -D__CHECK_ENDIAN__ 16 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/36-workqueue.patch: -------------------------------------------------------------------------------- 1 | Backport commit 99b88a0ecbdbc6df03527292571b2b442965814a 2 | The rest is backported in include/linux/compat-2.6.37.h 3 | 4 | --- a/net/mac80211/main.c 5 | +++ b/net/mac80211/main.c 6 | @@ -1133,6 +1133,10 @@ static void __exit ieee80211_exit(void) 7 | rc80211_minstrel_ht_exit(); 8 | rc80211_minstrel_exit(); 9 | 10 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,37)) 11 | + flush_scheduled_work(); 12 | +#endif 13 | + 14 | if (mesh_allocated) 15 | ieee80211s_stop(); 16 | 17 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/subdev/bios/init.h: -------------------------------------------------------------------------------- 1 | #ifndef __NVBIOS_INIT_H__ 2 | #define __NVBIOS_INIT_H__ 3 | 4 | struct nvbios_init { 5 | struct nouveau_subdev *subdev; 6 | struct nouveau_bios *bios; 7 | u16 offset; 8 | struct dcb_output *outp; 9 | int crtc; 10 | 11 | /* internal state used during parsing */ 12 | u8 execute; 13 | u32 nested; 14 | u16 repeat; 15 | u16 repend; 16 | u32 ramcfg; 17 | }; 18 | 19 | int nvbios_exec(struct nvbios_init *); 20 | int nvbios_init(struct nouveau_subdev *, bool execute); 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ti/Kconfig: -------------------------------------------------------------------------------- 1 | menuconfig WL_TI 2 | bool "TI Wireless LAN support" 3 | ---help--- 4 | This section contains support for all the wireless drivers 5 | for Texas Instruments WLAN chips, such as wl1251 and the wl12xx 6 | family. 7 | 8 | if WL_TI 9 | source "drivers/net/wireless/ti/wl1251/Kconfig" 10 | source "drivers/net/wireless/ti/wl12xx/Kconfig" 11 | source "drivers/net/wireless/ti/wl18xx/Kconfig" 12 | 13 | # keep last for automatic dependencies 14 | source "drivers/net/wireless/ti/wlcore/Kconfig" 15 | endif # WL_TI 16 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/67-fix-section-mismatch.patch: -------------------------------------------------------------------------------- 1 | --- a/drivers/net/wireless/ath/ath5k/led.c 2 | +++ b/drivers/net/wireless/ath/ath5k/led.c 3 | @@ -55,7 +55,7 @@ 4 | #define ATH_POLARITY(data) ((data) & 0xff) 5 | 6 | /* Devices we match on for LED config info (typically laptops) */ 7 | -static DEFINE_PCI_DEVICE_TABLE(ath5k_led_devices) = { 8 | +static const struct pci_device_id ath5k_led_devices[] = { 9 | /* AR5211 */ 10 | { PCI_VDEVICE(ATHEROS, PCI_DEVICE_ID_ATHEROS_AR5211), ATH_LED(0, 0) }, 11 | /* HP Compaq nc6xx, nc4000, nx6000 */ 12 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/vga_switcheroo.h: -------------------------------------------------------------------------------- 1 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34)) 2 | /* 3 | * XXX: The include guard was sent upstream, drop this 4 | * once the guard is merged. 5 | */ 6 | #ifndef LINUX_VGA_SWITCHEROO_H /* in case this gets upstream */ 7 | #include_next 8 | #ifndef LINUX_VGA_SWITCHEROO_H /* do not redefine once this gets upstream */ 9 | #define LINUX_VGA_SWITCHEROO_H 10 | #endif /* case 1 LINUX_VGA_SWITCHEROO_H */ 11 | #endif /* case 2 LINUX_VGA_SWITCHEROO_H */ 12 | #endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34)) */ 13 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/core/enum.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_ENUM_H__ 2 | #define __NOUVEAU_ENUM_H__ 3 | 4 | struct nouveau_enum { 5 | u32 value; 6 | const char *name; 7 | const void *data; 8 | }; 9 | 10 | const struct nouveau_enum * 11 | nouveau_enum_find(const struct nouveau_enum *, u32 value); 12 | 13 | void 14 | nouveau_enum_print(const struct nouveau_enum *en, u32 value); 15 | 16 | struct nouveau_bitfield { 17 | u32 mask; 18 | const char *name; 19 | }; 20 | 21 | void nouveau_bitfield_print(const struct nouveau_bitfield *, u32 value); 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /THANKS: -------------------------------------------------------------------------------- 1 | Gracias a todas las paginas web (a sus autores) que me ayudaron con 2 | informacion, respuestas y tutoriales. 3 | 4 | http://www.google.com (Obviamente!) 5 | 6 | http://foro.elhacker.net/materiales_y_equipos/tplink_tlwn722n-t286698.0.html;msg1456405#msg1456405 7 | 8 | http://iie.fing.edu.uy/~vagonbar/unixbas/shprog.htm#test 9 | 10 | http://www.cyberciti.biz/tips/shell-root-user-check-script.html 11 | 12 | http://help.github.com/create-a-repo/ 13 | http://help.github.com/remotes/ 14 | 15 | http://linuxwireless.org/en/users/Download 16 | http://linuxwireless.org/en/users/Drivers/ath9k_htc 17 | -------------------------------------------------------------------------------- /compat-drivers-source/compat/scripts/compat_firmware_install: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ -f /usr/bin/lsb_release ]; then 4 | LSB_RED_ID=$(/usr/bin/lsb_release -i -s) 5 | else 6 | LSB_RED_ID="Unknown" 7 | fi 8 | 9 | case $LSB_RED_ID in 10 | "Ubuntu") 11 | mkdir -p /lib/udev/ /lib/udev/rules.d/ 12 | cp udev/ubuntu/compat_firmware.sh /lib/udev/ 13 | cp udev/50-compat_firmware.rules /lib/udev/rules.d/ 14 | ;; 15 | *) 16 | mkdir -p /lib/udev/ /lib/udev/rules.d/ 17 | cp udev/compat_firmware.sh /lib/udev/ 18 | cp udev/50-compat_firmware.rules /lib/udev/rules.d/ 19 | ;; 20 | esac 21 | 22 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/iwlegacy/Makefile: -------------------------------------------------------------------------------- 1 | obj-$(CONFIG_IWLEGACY) += iwlegacy.o 2 | iwlegacy-objs := common.o 3 | iwlegacy-$(CONFIG_IWLEGACY_DEBUGFS) += debug.o 4 | 5 | iwlegacy-objs += $(iwlegacy-m) 6 | 7 | # 4965 8 | obj-$(CONFIG_COMPAT_IWL4965) += iwl4965.o 9 | iwl4965-objs := 4965.o 4965-mac.o 4965-rs.o 4965-calib.o 10 | iwl4965-$(CONFIG_IWLEGACY_DEBUGFS) += 4965-debug.o 11 | 12 | # 3945 13 | obj-$(CONFIG_IWL3945) += iwl3945.o 14 | iwl3945-objs := 3945-mac.o 3945.o 3945-rs.o 15 | iwl3945-$(CONFIG_IWLEGACY_DEBUGFS) += 3945-debug.o 16 | 17 | ccflags-y += -D__CHECK_ENDIAN__ 18 | -------------------------------------------------------------------------------- /compat-drivers-source/net/bluetooth/rfcomm/Kconfig: -------------------------------------------------------------------------------- 1 | config BT_RFCOMM 2 | tristate "RFCOMM protocol support" 3 | depends on BT 4 | help 5 | RFCOMM provides connection oriented stream transport. RFCOMM 6 | support is required for Dialup Networking, OBEX and other Bluetooth 7 | applications. 8 | 9 | Say Y here to compile RFCOMM support into the kernel or say M to 10 | compile it as module (rfcomm). 11 | 12 | config BT_RFCOMM_TTY 13 | bool "RFCOMM TTY support" 14 | depends on BT_RFCOMM 15 | depends on TTY 16 | help 17 | This option enables TTY emulation support for RFCOMM channels. 18 | 19 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/mgag200/Kconfig: -------------------------------------------------------------------------------- 1 | config DRM_MGAG200 2 | tristate "Kernel modesetting driver for MGA G200 server engines" 3 | depends on DRM && PCI 4 | select FB_SYS_FILLRECT 5 | select FB_SYS_COPYAREA 6 | select FB_SYS_IMAGEBLIT 7 | select DRM_KMS_HELPER 8 | select DRM_TTM 9 | help 10 | This is a KMS driver for the MGA G200 server chips, it 11 | does not support the original MGA G200 or any of the desktop 12 | chips. It requires 0.3.0 of the modesetting userspace driver, 13 | and a version of mga driver that will fail on KMS enabled 14 | devices. 15 | 16 | -------------------------------------------------------------------------------- /compat-drivers-source/include/crypto/aes.h: -------------------------------------------------------------------------------- 1 | #ifndef _COMPAT_CRYPTO_AES_H 2 | #define _COMPAT_CRYPTO_AES_H 3 | 4 | #include 5 | 6 | #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,24)) 7 | #include_next 8 | #else 9 | 10 | #define AES_MIN_KEY_SIZE 16 11 | #define AES_MAX_KEY_SIZE 32 12 | #define AES_KEYSIZE_128 16 13 | #define AES_KEYSIZE_192 24 14 | #define AES_KEYSIZE_256 32 15 | #define AES_BLOCK_SIZE 16 16 | #define AES_MAX_KEYLENGTH (15 * 16) 17 | #define AES_MAX_KEYLENGTH_U32 (AES_MAX_KEYLENGTH / sizeof(u32)) 18 | 19 | #endif /* (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,24)) */ 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/orinoco/mic.h: -------------------------------------------------------------------------------- 1 | /* Orinoco MIC helpers 2 | * 3 | * See copyright notice in main.c 4 | */ 5 | #ifndef _ORINOCO_MIC_H_ 6 | #define _ORINOCO_MIC_H_ 7 | 8 | #include 9 | 10 | #define MICHAEL_MIC_LEN 8 11 | 12 | /* Forward declarations */ 13 | struct orinoco_private; 14 | struct crypto_hash; 15 | 16 | int orinoco_mic_init(struct orinoco_private *priv); 17 | void orinoco_mic_free(struct orinoco_private *priv); 18 | int orinoco_mic(struct crypto_hash *tfm_michael, u8 *key, 19 | u8 *da, u8 *sa, u8 priority, 20 | u8 *data, size_t data_len, u8 *mic); 21 | 22 | #endif /* ORINOCO_MIC_H */ 23 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/README: -------------------------------------------------------------------------------- 1 | 2 | compat-drivers collateral evolutions patches 3 | ============================================ 4 | 5 | You must have a really good reason to be adding files 6 | in this directory. Your reasoning should either match the 7 | explanation already present on the top of each patch file 8 | or you should add your own. 9 | 10 | We try to avoid having patch files because: 11 | 12 | * Its a pain in the ass to maintain them. 13 | 14 | * Most backport changes can be pulled off through 15 | some macro magic or new files which implement 16 | the new functionality on the old kernels. 17 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/b43legacy/Makefile: -------------------------------------------------------------------------------- 1 | # b43legacy core 2 | b43legacy-y += main.o 3 | b43legacy-y += ilt.o 4 | b43legacy-y += phy.o 5 | b43legacy-y += radio.o 6 | b43legacy-y += sysfs.o 7 | b43legacy-y += xmit.o 8 | # b43 RFKILL button support 9 | b43legacy-y += rfkill.o 10 | # b43legacy LED support 11 | b43legacy-$(CONFIG_B43LEGACY_LEDS) += leds.o 12 | # b43legacy debugging 13 | b43legacy-$(CONFIG_B43LEGACY_DEBUG) += debugfs.o 14 | # b43legacy DMA and PIO 15 | b43legacy-$(CONFIG_B43LEGACY_DMA) += dma.o 16 | b43legacy-$(CONFIG_B43LEGACY_PIO) += pio.o 17 | 18 | obj-$(CONFIG_B43LEGACY) += b43legacy.o 19 | 20 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/compat-2.6.19.h: -------------------------------------------------------------------------------- 1 | #ifndef LINUX_26_19_COMPAT_H 2 | #define LINUX_26_19_COMPAT_H 3 | 4 | #include 5 | 6 | /* Compat work for 2.6.19 */ 7 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)) 8 | 9 | #include 10 | 11 | static inline int 12 | compat_kmem_cache_destroy(struct kmem_cache *cachep) 13 | { 14 | #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)) 15 | return kmem_cache_destroy(cachep); 16 | #else 17 | kmem_cache_destroy(cachep); 18 | return 0; 19 | #endif 20 | } 21 | 22 | #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)) */ 23 | 24 | #endif /* LINUX_26_19_COMPAT_H */ 25 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/43-rename_pm_qos_request.patch: -------------------------------------------------------------------------------- 1 | --- a/drivers/net/wireless/ipw2x00/ipw2100.c 2 | +++ b/drivers/net/wireless/ipw2x00/ipw2100.c 3 | @@ -175,7 +175,11 @@ that only one external action is invoked 4 | #define DRV_DESCRIPTION "Intel(R) PRO/Wireless 2100 Network Driver" 5 | #define DRV_COPYRIGHT "Copyright(c) 2003-2006 Intel Corporation" 6 | 7 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,2,0)) 8 | +static struct pm_qos_request_list ipw2100_pm_qos_req; 9 | +#else 10 | static struct pm_qos_request ipw2100_pm_qos_req; 11 | +#endif 12 | 13 | /* Debugging stuff */ 14 | #ifdef CONFIG_IPW2100_DEBUG 15 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ath/ath5k/Makefile: -------------------------------------------------------------------------------- 1 | ath5k-y += caps.o 2 | ath5k-y += initvals.o 3 | ath5k-y += eeprom.o 4 | ath5k-y += gpio.o 5 | ath5k-y += desc.o 6 | ath5k-y += dma.o 7 | ath5k-y += qcu.o 8 | ath5k-y += pcu.o 9 | ath5k-y += phy.o 10 | ath5k-y += reset.o 11 | ath5k-y += attach.o 12 | ath5k-y += base.o 13 | ath5k-y += led.o 14 | ath5k-y += rfkill.o 15 | ath5k-y += ani.o 16 | ath5k-y += sysfs.o 17 | ath5k-y += mac80211-ops.o 18 | ath5k-$(CONFIG_ATH5K_DEBUG) += debug.o 19 | ath5k-$(CONFIG_ATH5K_AHB) += ahb.o 20 | ath5k-$(CONFIG_ATH5K_PCI) += pci.o 21 | obj-$(CONFIG_ATH5K) += ath5k.o 22 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/47-no_trans_start_on_netdev_queue.patch: -------------------------------------------------------------------------------- 1 | The struct netdev_queue does not have the attribute trans_start in 2 | kernel < 2.6.31. trans_start on struct net_device does the same 3 | on older kernels. 4 | 5 | --- a/drivers/net/wireless/mwifiex/init.c 6 | +++ b/drivers/net/wireless/mwifiex/init.c 7 | @@ -375,8 +375,10 @@ void mwifiex_set_trans_start(struct net_ 8 | { 9 | int i; 10 | 11 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)) 12 | for (i = 0; i < dev->num_tx_queues; i++) 13 | netdev_get_tx_queue(dev, i)->trans_start = jiffies; 14 | +#endif 15 | 16 | dev->trans_start = jiffies; 17 | } 18 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/crap/README: -------------------------------------------------------------------------------- 1 | 2 | compat-drivers crap patches 3 | ============================ 4 | 5 | If you are including patches into this directory you 6 | must be fixing some critical bug for a customer which needs 7 | immediate release or immediate testing. 8 | 9 | Alternatively you would use this to apply some sort of 10 | crap code you are maintaining. 11 | 12 | You must have a really good reason to be adding files 13 | in this directory. If possible you should explain your 14 | reasoning of why the patch is getting included here and 15 | not upstream and why it hasn't even yet been posted. 16 | 17 | You should avoid these patches at all costs. 18 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/compat-2.6.20.h: -------------------------------------------------------------------------------- 1 | #ifndef LINUX_26_20_COMPAT_H 2 | #define LINUX_26_20_COMPAT_H 3 | 4 | #include 5 | 6 | /* Compat work for 2.6.20 */ 7 | #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)) 8 | 9 | #include 10 | 11 | typedef void (*work_func_t)(struct work_struct *work); 12 | typedef void (*compat_work_func_t)(void *work); 13 | static inline void (INIT_WORK)(struct work_struct *work, work_func_t func) 14 | { 15 | INIT_WORK(work, (compat_work_func_t)func, work); 16 | } 17 | #undef INIT_WORK 18 | 19 | #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)) */ 20 | 21 | #endif /* LINUX_26_20_COMPAT_H */ 22 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/drm/05-i915-define-acpi-video-class.patch: -------------------------------------------------------------------------------- 1 | The definition of ACPI_VIDEO_CLASS was moved from video.c 2 | to video.h in 3.1. Define it here to fix build for kernels older 3 | than 3.1. 4 | 5 | --- a/drivers/gpu/drm/i915/intel_opregion.c 6 | +++ b/drivers/gpu/drm/i915/intel_opregion.c 7 | @@ -307,6 +307,9 @@ static int intel_opregion_video_event(st 8 | struct acpi_bus_event *event = data; 9 | int ret = NOTIFY_OK; 10 | 11 | +#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0)) 12 | +#define ACPI_VIDEO_CLASS "video" 13 | +#endif 14 | if (strcmp(event->device_class, ACPI_VIDEO_CLASS) != 0) 15 | return NOTIFY_DONE; 16 | 17 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/subdev/mxm/mxms.h: -------------------------------------------------------------------------------- 1 | #ifndef __NVMXM_MXMS_H__ 2 | #define __NVMXM_MXMS_H__ 3 | 4 | struct mxms_odev { 5 | u8 outp_type; 6 | u8 conn_type; 7 | u8 ddc_port; 8 | u8 dig_conn; 9 | }; 10 | 11 | void mxms_output_device(struct nouveau_mxm *, u8 *, struct mxms_odev *); 12 | 13 | u16 mxms_version(struct nouveau_mxm *); 14 | u16 mxms_headerlen(struct nouveau_mxm *); 15 | u16 mxms_structlen(struct nouveau_mxm *); 16 | bool mxms_checksum(struct nouveau_mxm *); 17 | bool mxms_valid(struct nouveau_mxm *); 18 | 19 | bool mxms_foreach(struct nouveau_mxm *, u8, 20 | bool (*)(struct nouveau_mxm *, u8 *, void *), void *); 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/engine/graph/nv40.h: -------------------------------------------------------------------------------- 1 | #ifndef __NV40_GRAPH_H__ 2 | #define __NV40_GRAPH_H__ 3 | 4 | /* returns 1 if device is one of the nv4x using the 0x4497 object class, 5 | * helpful to determine a number of other hardware features 6 | */ 7 | static inline int 8 | nv44_graph_class(void *priv) 9 | { 10 | struct nouveau_device *device = nv_device(priv); 11 | 12 | if ((device->chipset & 0xf0) == 0x60) 13 | return 1; 14 | 15 | return !(0x0baf & (1 << (device->chipset & 0x0f))); 16 | } 17 | 18 | int nv40_grctx_init(struct nouveau_device *, u32 *size); 19 | void nv40_grctx_fill(struct nouveau_device *, struct nouveau_gpuobj *); 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/rfkill.h: -------------------------------------------------------------------------------- 1 | #ifndef __COMPAT_RFKILL_H 2 | #define __COMPAT_RFKILL_H 3 | 4 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)) 5 | 6 | #include_next 7 | 8 | #else 9 | 10 | #include 11 | 12 | #undef CONFIG_RFKILL 13 | #undef CONFIG_RFKILL_INPUT 14 | #undef CONFIG_RFKILL_LEDS 15 | 16 | #ifdef CONFIG_RFKILL_BACKPORT 17 | #define CONFIG_RFKILL 1 18 | #endif 19 | 20 | #ifdef CONFIG_RFKILL_BACKPORT_INPUT 21 | #define CONFIG_RFKILL_INPUT 22 | #endif 23 | 24 | #ifdef CONFIG_RFKILL_BACKPORT_LEDS 25 | #define CONFIG_RFKILL_LEDS 26 | #endif 27 | 28 | #include 29 | 30 | #endif 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/orinoco/scan.h: -------------------------------------------------------------------------------- 1 | /* Helpers for managing scan queues 2 | * 3 | * See copyright notice in main.c 4 | */ 5 | #ifndef _ORINOCO_SCAN_H_ 6 | #define _ORINOCO_SCAN_H_ 7 | 8 | /* Forward declarations */ 9 | struct orinoco_private; 10 | struct agere_ext_scan_info; 11 | 12 | /* Add scan results */ 13 | void orinoco_add_extscan_result(struct orinoco_private *priv, 14 | struct agere_ext_scan_info *atom, 15 | size_t len); 16 | void orinoco_add_hostscan_results(struct orinoco_private *dev, 17 | unsigned char *buf, 18 | size_t len); 19 | void orinoco_scan_done(struct orinoco_private *priv, bool abort); 20 | 21 | #endif /* _ORINOCO_SCAN_H_ */ 22 | -------------------------------------------------------------------------------- /compat-drivers-source/net/mac80211/aes_cmac.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2008, Jouni Malinen 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 2 as 6 | * published by the Free Software Foundation. 7 | */ 8 | 9 | #ifndef AES_CMAC_H 10 | #define AES_CMAC_H 11 | 12 | #include 13 | 14 | struct crypto_cipher * ieee80211_aes_cmac_key_setup(const u8 key[]); 15 | void ieee80211_aes_cmac(struct crypto_cipher *tfm, const u8 *aad, 16 | const u8 *data, size_t data_len, u8 *mic); 17 | void ieee80211_aes_cmac_key_free(struct crypto_cipher *tfm); 18 | 19 | #endif /* AES_CMAC_H */ 20 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/15-symbol-export-conflicts.patch: -------------------------------------------------------------------------------- 1 | In kernel < 2.6.32 libipw also exports ieee80211_rx. 2 | To avoid conflicts with the other export we rename our. 3 | 4 | --- a/net/mac80211/rx.c 5 | +++ b/net/mac80211/rx.c 6 | @@ -3273,7 +3273,12 @@ void ieee80211_rx(struct ieee80211_hw *h 7 | drop: 8 | kfree_skb(skb); 9 | } 10 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)) 11 | EXPORT_SYMBOL(ieee80211_rx); 12 | +#else 13 | +EXPORT_SYMBOL(mac80211_ieee80211_rx); 14 | +#endif 15 | + 16 | 17 | /* This is a version of the rx handler that can be called from hard irq 18 | * context. Post the skb on the queue and schedule the tasklet */ 19 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/iwlwifi/Makefile: -------------------------------------------------------------------------------- 1 | # common 2 | obj-$(CONFIG_IWLWIFI) += iwlwifi.o 3 | iwlwifi-objs += iwl-io.o 4 | iwlwifi-objs += iwl-drv.o 5 | iwlwifi-objs += iwl-debug.o 6 | iwlwifi-objs += iwl-notif-wait.o 7 | iwlwifi-objs += iwl-eeprom-read.o iwl-eeprom-parse.o 8 | iwlwifi-objs += pcie/drv.o pcie/rx.o pcie/tx.o pcie/trans.o 9 | iwlwifi-objs += pcie/1000.o pcie/2000.o pcie/5000.o pcie/6000.o 10 | 11 | iwlwifi-$(CONFIG_IWLWIFI_DEVICE_TRACING) += iwl-devtrace.o 12 | iwlwifi-$(CONFIG_IWLWIFI_DEVICE_TESTMODE) += iwl-test.o 13 | 14 | ccflags-y += -D__CHECK_ENDIAN__ -I$(src) 15 | 16 | 17 | obj-$(CONFIG_IWLDVM) += dvm/ 18 | 19 | CFLAGS_iwl-devtrace.o := -I$(src) 20 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ipw2x00/ipw.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Intel Pro/Wireless 2100, 2200BG, 2915ABG network connection driver 3 | * 4 | * Copyright 2012 Stanislav Yakovlev 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License version 2 as 8 | * published by the Free Software Foundation. 9 | */ 10 | 11 | #ifndef __IPW_H__ 12 | #define __IPW_H__ 13 | 14 | #include 15 | 16 | static const u32 ipw_cipher_suites[] = { 17 | WLAN_CIPHER_SUITE_WEP40, 18 | WLAN_CIPHER_SUITE_WEP104, 19 | WLAN_CIPHER_SUITE_TKIP, 20 | WLAN_CIPHER_SUITE_CCMP, 21 | }; 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/subdev/bios/i2c.h: -------------------------------------------------------------------------------- 1 | #ifndef __NVBIOS_I2C_H__ 2 | #define __NVBIOS_I2C_H__ 3 | 4 | struct nouveau_bios; 5 | 6 | enum dcb_i2c_type { 7 | DCB_I2C_NV04_BIT = 0, 8 | DCB_I2C_NV4E_BIT = 4, 9 | DCB_I2C_NVIO_BIT = 5, 10 | DCB_I2C_NVIO_AUX = 6, 11 | DCB_I2C_UNUSED = 0xff 12 | }; 13 | 14 | struct dcb_i2c_entry { 15 | enum dcb_i2c_type type; 16 | u8 drive; 17 | u8 sense; 18 | u32 data; 19 | }; 20 | 21 | u16 dcb_i2c_table(struct nouveau_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len); 22 | u16 dcb_i2c_entry(struct nouveau_bios *, u8 index, u8 *ver, u8 *len); 23 | int dcb_i2c_parse(struct nouveau_bios *, u8 index, struct dcb_i2c_entry *); 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/orinoco/fw.h: -------------------------------------------------------------------------------- 1 | /* Firmware file reading and download helpers 2 | * 3 | * See copyright notice in main.c 4 | */ 5 | #ifndef _ORINOCO_FW_H_ 6 | #define _ORINOCO_FW_H_ 7 | 8 | /* Forward declations */ 9 | struct orinoco_private; 10 | 11 | int orinoco_download(struct orinoco_private *priv); 12 | 13 | #if defined(CONFIG_HERMES_CACHE_FW_ON_INIT) || defined(CONFIG_PM_SLEEP) 14 | void orinoco_cache_fw(struct orinoco_private *priv, int ap); 15 | void orinoco_uncache_fw(struct orinoco_private *priv); 16 | #else 17 | #define orinoco_cache_fw(priv, ap) do { } while (0) 18 | #define orinoco_uncache_fw(priv) do { } while (0) 19 | #endif 20 | 21 | #endif /* _ORINOCO_FW_H_ */ 22 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/12-iw_handler-changes.patch: -------------------------------------------------------------------------------- 1 | --- a/drivers/net/wireless/ipw2x00/ipw2100.c 2 | +++ b/drivers/net/wireless/ipw2x00/ipw2100.c 3 | @@ -6106,7 +6106,11 @@ static struct net_device *ipw2100_alloc_ 4 | netdev_attach_ops(dev, &ipw2100_netdev_ops); 5 | dev->ethtool_ops = &ipw2100_ethtool_ops; 6 | dev->wireless_handlers = &ipw2100_wx_handler_def; 7 | +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,31)) 8 | priv->wireless_data.libipw = priv->ieee; 9 | +#else 10 | + priv->wireless_data.ieee80211 = (struct ieee80211_device *) priv->ieee; 11 | +#endif 12 | dev->wireless_data = &priv->wireless_data; 13 | dev->watchdog_timeo = 3 * HZ; 14 | dev->irq = 0; 15 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/bcma/Makefile: -------------------------------------------------------------------------------- 1 | bcma-y += main.o scan.o core.o sprom.o 2 | bcma-y += driver_chipcommon.o driver_chipcommon_pmu.o 3 | bcma-$(CONFIG_BCMA_SFLASH) += driver_chipcommon_sflash.o 4 | bcma-$(CONFIG_BCMA_NFLASH) += driver_chipcommon_nflash.o 5 | bcma-y += driver_pci.o 6 | bcma-$(CONFIG_BCMA_DRIVER_PCI_HOSTMODE) += driver_pci_host.o 7 | bcma-$(CONFIG_BCMA_DRIVER_MIPS) += driver_mips.o 8 | bcma-$(CONFIG_BCMA_DRIVER_GMAC_CMN) += driver_gmac_cmn.o 9 | bcma-$(CONFIG_BCMA_DRIVER_GPIO) += driver_gpio.o 10 | bcma-$(CONFIG_BCMA_HOST_PCI) += host_pci.o 11 | bcma-$(CONFIG_BCMA_HOST_SOC) += host_soc.o 12 | obj-$(CONFIG_BCMA) += bcma.o 13 | 14 | ccflags-$(CONFIG_BCMA_DEBUG) := -DDEBUG 15 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/libertas/cfg.h: -------------------------------------------------------------------------------- 1 | #ifndef __LBS_CFG80211_H__ 2 | #define __LBS_CFG80211_H__ 3 | 4 | struct device; 5 | struct lbs_private; 6 | struct regulatory_request; 7 | struct wiphy; 8 | 9 | struct wireless_dev *lbs_cfg_alloc(struct device *dev); 10 | int lbs_cfg_register(struct lbs_private *priv); 11 | void lbs_cfg_free(struct lbs_private *priv); 12 | 13 | void lbs_send_disconnect_notification(struct lbs_private *priv); 14 | void lbs_send_mic_failureevent(struct lbs_private *priv, u32 event); 15 | 16 | void lbs_scan_done(struct lbs_private *priv); 17 | void lbs_scan_deinit(struct lbs_private *priv); 18 | int lbs_disconnect(struct lbs_private *priv, u16 reason); 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/orinoco/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for the orinoco wireless device drivers. 3 | # 4 | orinoco-objs := main.o fw.o hw.o mic.o scan.o wext.o hermes_dld.o hermes.o cfg.o 5 | 6 | obj-$(CONFIG_HERMES) += orinoco.o 7 | obj-$(CONFIG_PCMCIA_HERMES) += orinoco_cs.o 8 | obj-$(CONFIG_APPLE_AIRPORT) += airport.o 9 | obj-$(CONFIG_PLX_HERMES) += orinoco_plx.o 10 | obj-$(CONFIG_PCI_HERMES) += orinoco_pci.o 11 | obj-$(CONFIG_TMD_HERMES) += orinoco_tmd.o 12 | obj-$(CONFIG_NORTEL_HERMES) += orinoco_nortel.o 13 | obj-$(CONFIG_PCMCIA_SPECTRUM) += spectrum_cs.o 14 | obj-$(CONFIG_ORINOCO_USB) += orinoco_usb.o 15 | 16 | # Orinoco should be endian clean. 17 | ccflags-y += -D__CHECK_ENDIAN__ 18 | -------------------------------------------------------------------------------- /compat-drivers-source/net/mac80211/michael.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Michael MIC implementation - optimized for TKIP MIC operations 3 | * Copyright 2002-2003, Instant802 Networks, Inc. 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 2 as 7 | * published by the Free Software Foundation. 8 | */ 9 | 10 | #ifndef MICHAEL_H 11 | #define MICHAEL_H 12 | 13 | #include 14 | 15 | #define MICHAEL_MIC_LEN 8 16 | 17 | struct michael_mic_ctx { 18 | u32 l, r; 19 | }; 20 | 21 | void michael_mic(const u8 *key, struct ieee80211_hdr *hdr, 22 | const u8 *data, size_t data_len, u8 *mic); 23 | 24 | #endif /* MICHAEL_H */ 25 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/libertas/Makefile: -------------------------------------------------------------------------------- 1 | libertas-y += cfg.o 2 | libertas-y += cmd.o 3 | libertas-y += cmdresp.o 4 | libertas-y += debugfs.o 5 | libertas-y += ethtool.o 6 | libertas-y += main.o 7 | libertas-y += rx.o 8 | libertas-y += tx.o 9 | libertas-y += firmware.o 10 | libertas-$(CONFIG_LIBERTAS_MESH) += mesh.o 11 | 12 | usb8xxx-objs += if_usb.o 13 | libertas_cs-objs += if_cs.o 14 | libertas_sdio-objs += if_sdio.o 15 | libertas_spi-objs += if_spi.o 16 | 17 | obj-$(CONFIG_LIBERTAS) += libertas.o 18 | obj-$(CONFIG_LIBERTAS_USB) += usb8xxx.o 19 | obj-$(CONFIG_LIBERTAS_CS) += libertas_cs.o 20 | obj-$(CONFIG_COMPAT_LIBERTAS_SDIO) += libertas_sdio.o 21 | obj-$(CONFIG_LIBERTAS_SPI) += libertas_spi.o 22 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/ssb/ssb_embedded.h: -------------------------------------------------------------------------------- 1 | #ifndef LINUX_SSB_EMBEDDED_H_ 2 | #define LINUX_SSB_EMBEDDED_H_ 3 | 4 | #include 5 | #include 6 | 7 | 8 | extern int ssb_watchdog_timer_set(struct ssb_bus *bus, u32 ticks); 9 | 10 | /* Generic GPIO API */ 11 | u32 ssb_gpio_in(struct ssb_bus *bus, u32 mask); 12 | u32 ssb_gpio_out(struct ssb_bus *bus, u32 mask, u32 value); 13 | u32 ssb_gpio_outen(struct ssb_bus *bus, u32 mask, u32 value); 14 | u32 ssb_gpio_control(struct ssb_bus *bus, u32 mask, u32 value); 15 | u32 ssb_gpio_intmask(struct ssb_bus *bus, u32 mask, u32 value); 16 | u32 ssb_gpio_polarity(struct ssb_bus *bus, u32 mask, u32 value); 17 | 18 | #endif /* LINUX_SSB_EMBEDDED_H_ */ 19 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/rtlwifi/Makefile: -------------------------------------------------------------------------------- 1 | obj-$(CONFIG_RTLWIFI) += rtlwifi.o 2 | rtlwifi-objs := \ 3 | base.o \ 4 | cam.o \ 5 | core.o \ 6 | debug.o \ 7 | efuse.o \ 8 | ps.o \ 9 | rc.o \ 10 | regd.o \ 11 | stats.o 12 | 13 | rtl8192c_common-objs += \ 14 | 15 | ifneq ($(CONFIG_PCI),) 16 | rtlwifi-objs += pci.o 17 | endif 18 | 19 | ifneq ($(CONFIG_USB),) 20 | rtlwifi-objs += usb.o 21 | endif 22 | 23 | obj-$(CONFIG_RTL8192C_COMMON) += rtl8192c/ 24 | obj-$(CONFIG_RTL8192CE) += rtl8192ce/ 25 | obj-$(CONFIG_RTL8192CU) += rtl8192cu/ 26 | obj-$(CONFIG_RTL8192SE) += rtl8192se/ 27 | obj-$(CONFIG_RTL8192DE) += rtl8192de/ 28 | obj-$(CONFIG_RTL8723AE) += rtl8723ae/ 29 | 30 | ccflags-y += -D__CHECK_ENDIAN__ 31 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/rtl818x/rtl8180/rtl8225.h: -------------------------------------------------------------------------------- 1 | #ifndef RTL8180_RTL8225_H 2 | #define RTL8180_RTL8225_H 3 | 4 | #define RTL8225_ANAPARAM_ON 0xa0000b59 5 | #define RTL8225_ANAPARAM2_ON 0x860dec11 6 | #define RTL8225_ANAPARAM_OFF 0xa00beb59 7 | #define RTL8225_ANAPARAM2_OFF 0x840dec11 8 | 9 | const struct rtl818x_rf_ops * rtl8180_detect_rf(struct ieee80211_hw *); 10 | 11 | static inline void rtl8225_write_phy_ofdm(struct ieee80211_hw *dev, 12 | u8 addr, u8 data) 13 | { 14 | rtl8180_write_phy(dev, addr, data); 15 | } 16 | 17 | static inline void rtl8225_write_phy_cck(struct ieee80211_hw *dev, 18 | u8 addr, u8 data) 19 | { 20 | rtl8180_write_phy(dev, addr, data | 0x10000); 21 | } 22 | 23 | #endif /* RTL8180_RTL8225_H */ 24 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/57-iwlwifi-debug-fix.patch: -------------------------------------------------------------------------------- 1 | Due to compat including linux/device.h before we do, 2 | we don't get a chance to #define DEBUG to get our 3 | debugging prints. This patch replaces dev_dbg with 4 | dev_printk to make them show up again. 5 | 6 | --- a/drivers/net/wireless/iwlwifi/iwl-debug.c 7 | +++ b/drivers/net/wireless/iwlwifi/iwl-debug.c 8 | @@ -138,8 +138,9 @@ void __iwl_dbg(struct device *dev, 9 | 10 | va_copy(args2, args); 11 | vaf.va = &args2; 12 | - dev_dbg(dev, "%c %s %pV", in_interrupt() ? 'I' : 'U', 13 | - function, &vaf); 14 | + dev_printk(KERN_DEBUG, dev, "%c %s %pV", 15 | + in_interrupt() ? 'I' : 'U', 16 | + function, &vaf); 17 | va_end(args2); 18 | } 19 | #endif 20 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/zd1211rw/Kconfig: -------------------------------------------------------------------------------- 1 | config ZD1211RW 2 | tristate "ZyDAS ZD1211/ZD1211B USB-wireless support" 3 | depends on USB && MAC80211 4 | select FW_LOADER 5 | ---help--- 6 | This is an experimental driver for the ZyDAS ZD1211/ZD1211B wireless 7 | chip, present in many USB-wireless adapters. 8 | 9 | Device firmware is required alongside this driver. You can download 10 | the firmware distribution from http://zd1211.ath.cx/get-firmware 11 | 12 | config ZD1211RW_DEBUG 13 | bool "ZyDAS ZD1211 debugging" 14 | depends on ZD1211RW 15 | ---help--- 16 | ZD1211 debugging messages. Choosing Y will result in additional debug 17 | messages being saved to your kernel logs, which may help debug any 18 | problems. 19 | 20 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/core/ramht.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_RAMHT_H__ 2 | #define __NOUVEAU_RAMHT_H__ 3 | 4 | #include 5 | 6 | struct nouveau_ramht { 7 | struct nouveau_gpuobj base; 8 | int bits; 9 | }; 10 | 11 | int nouveau_ramht_insert(struct nouveau_ramht *, int chid, 12 | u32 handle, u32 context); 13 | void nouveau_ramht_remove(struct nouveau_ramht *, int cookie); 14 | int nouveau_ramht_new(struct nouveau_object *, struct nouveau_object *, 15 | u32 size, u32 align, struct nouveau_ramht **); 16 | 17 | static inline void 18 | nouveau_ramht_ref(struct nouveau_ramht *obj, struct nouveau_ramht **ref) 19 | { 20 | nouveau_gpuobj_ref(&obj->base, (struct nouveau_gpuobj **)ref); 21 | } 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /compat-drivers-source/net/bluetooth/bnep/Kconfig: -------------------------------------------------------------------------------- 1 | config BT_BNEP 2 | tristate "BNEP protocol support" 3 | depends on BT 4 | select CRC32 5 | help 6 | BNEP (Bluetooth Network Encapsulation Protocol) is Ethernet 7 | emulation layer on top of Bluetooth. BNEP is required for 8 | Bluetooth PAN (Personal Area Network). 9 | 10 | Say Y here to compile BNEP support into the kernel or say M to 11 | compile it as module (bnep). 12 | 13 | config BT_BNEP_MC_FILTER 14 | bool "Multicast filter support" 15 | depends on BT_BNEP 16 | help 17 | This option enables the multicast filter support for BNEP. 18 | 19 | config BT_BNEP_PROTO_FILTER 20 | bool "Protocol filter support" 21 | depends on BT_BNEP 22 | help 23 | This option enables the protocol filter support for BNEP. 24 | 25 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/vmwgfx/Kconfig: -------------------------------------------------------------------------------- 1 | config DRM_VMWGFX 2 | tristate "DRM driver for VMware Virtual GPU" 3 | depends on DRM && PCI && FB 4 | select FB_DEFERRED_IO 5 | select FB_CFB_FILLRECT 6 | select FB_CFB_COPYAREA 7 | select FB_CFB_IMAGEBLIT 8 | select DRM_TTM 9 | help 10 | Choose this option if you would like to run 3D acceleration 11 | in a VMware virtual machine. 12 | This is a KMS enabled DRM driver for the VMware SVGA2 13 | virtual hardware. 14 | The compiled module will be called "vmwgfx.ko". 15 | 16 | config DRM_VMWGFX_FBCON 17 | depends on DRM_VMWGFX 18 | bool "Enable framebuffer console under vmwgfx by default" 19 | help 20 | Choose this option if you are shipping a new vmwgfx 21 | userspace driver that supports using the kernel driver. 22 | 23 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/45-remove-platform-id-table.patch: -------------------------------------------------------------------------------- 1 | --- a/drivers/net/wireless/ti/wl12xx/main.c 2 | +++ b/drivers/net/wireless/ti/wl12xx/main.c 3 | @@ -1725,16 +1725,20 @@ out: 4 | return ret; 5 | } 6 | 7 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30) 8 | static const struct platform_device_id wl12xx_id_table[] = { 9 | { "wl12xx", 0 }, 10 | { } /* Terminating Entry */ 11 | }; 12 | MODULE_DEVICE_TABLE(platform, wl12xx_id_table); 13 | +#endif 14 | 15 | static struct platform_driver wl12xx_driver = { 16 | .probe = wl12xx_probe, 17 | .remove = wlcore_remove, 18 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30) 19 | .id_table = wl12xx_id_table, 20 | +#endif 21 | .driver = { 22 | .name = "wl12xx_driver", 23 | .owner = THIS_MODULE, 24 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ath/wil6210/dbg_hexdump.h: -------------------------------------------------------------------------------- 1 | #ifndef WIL_DBG_HEXDUMP_H_ 2 | #define WIL_DBG_HEXDUMP_H_ 3 | 4 | #include 5 | #include 6 | 7 | #if defined(CONFIG_DYNAMIC_DEBUG) 8 | #define wil_print_hex_dump_debug(prefix_str, prefix_type, rowsize, \ 9 | groupsize, buf, len, ascii) \ 10 | dynamic_hex_dump(prefix_str, prefix_type, rowsize, \ 11 | groupsize, buf, len, ascii) 12 | 13 | #else /* defined(CONFIG_DYNAMIC_DEBUG) */ 14 | #define wil_print_hex_dump_debug(prefix_str, prefix_type, rowsize, \ 15 | groupsize, buf, len, ascii) \ 16 | print_hex_dump(KERN_DEBUG, prefix_str, prefix_type, rowsize, \ 17 | groupsize, buf, len, ascii) 18 | #endif /* defined(CONFIG_DYNAMIC_DEBUG) */ 19 | 20 | #endif /* WIL_DBG_HEXDUMP_H_ */ 21 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/subdev/bios.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_BIOS_H__ 2 | #define __NOUVEAU_BIOS_H__ 3 | 4 | #include 5 | #include 6 | 7 | struct nouveau_bios { 8 | struct nouveau_subdev base; 9 | u32 size; 10 | u8 *data; 11 | 12 | u32 bmp_offset; 13 | u32 bit_offset; 14 | 15 | struct { 16 | u8 major; 17 | u8 chip; 18 | u8 minor; 19 | u8 micro; 20 | u8 patch; 21 | } version; 22 | }; 23 | 24 | static inline struct nouveau_bios * 25 | nouveau_bios(void *obj) 26 | { 27 | return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_VBIOS]; 28 | } 29 | 30 | u8 nvbios_checksum(const u8 *data, int size); 31 | u16 nvbios_findstr(const u8 *data, int size, const char *str, int len); 32 | 33 | extern struct nouveau_oclass nouveau_bios_oclass; 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /compat-drivers-source/enable-older-kernels/README: -------------------------------------------------------------------------------- 1 | compat-drivers as a whole aims to always be compiled and used with the 2 | oldest stable kernel supported by kernel.org. This will be the oldest 3 | stable kernel on the 2.6. series listed on the kernel.org front page. 4 | Sometimes we'll go even beyond that. 5 | 6 | Backporting compat-drivers involves backporting some subsystems but 7 | at times we may want to support compiling only certain drivers on older 8 | kernels since its easier to backport some subsystems. Such is the case 9 | with PCI drivers. This directly exists to allow developers enable 10 | compilation of compat-drivers on older drivers using ./scripts/driver-select 11 | Upon selection of a driver a patch from this directly will be applied to 12 | allow further compilation of one driver onto even older kernels. 13 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/radeon/reg_srcs/rn50: -------------------------------------------------------------------------------- 1 | rn50 0x3294 2 | 0x1434 SRC_Y_X 3 | 0x1438 DST_Y_X 4 | 0x143C DST_HEIGHT_WIDTH 5 | 0x146C DP_GUI_MASTER_CNTL 6 | 0x1474 BRUSH_Y_X 7 | 0x1478 DP_BRUSH_BKGD_CLR 8 | 0x147C DP_BRUSH_FRGD_CLR 9 | 0x1480 BRUSH_DATA0 10 | 0x1484 BRUSH_DATA1 11 | 0x1598 DST_WIDTH_HEIGHT 12 | 0x15C0 CLR_CMP_CNTL 13 | 0x15C4 CLR_CMP_CLR_SRC 14 | 0x15C8 CLR_CMP_CLR_DST 15 | 0x15CC CLR_CMP_MSK 16 | 0x15D8 DP_SRC_FRGD_CLR 17 | 0x15DC DP_SRC_BKGD_CLR 18 | 0x1600 DST_LINE_START 19 | 0x1604 DST_LINE_END 20 | 0x1608 DST_LINE_PATCOUNT 21 | 0x16C0 DP_CNTL 22 | 0x16CC DP_WRITE_MSK 23 | 0x16D0 DP_CNTL_XDIR_YDIR_YMAJOR 24 | 0x16E8 DEFAULT_SC_BOTTOM_RIGHT 25 | 0x16EC SC_TOP_LEFT 26 | 0x16F0 SC_BOTTOM_RIGHT 27 | 0x16F4 SRC_SC_BOTTOM_RIGHT 28 | 0x1714 DSTCACHE_CTLSTAT 29 | 0x1720 WAIT_UNTIL 30 | 0x172C RBBM_GUICNTL 31 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/subdev/bios/extdev.h: -------------------------------------------------------------------------------- 1 | #ifndef __NVBIOS_EXTDEV_H__ 2 | #define __NVBIOS_EXTDEV_H__ 3 | 4 | struct nouveau_bios; 5 | 6 | enum nvbios_extdev_type { 7 | NVBIOS_EXTDEV_LM89 = 0x02, 8 | NVBIOS_EXTDEV_VT1103M = 0x40, 9 | NVBIOS_EXTDEV_PX3540 = 0x41, 10 | NVBIOS_EXTDEV_VT1105M = 0x42, /* or close enough... */ 11 | NVBIOS_EXTDEV_ADT7473 = 0x70, /* can also be a LM64 */ 12 | NVBIOS_EXTDEV_HDCP_EEPROM = 0x90, 13 | NVBIOS_EXTDEV_NONE = 0xff, 14 | }; 15 | 16 | struct nvbios_extdev_func { 17 | u8 type; 18 | u8 addr; 19 | u8 bus; 20 | }; 21 | 22 | int 23 | nvbios_extdev_parse(struct nouveau_bios *, int, struct nvbios_extdev_func *); 24 | 25 | int 26 | nvbios_extdev_find(struct nouveau_bios *, enum nvbios_extdev_type, 27 | struct nvbios_extdev_func *); 28 | 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /compat-drivers-source/net/mac80211/debugfs_netdev.h: -------------------------------------------------------------------------------- 1 | /* routines exported for debugfs handling */ 2 | 3 | #ifndef __IEEE80211_DEBUGFS_NETDEV_H 4 | #define __IEEE80211_DEBUGFS_NETDEV_H 5 | 6 | #ifdef CONFIG_MAC80211_DEBUGFS 7 | void ieee80211_debugfs_add_netdev(struct ieee80211_sub_if_data *sdata); 8 | void ieee80211_debugfs_remove_netdev(struct ieee80211_sub_if_data *sdata); 9 | void ieee80211_debugfs_rename_netdev(struct ieee80211_sub_if_data *sdata); 10 | #else 11 | static inline void ieee80211_debugfs_add_netdev( 12 | struct ieee80211_sub_if_data *sdata) 13 | {} 14 | static inline void ieee80211_debugfs_remove_netdev( 15 | struct ieee80211_sub_if_data *sdata) 16 | {} 17 | static inline void ieee80211_debugfs_rename_netdev( 18 | struct ieee80211_sub_if_data *sdata) 19 | {} 20 | #endif 21 | 22 | #endif /* __IEEE80211_DEBUGFS_NETDEV_H */ 23 | -------------------------------------------------------------------------------- /compat-drivers-source/net/wireless/db.txt: -------------------------------------------------------------------------------- 1 | # 2 | # This file is a placeholder to prevent accidental build breakage if someone 3 | # enables CONFIG_CFG80211_INTERNAL_REGDB. Almost no one actually needs to 4 | # enable that build option. 5 | # 6 | # You should be using CRDA instead. It is even better if you use the CRDA 7 | # package provided by your distribution, since they will probably keep it 8 | # up-to-date on your behalf. 9 | # 10 | # If you _really_ intend to use CONFIG_CFG80211_INTERNAL_REGDB then you will 11 | # need to replace this file with one containing appropriately formatted 12 | # regulatory rules that cover the regulatory domains you will be using. Your 13 | # best option is to extract the db.txt file from the wireless-regdb git 14 | # repository: 15 | # 16 | # git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-regdb.git 17 | # 18 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/12-mac80211-disable-tx-status.patch: -------------------------------------------------------------------------------- 1 | We can't possibly backport the wifi TX status since 2 | skb_shinfo()->tx_flags used to be a union and there 3 | is no way to make the & work properly in that case. 4 | So we need to just ifdef this part out. 5 | 6 | 7 | --- a/net/mac80211/tx.c 8 | +++ b/net/mac80211/tx.c 9 | @@ -1992,6 +1992,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s 10 | goto fail_rcu; 11 | } 12 | 13 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0)) 14 | if (unlikely(!multicast && skb->sk && 15 | skb_shinfo(skb)->tx_flags & SKBTX_WIFI_STATUS)) { 16 | struct sk_buff *orig_skb = skb; 17 | @@ -2030,6 +2031,7 @@ netdev_tx_t ieee80211_subif_start_xmit(s 18 | skb = orig_skb; 19 | } 20 | } 21 | +#endif 22 | 23 | /* 24 | * If the skb is shared we need to obtain our own copy. 25 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/unified-drivers/README.md: -------------------------------------------------------------------------------- 1 | # compat-driver unified driver backport patches 2 | 3 | compat-drivers supports developers to supply a unified 4 | driver git tree which is being used to target support 5 | for getting the driver in line with requirements for 6 | linux-next. Once the driver gets upstream the driver 7 | gets removed and we cherry pick updated version of the 8 | driver directly from linux upstream. 9 | 10 | The code provided on this tree must try to adhere to 11 | conventions for targetting inclusion into linux-next. 12 | The compat-drivers patches/unified-drivers/ directory 13 | allows for any additional required backport delta to 14 | be addressed for the supplied driver. This allows 15 | development and transformation of the driver to always 16 | be targetting linux-next and allows for backporting 17 | to be dealt with separately. 18 | -------------------------------------------------------------------------------- /compat-drivers-source/net/rfkill/rfkill.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2007 Ivo van Doorn 3 | * Copyright 2009 Johannes Berg 4 | */ 5 | 6 | /* 7 | * This program is free software; you can redistribute it and/or modify it 8 | * under the terms of the GNU General Public License version 2 as published 9 | * by the Free Software Foundation. 10 | */ 11 | 12 | #ifndef __RFKILL_INPUT_H 13 | #define __RFKILL_INPUT_H 14 | 15 | /* core code */ 16 | void rfkill_switch_all(const enum rfkill_type type, bool blocked); 17 | void rfkill_epo(void); 18 | void rfkill_restore_states(void); 19 | void rfkill_remove_epo_lock(void); 20 | bool rfkill_is_epo_lock_active(void); 21 | bool rfkill_get_global_sw_state(const enum rfkill_type type); 22 | 23 | /* input handler */ 24 | int rfkill_handler_init(void); 25 | void rfkill_handler_exit(void); 26 | 27 | #endif /* __RFKILL_INPUT_H */ 28 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/50-libertas-olpc-ec-wakeup.patch: -------------------------------------------------------------------------------- 1 | This section of the libertas driver calls functions that simply don't 2 | exist before the release of 3.1. This code in question was an addition, 3 | not a change from any existing code. It is safe to simply remove it for 4 | older kernels. 5 | 6 | --- a/drivers/net/wireless/libertas/if_usb.c 7 | +++ b/drivers/net/wireless/libertas/if_usb.c 8 | @@ -962,6 +962,7 @@ static int if_usb_suspend(struct usb_int 9 | goto out; 10 | } 11 | 12 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) 13 | #ifdef CONFIG_OLPC 14 | if (machine_is_olpc()) { 15 | if (priv->wol_criteria == EHS_REMOVE_WAKEUP) 16 | @@ -970,6 +971,7 @@ static int if_usb_suspend(struct usb_int 17 | olpc_ec_wakeup_set(EC_SCI_SRC_WLAN); 18 | } 19 | #endif 20 | +#endif 21 | 22 | ret = lbs_suspend(priv); 23 | if (ret) 24 | -------------------------------------------------------------------------------- /compat-drivers-source/net/mac80211/wme.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2004, Instant802 Networks, Inc. 3 | * Copyright 2005, Devicescape Software, Inc. 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 2 as 7 | * published by the Free Software Foundation. 8 | */ 9 | 10 | #ifndef _WME_H 11 | #define _WME_H 12 | 13 | #include 14 | #include "ieee80211_i.h" 15 | 16 | extern const int ieee802_1d_to_ac[8]; 17 | 18 | u16 ieee80211_select_queue_80211(struct ieee80211_sub_if_data *sdata, 19 | struct sk_buff *skb, 20 | struct ieee80211_hdr *hdr); 21 | u16 ieee80211_select_queue(struct ieee80211_sub_if_data *sdata, 22 | struct sk_buff *skb); 23 | void ieee80211_set_qos_hdr(struct ieee80211_sub_if_data *sdata, 24 | struct sk_buff *skb); 25 | 26 | #endif /* _WME_H */ 27 | -------------------------------------------------------------------------------- /compat-drivers-source/udev/ubuntu/compat_firmware.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | FIRMWARE_DIRS="/lib/firmware/updates/$(uname -r) /lib/firmware/updates \ 4 | /lib/firmware/$(uname -r) /lib/firmware" 5 | 6 | err() { 7 | echo "$@" >&2 8 | logger -t "${0##*/}[$$]" "$@" 2>/dev/null || true 9 | } 10 | 11 | if [ ! -e /sys$DEVPATH/loading ]; then 12 | err "udev firmware loader misses sysfs directory" 13 | exit 1 14 | fi 15 | 16 | for DIR in $FIRMWARE_DIRS; do 17 | [ -e "$DIR/$FIRMWARE" ] || continue 18 | echo 1 > /sys$DEVPATH/loading 19 | cat "$DIR/$FIRMWARE" > /sys$DEVPATH/data 20 | echo 0 > /sys$DEVPATH/loading 21 | exit 0 22 | done 23 | 24 | echo -1 > /sys$DEVPATH/loading 25 | err "Cannot find firmware file '$FIRMWARE'" 26 | mkdir -p /dev/.udev/firmware-missing 27 | file=$(echo "$FIRMWARE" | sed 's:/:\\x2f:g') 28 | ln -s -f "$DEVPATH" /dev/.udev/firmware-missing/$file 29 | exit 1 30 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/32-remove-ns-type.patch: -------------------------------------------------------------------------------- 1 | --- a/net/wireless/sysfs.c 2 | +++ b/net/wireless/sysfs.c 3 | @@ -120,12 +120,14 @@ static int wiphy_resume(struct device *d 4 | return ret; 5 | } 6 | 7 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) 8 | static const void *wiphy_namespace(struct device *d) 9 | { 10 | struct wiphy *wiphy = container_of(d, struct wiphy, dev); 11 | 12 | return wiphy_net(wiphy); 13 | } 14 | +#endif 15 | 16 | struct class ieee80211_class = { 17 | .name = "ieee80211", 18 | @@ -135,8 +137,10 @@ struct class ieee80211_class = { 19 | .dev_uevent = wiphy_uevent, 20 | .suspend = wiphy_suspend, 21 | .resume = wiphy_resume, 22 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)) 23 | .ns_type = &net_ns_type_operations, 24 | .namespace = wiphy_namespace, 25 | +#endif 26 | }; 27 | 28 | int wiphy_sysfs_init(void) 29 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/engine/graph/nv20.h: -------------------------------------------------------------------------------- 1 | #ifndef __NV20_GRAPH_H__ 2 | #define __NV20_GRAPH_H__ 3 | 4 | #include 5 | 6 | #include 7 | #include 8 | 9 | struct nv20_graph_priv { 10 | struct nouveau_graph base; 11 | struct nouveau_gpuobj *ctxtab; 12 | }; 13 | 14 | struct nv20_graph_chan { 15 | struct nouveau_graph_chan base; 16 | int chid; 17 | }; 18 | 19 | extern struct nouveau_oclass nv25_graph_sclass[]; 20 | int nv20_graph_context_init(struct nouveau_object *); 21 | int nv20_graph_context_fini(struct nouveau_object *, bool); 22 | 23 | void nv20_graph_tile_prog(struct nouveau_engine *, int); 24 | void nv20_graph_intr(struct nouveau_subdev *); 25 | 26 | void nv20_graph_dtor(struct nouveau_object *); 27 | int nv20_graph_init(struct nouveau_object *); 28 | 29 | int nv30_graph_init(struct nouveau_object *); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /compat-drivers-source/net/wireless/Makefile: -------------------------------------------------------------------------------- 1 | obj-$(CONFIG_CFG80211) += cfg80211.o 2 | obj-$(CONFIG_LIB80211) += lib80211.o 3 | obj-$(CONFIG_LIB80211_CRYPT_WEP) += lib80211_crypt_wep.o 4 | obj-$(CONFIG_LIB80211_CRYPT_CCMP) += lib80211_crypt_ccmp.o 5 | obj-$(CONFIG_LIB80211_CRYPT_TKIP) += lib80211_crypt_tkip.o 6 | 7 | cfg80211-y += core.o sysfs.o radiotap.o util.o reg.o scan.o nl80211.o 8 | cfg80211-y += mlme.o ibss.o sme.o chan.o ethtool.o mesh.o ap.o 9 | cfg80211-$(CONFIG_COMPAT_CFG80211_DRIVER_API_TRACER) += trace.o 10 | cfg80211-$(CONFIG_CFG80211_DEBUGFS) += debugfs.o 11 | cfg80211-$(CONFIG_CFG80211_WEXT) += wext-compat.o wext-sme.o 12 | cfg80211-$(CONFIG_CFG80211_INTERNAL_REGDB) += regdb.o 13 | 14 | CFLAGS_trace.o := -I$(src) 15 | 16 | ccflags-y += -D__CHECK_ENDIAN__ 17 | 18 | $(obj)/regdb.c: $(src)/db.txt $(src)/genregdb.awk 19 | @$(AWK) -f $(src)/genregdb.awk < $< > $@ 20 | 21 | clean-files := regdb.c 22 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/05-usb.patch: -------------------------------------------------------------------------------- 1 | USB opt soft_unbid was added as of 2.6.27. 2 | 3 | --- a/drivers/net/wireless/p54/p54usb.c 4 | +++ b/drivers/net/wireless/p54/p54usb.c 5 | @@ -1143,7 +1143,9 @@ static struct usb_driver p54u_driver = { 6 | .resume = p54u_resume, 7 | .reset_resume = p54u_resume, 8 | #endif /* CONFIG_PM */ 9 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)) 10 | .soft_unbind = 1, 11 | +#endif 12 | .disable_hub_initiated_lpm = 1, 13 | }; 14 | 15 | --- a/drivers/net/wireless/ath/ath9k/hif_usb.c 16 | +++ b/drivers/net/wireless/ath/ath9k/hif_usb.c 17 | @@ -1370,7 +1370,9 @@ static struct usb_driver ath9k_hif_usb_d 18 | .reset_resume = ath9k_hif_usb_resume, 19 | #endif 20 | .id_table = ath9k_hif_usb_ids, 21 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)) 22 | .soft_unbind = 1, 23 | +#endif 24 | .disable_hub_initiated_lpm = 1, 25 | }; 26 | 27 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/subdev/bios/conn.h: -------------------------------------------------------------------------------- 1 | #ifndef __NVBIOS_CONN_H__ 2 | #define __NVBIOS_CONN_H__ 3 | 4 | enum dcb_connector_type { 5 | DCB_CONNECTOR_VGA = 0x00, 6 | DCB_CONNECTOR_TV_0 = 0x10, 7 | DCB_CONNECTOR_TV_1 = 0x11, 8 | DCB_CONNECTOR_TV_3 = 0x13, 9 | DCB_CONNECTOR_DVI_I = 0x30, 10 | DCB_CONNECTOR_DVI_D = 0x31, 11 | DCB_CONNECTOR_DMS59_0 = 0x38, 12 | DCB_CONNECTOR_DMS59_1 = 0x39, 13 | DCB_CONNECTOR_LVDS = 0x40, 14 | DCB_CONNECTOR_LVDS_SPWG = 0x41, 15 | DCB_CONNECTOR_DP = 0x46, 16 | DCB_CONNECTOR_eDP = 0x47, 17 | DCB_CONNECTOR_HDMI_0 = 0x60, 18 | DCB_CONNECTOR_HDMI_1 = 0x61, 19 | DCB_CONNECTOR_DMS59_DP0 = 0x64, 20 | DCB_CONNECTOR_DMS59_DP1 = 0x65, 21 | DCB_CONNECTOR_NONE = 0xff 22 | }; 23 | 24 | u16 dcb_conntab(struct nouveau_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len); 25 | u16 dcb_conn(struct nouveau_bios *bios, u8 idx, u8 *ver, u8 *len); 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /compat-drivers-source/net/mac80211/aes_ccm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2003-2004, Instant802 Networks, Inc. 3 | * Copyright 2006, Devicescape Software, Inc. 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 2 as 7 | * published by the Free Software Foundation. 8 | */ 9 | 10 | #ifndef AES_CCM_H 11 | #define AES_CCM_H 12 | 13 | #include 14 | 15 | struct crypto_cipher *ieee80211_aes_key_setup_encrypt(const u8 key[]); 16 | void ieee80211_aes_ccm_encrypt(struct crypto_cipher *tfm, u8 *scratch, 17 | u8 *data, size_t data_len, 18 | u8 *cdata, u8 *mic); 19 | int ieee80211_aes_ccm_decrypt(struct crypto_cipher *tfm, u8 *scratch, 20 | u8 *cdata, size_t data_len, 21 | u8 *mic, u8 *data); 22 | void ieee80211_aes_key_free(struct crypto_cipher *tfm); 23 | 24 | #endif /* AES_CCM_H */ 25 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/65-ignore-dismantle.patch: -------------------------------------------------------------------------------- 1 | The following patch makes use of the dismantle member in struct 2 | net_device, this patch removes that access on older kernels. 3 | 4 | commit 9d5d496c3464b7ad0ba942b4ada5f27c07e07079 5 | Author: Daniel Drake 6 | Date: Mon Jul 30 22:58:04 2012 +0100 7 | 8 | libertas: don't reset card on error when it is being removed 9 | 10 | --- a/drivers/net/wireless/libertas/main.c 11 | +++ b/drivers/net/wireless/libertas/main.c 12 | @@ -592,7 +592,11 @@ static int lbs_thread(void *data) 13 | 14 | /* Reset card, but only when it isn't in the process 15 | * of being shutdown anyway. */ 16 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,0)) 17 | if (!dev->dismantle && priv->reset_card) 18 | +#else 19 | + if (priv->reset_card) 20 | +#endif 21 | priv->reset_card(priv); 22 | } 23 | priv->cmd_timed_out = 0; 24 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/linux-next-pending/README: -------------------------------------------------------------------------------- 1 | 2 | compat-drivers linux-next-pending patches 3 | ========================================== 4 | 5 | You must have a really good reason to be adding files 6 | in this directory. The requirement is your patches must have 7 | been posted to a public mailing list for the subsystem you are 8 | working on. Each patch you add here must have a really good 9 | explanation on the top of the file which clarifies why the 10 | patch has not yet been merged OR specify it on the commit log 11 | when you add it on compat-drivers. 12 | 13 | We try to avoid having patch files because but we understand 14 | if you might because you need to test code posted but not yet 15 | merged into linux-next or a stable kernel release. This can happen 16 | often during the merge window, when the maintainers are unavailable, 17 | on vacation, suck at what they do, or for any other uncontrollable 18 | reasons. 19 | -------------------------------------------------------------------------------- /compat-drivers-source/include/drm/drm_fb_cma_helper.h: -------------------------------------------------------------------------------- 1 | #ifndef __DRM_FB_CMA_HELPER_H__ 2 | #define __DRM_FB_CMA_HELPER_H__ 3 | 4 | struct drm_fbdev_cma; 5 | struct drm_gem_cma_object; 6 | 7 | struct drm_framebuffer; 8 | struct drm_device; 9 | struct drm_file; 10 | struct drm_mode_fb_cmd2; 11 | 12 | struct drm_fbdev_cma *drm_fbdev_cma_init(struct drm_device *dev, 13 | unsigned int preferred_bpp, unsigned int num_crtc, 14 | unsigned int max_conn_count); 15 | void drm_fbdev_cma_fini(struct drm_fbdev_cma *fbdev_cma); 16 | 17 | void drm_fbdev_cma_restore_mode(struct drm_fbdev_cma *fbdev_cma); 18 | void drm_fbdev_cma_hotplug_event(struct drm_fbdev_cma *fbdev_cma); 19 | 20 | struct drm_framebuffer *drm_fb_cma_create(struct drm_device *dev, 21 | struct drm_file *file_priv, struct drm_mode_fb_cmd2 *mode_cmd); 22 | 23 | struct drm_gem_cma_object *drm_fb_cma_get_gem_obj(struct drm_framebuffer *fb, 24 | unsigned int plane); 25 | 26 | #endif 27 | 28 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/unaligned/be_struct.h: -------------------------------------------------------------------------------- 1 | #ifndef _LINUX_UNALIGNED_BE_STRUCT_H 2 | #define _LINUX_UNALIGNED_BE_STRUCT_H 3 | 4 | #include 5 | 6 | static inline u16 get_unaligned_be16(const void *p) 7 | { 8 | return __get_unaligned_cpu16((const u8 *)p); 9 | } 10 | 11 | static inline u32 get_unaligned_be32(const void *p) 12 | { 13 | return __get_unaligned_cpu32((const u8 *)p); 14 | } 15 | 16 | static inline u64 get_unaligned_be64(const void *p) 17 | { 18 | return __get_unaligned_cpu64((const u8 *)p); 19 | } 20 | 21 | static inline void put_unaligned_be16(u16 val, void *p) 22 | { 23 | __put_unaligned_cpu16(val, p); 24 | } 25 | 26 | static inline void put_unaligned_be32(u32 val, void *p) 27 | { 28 | __put_unaligned_cpu32(val, p); 29 | } 30 | 31 | static inline void put_unaligned_be64(u64 val, void *p) 32 | { 33 | __put_unaligned_cpu64(val, p); 34 | } 35 | 36 | #endif /* _LINUX_UNALIGNED_BE_STRUCT_H */ 37 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/unaligned/le_struct.h: -------------------------------------------------------------------------------- 1 | #ifndef _LINUX_UNALIGNED_LE_STRUCT_H 2 | #define _LINUX_UNALIGNED_LE_STRUCT_H 3 | 4 | #include 5 | 6 | static inline u16 get_unaligned_le16(const void *p) 7 | { 8 | return __get_unaligned_cpu16((const u8 *)p); 9 | } 10 | 11 | static inline u32 get_unaligned_le32(const void *p) 12 | { 13 | return __get_unaligned_cpu32((const u8 *)p); 14 | } 15 | 16 | static inline u64 get_unaligned_le64(const void *p) 17 | { 18 | return __get_unaligned_cpu64((const u8 *)p); 19 | } 20 | 21 | static inline void put_unaligned_le16(u16 val, void *p) 22 | { 23 | __put_unaligned_cpu16(val, p); 24 | } 25 | 26 | static inline void put_unaligned_le32(u32 val, void *p) 27 | { 28 | __put_unaligned_cpu32(val, p); 29 | } 30 | 31 | static inline void put_unaligned_le64(u64 val, void *p) 32 | { 33 | __put_unaligned_cpu64(val, p); 34 | } 35 | 36 | #endif /* _LINUX_UNALIGNED_LE_STRUCT_H */ 37 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/nouveau_ttm.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_TTM_H__ 2 | #define __NOUVEAU_TTM_H__ 3 | 4 | static inline struct nouveau_drm * 5 | nouveau_bdev(struct ttm_bo_device *bd) 6 | { 7 | return container_of(bd, struct nouveau_drm, ttm.bdev); 8 | } 9 | 10 | extern const struct ttm_mem_type_manager_func nouveau_vram_manager; 11 | extern const struct ttm_mem_type_manager_func nouveau_gart_manager; 12 | extern const struct ttm_mem_type_manager_func nv04_gart_manager; 13 | 14 | struct ttm_tt *nouveau_sgdma_create_ttm(struct ttm_bo_device *, 15 | unsigned long size, u32 page_flags, 16 | struct page *dummy_read_page); 17 | 18 | int nouveau_ttm_init(struct nouveau_drm *drm); 19 | void nouveau_ttm_fini(struct nouveau_drm *drm); 20 | int nouveau_ttm_mmap(struct file *, struct vm_area_struct *); 21 | 22 | int nouveau_ttm_global_init(struct nouveau_drm *); 23 | void nouveau_ttm_global_release(struct nouveau_drm *); 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/linux-next-cherry-picks/README: -------------------------------------------------------------------------------- 1 | compat-drivers linux-next chery picked patches 2 | ============================================== 3 | 4 | We work hard to get patches in time onto the stable 5 | tree but sometimes a few things slip out, and sometimes a 6 | stable fix is simply too big in size to be merged into 7 | stable. In such cases though we do believe some of these 8 | patches are still relatively important to either enable new 9 | hardware which escaped the late rc cycles or to correct some 10 | behaviour which might be too late for stable. We apply 11 | these patches by default as they will be supported on these 12 | releases. 13 | 14 | The larger the number of patches you see in this directory 15 | the more we should be ashamed. We should strive to reduce this 16 | to 0 all the time. 17 | 18 | This directory will always be empty for bleeding edge 19 | releases as bleeding edge releases are always based on 20 | linux-next already. 21 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/subdev/bios/dp.h: -------------------------------------------------------------------------------- 1 | #ifndef __NVBIOS_DP_H__ 2 | #define __NVBIOS_DP_H__ 3 | 4 | struct nvbios_dpout { 5 | u16 type; 6 | u16 mask; 7 | u8 flags; 8 | u32 script[5]; 9 | u32 lnkcmp; 10 | }; 11 | 12 | u16 nvbios_dpout_parse(struct nouveau_bios *, u8 idx, 13 | u8 *ver, u8 *hdr, u8 *cnt, u8 *len, 14 | struct nvbios_dpout *); 15 | u16 nvbios_dpout_match(struct nouveau_bios *, u16 type, u16 mask, 16 | u8 *ver, u8 *hdr, u8 *cnt, u8 *len, 17 | struct nvbios_dpout *); 18 | 19 | struct nvbios_dpcfg { 20 | u8 drv; 21 | u8 pre; 22 | u8 unk; 23 | }; 24 | 25 | u16 26 | nvbios_dpcfg_parse(struct nouveau_bios *, u16 outp, u8 idx, 27 | u8 *ver, u8 *hdr, u8 *cnt, u8 *len, 28 | struct nvbios_dpcfg *); 29 | u16 30 | nvbios_dpcfg_match(struct nouveau_bios *, u16 outp, u8 un, u8 vs, u8 pe, 31 | u8 *ver, u8 *hdr, u8 *cnt, u8 *len, 32 | struct nvbios_dpcfg *); 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/ssb/Makefile: -------------------------------------------------------------------------------- 1 | # core 2 | ssb-y += main.o scan.o 3 | ssb-$(CONFIG_SSB_EMBEDDED) += embedded.o 4 | ssb-$(CONFIG_SSB_SPROM) += sprom.o 5 | 6 | # host support 7 | ssb-$(CONFIG_SSB_PCIHOST) += pci.o pcihost_wrapper.o 8 | ssb-$(CONFIG_SSB_PCMCIAHOST) += pcmcia.o 9 | ssb-$(CONFIG_SSB_SDIOHOST) += sdio.o 10 | 11 | # built-in drivers 12 | ssb-y += driver_chipcommon.o 13 | ssb-y += driver_chipcommon_pmu.o 14 | ssb-$(CONFIG_SSB_SFLASH) += driver_chipcommon_sflash.o 15 | ssb-$(CONFIG_SSB_DRIVER_MIPS) += driver_mipscore.o 16 | ssb-$(CONFIG_SSB_DRIVER_EXTIF) += driver_extif.o 17 | ssb-$(CONFIG_SSB_DRIVER_PCICORE) += driver_pcicore.o 18 | ssb-$(CONFIG_SSB_DRIVER_GIGE) += driver_gige.o 19 | ssb-$(CONFIG_SSB_DRIVER_GPIO) += driver_gpio.o 20 | 21 | # b43 pci-ssb-bridge driver 22 | # Not strictly a part of SSB, but kept here for convenience 23 | ssb-$(CONFIG_SSB_B43_PCI_BRIDGE) += b43_pci_bridge.o 24 | 25 | obj-$(CONFIG_SSB) += ssb.o 26 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/unaligned/be_memmove.h: -------------------------------------------------------------------------------- 1 | #ifndef _LINUX_UNALIGNED_BE_MEMMOVE_H 2 | #define _LINUX_UNALIGNED_BE_MEMMOVE_H 3 | 4 | #include 5 | 6 | static inline u16 get_unaligned_be16(const void *p) 7 | { 8 | return __get_unaligned_memmove16((const u8 *)p); 9 | } 10 | 11 | static inline u32 get_unaligned_be32(const void *p) 12 | { 13 | return __get_unaligned_memmove32((const u8 *)p); 14 | } 15 | 16 | static inline u64 get_unaligned_be64(const void *p) 17 | { 18 | return __get_unaligned_memmove64((const u8 *)p); 19 | } 20 | 21 | static inline void put_unaligned_be16(u16 val, void *p) 22 | { 23 | __put_unaligned_memmove16(val, p); 24 | } 25 | 26 | static inline void put_unaligned_be32(u32 val, void *p) 27 | { 28 | __put_unaligned_memmove32(val, p); 29 | } 30 | 31 | static inline void put_unaligned_be64(u64 val, void *p) 32 | { 33 | __put_unaligned_memmove64(val, p); 34 | } 35 | 36 | #endif /* _LINUX_UNALIGNED_LE_MEMMOVE_H */ 37 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/unaligned/le_memmove.h: -------------------------------------------------------------------------------- 1 | #ifndef _LINUX_UNALIGNED_LE_MEMMOVE_H 2 | #define _LINUX_UNALIGNED_LE_MEMMOVE_H 3 | 4 | #include 5 | 6 | static inline u16 get_unaligned_le16(const void *p) 7 | { 8 | return __get_unaligned_memmove16((const u8 *)p); 9 | } 10 | 11 | static inline u32 get_unaligned_le32(const void *p) 12 | { 13 | return __get_unaligned_memmove32((const u8 *)p); 14 | } 15 | 16 | static inline u64 get_unaligned_le64(const void *p) 17 | { 18 | return __get_unaligned_memmove64((const u8 *)p); 19 | } 20 | 21 | static inline void put_unaligned_le16(u16 val, void *p) 22 | { 23 | __put_unaligned_memmove16(val, p); 24 | } 25 | 26 | static inline void put_unaligned_le32(u32 val, void *p) 27 | { 28 | __put_unaligned_memmove32(val, p); 29 | } 30 | 31 | static inline void put_unaligned_le64(u64 val, void *p) 32 | { 33 | __put_unaligned_memmove64(val, p); 34 | } 35 | 36 | #endif /* _LINUX_UNALIGNED_LE_MEMMOVE_H */ 37 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/platform/x86/intel_ips.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Intel Corporation 3 | * 4 | * This program is free software; you can redistribute it and/or modify it 5 | * under the terms and conditions of the GNU General Public License, 6 | * version 2, as published by the Free Software Foundation. 7 | * 8 | * This program is distributed in the hope it will be useful, but WITHOUT 9 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 10 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 11 | * more details. 12 | * 13 | * You should have received a copy of the GNU General Public License along with 14 | * this program; if not, write to the Free Software Foundation, Inc., 15 | * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 16 | * 17 | * The full GNU General Public License is included in this distribution in 18 | * the file called "COPYING". 19 | */ 20 | 21 | void ips_link_to_i915_driver(void); 22 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/subdev/bios/bmp.h: -------------------------------------------------------------------------------- 1 | #ifndef __NVBIOS_BMP_H__ 2 | #define __NVBIOS_BMP_H__ 3 | 4 | static inline u16 5 | bmp_version(struct nouveau_bios *bios) 6 | { 7 | if (bios->bmp_offset) { 8 | return nv_ro08(bios, bios->bmp_offset + 5) << 8 | 9 | nv_ro08(bios, bios->bmp_offset + 6); 10 | } 11 | 12 | return 0x0000; 13 | } 14 | 15 | static inline u16 16 | bmp_mem_init_table(struct nouveau_bios *bios) 17 | { 18 | if (bmp_version(bios) >= 0x0300) 19 | return nv_ro16(bios, bios->bmp_offset + 24); 20 | return 0x0000; 21 | } 22 | 23 | static inline u16 24 | bmp_sdr_seq_table(struct nouveau_bios *bios) 25 | { 26 | if (bmp_version(bios) >= 0x0300) 27 | return nv_ro16(bios, bios->bmp_offset + 26); 28 | return 0x0000; 29 | } 30 | 31 | static inline u16 32 | bmp_ddr_seq_table(struct nouveau_bios *bios) 33 | { 34 | if (bmp_version(bios) >= 0x0300) 35 | return nv_ro16(bios, bios->bmp_offset + 28); 36 | return 0x0000; 37 | } 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /compat-drivers-source/compat/compat_atomic.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #if !((LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)) && (defined(CONFIG_UML) || defined(CONFIG_X86))) && !((LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33)) && defined(CONFIG_ARM) && !defined(CONFIG_GENERIC_ATOMIC64)) 5 | 6 | static DEFINE_SPINLOCK(lock); 7 | 8 | long long atomic64_read(const atomic64_t *v) 9 | { 10 | unsigned long flags; 11 | long long val; 12 | 13 | spin_lock_irqsave(&lock, flags); 14 | val = v->counter; 15 | spin_unlock_irqrestore(&lock, flags); 16 | return val; 17 | } 18 | EXPORT_SYMBOL_GPL(atomic64_read); 19 | 20 | long long atomic64_add_return(long long a, atomic64_t *v) 21 | { 22 | unsigned long flags; 23 | long long val; 24 | 25 | spin_lock_irqsave(&lock, flags); 26 | val = v->counter += a; 27 | spin_unlock_irqrestore(&lock, flags); 28 | return val; 29 | } 30 | EXPORT_SYMBOL_GPL(atomic64_add_return); 31 | 32 | #endif 33 | 34 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/b43/sdio.h: -------------------------------------------------------------------------------- 1 | #ifndef B43_SDIO_H_ 2 | #define B43_SDIO_H_ 3 | 4 | #include 5 | 6 | struct b43_wldev; 7 | 8 | 9 | #ifdef CONFIG_B43_SDIO 10 | 11 | struct b43_sdio { 12 | struct ssb_bus ssb; 13 | void *irq_handler_opaque; 14 | void (*irq_handler)(struct b43_wldev *dev); 15 | }; 16 | 17 | int b43_sdio_request_irq(struct b43_wldev *dev, 18 | void (*handler)(struct b43_wldev *dev)); 19 | void b43_sdio_free_irq(struct b43_wldev *dev); 20 | 21 | int b43_sdio_init(void); 22 | void b43_sdio_exit(void); 23 | 24 | 25 | #else /* CONFIG_B43_SDIO */ 26 | 27 | 28 | int b43_sdio_request_irq(struct b43_wldev *dev, 29 | void (*handler)(struct b43_wldev *dev)) 30 | { 31 | return -ENODEV; 32 | } 33 | void b43_sdio_free_irq(struct b43_wldev *dev) 34 | { 35 | } 36 | static inline int b43_sdio_init(void) 37 | { 38 | return 0; 39 | } 40 | static inline void b43_sdio_exit(void) 41 | { 42 | } 43 | 44 | #endif /* CONFIG_B43_SDIO */ 45 | #endif /* B43_SDIO_H_ */ 46 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/rt2x00/Makefile: -------------------------------------------------------------------------------- 1 | rt2x00lib-y += rt2x00dev.o 2 | rt2x00lib-y += rt2x00mac.o 3 | rt2x00lib-y += rt2x00config.o 4 | rt2x00lib-y += rt2x00queue.o 5 | rt2x00lib-y += rt2x00link.o 6 | rt2x00lib-$(CONFIG_RT2X00_LIB_DEBUGFS) += rt2x00debug.o 7 | rt2x00lib-$(CONFIG_RT2X00_LIB_CRYPTO) += rt2x00crypto.o 8 | rt2x00lib-$(CONFIG_RT2X00_LIB_FIRMWARE) += rt2x00firmware.o 9 | rt2x00lib-$(CONFIG_RT2X00_LIB_LEDS) += rt2x00leds.o 10 | 11 | obj-$(CONFIG_RT2X00_LIB) += rt2x00lib.o 12 | obj-$(CONFIG_RT2X00_LIB_PCI) += rt2x00pci.o 13 | obj-$(CONFIG_RT2X00_LIB_SOC) += rt2x00soc.o 14 | obj-$(CONFIG_RT2X00_LIB_USB) += rt2x00usb.o 15 | obj-$(CONFIG_RT2800_LIB) += rt2800lib.o 16 | obj-$(CONFIG_RT2400PCI) += rt2400pci.o 17 | obj-$(CONFIG_RT2500PCI) += rt2500pci.o 18 | obj-$(CONFIG_RT61PCI) += rt61pci.o 19 | obj-$(CONFIG_RT2800PCI) += rt2800pci.o 20 | obj-$(CONFIG_RT2500USB) += rt2500usb.o 21 | obj-$(CONFIG_RT73USB) += rt73usb.o 22 | obj-$(CONFIG_RT2800USB) += rt2800usb.o 23 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/rtl818x/rtl8180/grf5101.h: -------------------------------------------------------------------------------- 1 | #ifndef RTL8180_GRF5101_H 2 | #define RTL8180_GRF5101_H 3 | 4 | /* 5 | * Radio tuning for GCT GRF5101 on RTL8180 6 | * 7 | * Copyright 2007 Andrea Merello 8 | * 9 | * Code from the BSD driver and the rtl8181 project have been 10 | * very useful to understand certain things 11 | * 12 | * I want to thanks the Authors of such projects and the Ndiswrapper 13 | * project Authors. 14 | * 15 | * A special Big Thanks also is for all people who donated me cards, 16 | * making possible the creation of the original rtl8180 driver 17 | * from which this code is derived! 18 | * 19 | * This program is free software; you can redistribute it and/or modify 20 | * it under the terms of the GNU General Public License version 2 as 21 | * published by the Free Software Foundation. 22 | */ 23 | 24 | #define GRF5101_ANTENNA 0xA3 25 | 26 | extern const struct rtl818x_rf_ops grf5101_rf_ops; 27 | 28 | #endif /* RTL8180_GRF5101_H */ 29 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/rtl818x/rtl8180/max2820.h: -------------------------------------------------------------------------------- 1 | #ifndef RTL8180_MAX2820_H 2 | #define RTL8180_MAX2820_H 3 | 4 | /* 5 | * Radio tuning for Maxim max2820 on RTL8180 6 | * 7 | * Copyright 2007 Andrea Merello 8 | * 9 | * Code from the BSD driver and the rtl8181 project have been 10 | * very useful to understand certain things 11 | * 12 | * I want to thanks the Authors of such projects and the Ndiswrapper 13 | * project Authors. 14 | * 15 | * A special Big Thanks also is for all people who donated me cards, 16 | * making possible the creation of the original rtl8180 driver 17 | * from which this code is derived! 18 | * 19 | * This program is free software; you can redistribute it and/or modify 20 | * it under the terms of the GNU General Public License version 2 as 21 | * published by the Free Software Foundation. 22 | */ 23 | 24 | #define MAXIM_ANTENNA 0xb3 25 | 26 | extern const struct rtl818x_rf_ops max2820_rf_ops; 27 | 28 | #endif /* RTL8180_MAX2820_H */ 29 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/37-vsnprintk.patch: -------------------------------------------------------------------------------- 1 | --- a/drivers/net/wireless/ath/main.c 2 | +++ b/drivers/net/wireless/ath/main.c 3 | @@ -59,6 +59,7 @@ struct sk_buff *ath_rxbuf_alloc(struct a 4 | } 5 | EXPORT_SYMBOL(ath_rxbuf_alloc); 6 | 7 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36)) 8 | void ath_printk(const char *level, const struct ath_common* common, 9 | const char *fmt, ...) 10 | { 11 | @@ -78,4 +79,24 @@ void ath_printk(const char *level, const 12 | 13 | va_end(args); 14 | } 15 | +#else 16 | +void ath_printk(const char *level, const struct ath_common* common, 17 | + const char *fmt, ...) 18 | +{ 19 | + va_list args; 20 | + 21 | + va_start(args, fmt); 22 | + 23 | + if (common && common->hw && common->hw->wiphy) 24 | + printk("%sath: %s: ", 25 | + level, wiphy_name(common->hw->wiphy)); 26 | + else 27 | + printk("%sath: ", level); 28 | + 29 | + vprintk(fmt, args); 30 | + 31 | + va_end(args); 32 | +} 33 | +#endif 34 | + 35 | EXPORT_SYMBOL(ath_printk); 36 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/subdev/device.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_SUBDEV_DEVICE_H__ 2 | #define __NOUVEAU_SUBDEV_DEVICE_H__ 3 | 4 | #include 5 | 6 | #define nouveau_device_create(p,n,s,c,d,u) \ 7 | nouveau_device_create_((p), (n), (s), (c), (d), sizeof(**u), (void **)u) 8 | 9 | int nouveau_device_create_(struct pci_dev *, u64 name, const char *sname, 10 | const char *cfg, const char *dbg, int, void **); 11 | 12 | int nv04_identify(struct nouveau_device *); 13 | int nv10_identify(struct nouveau_device *); 14 | int nv20_identify(struct nouveau_device *); 15 | int nv30_identify(struct nouveau_device *); 16 | int nv40_identify(struct nouveau_device *); 17 | int nv50_identify(struct nouveau_device *); 18 | int nvc0_identify(struct nouveau_device *); 19 | int nve0_identify(struct nouveau_device *); 20 | 21 | extern struct nouveau_oclass nouveau_device_sclass[]; 22 | struct nouveau_device *nouveau_device_find(u64 name); 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/38-led-max-brightness.patch: -------------------------------------------------------------------------------- 1 | --- a/drivers/net/wireless/iwlegacy/common.c 2 | +++ b/drivers/net/wireless/iwlegacy/common.c 3 | @@ -562,7 +562,9 @@ il_leds_init(struct il_priv *il) 4 | kasprintf(GFP_KERNEL, "%s-led", wiphy_name(il->hw->wiphy)); 5 | il->led.brightness_set = il_led_brightness_set; 6 | il->led.blink_set = il_led_blink_set; 7 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30) 8 | il->led.max_brightness = 1; 9 | +#endif 10 | 11 | switch (mode) { 12 | case IL_LED_DEFAULT: 13 | --- a/drivers/net/wireless/iwlwifi/dvm/led.c 14 | +++ b/drivers/net/wireless/iwlwifi/dvm/led.c 15 | @@ -187,7 +187,9 @@ void iwl_leds_init(struct iwl_priv *priv 16 | wiphy_name(priv->hw->wiphy)); 17 | priv->led.brightness_set = iwl_led_brightness_set; 18 | priv->led.blink_set = iwl_led_blink_set; 19 | +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,30) 20 | priv->led.max_brightness = 1; 21 | +#endif 22 | 23 | switch (mode) { 24 | case IWL_LED_DEFAULT: 25 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/subdev/instmem/nv04.h: -------------------------------------------------------------------------------- 1 | #ifndef __NV04_INSTMEM_H__ 2 | #define __NV04_INSTMEM_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #include 9 | 10 | struct nv04_instmem_priv { 11 | struct nouveau_instmem base; 12 | bool created; 13 | 14 | void __iomem *iomem; 15 | struct nouveau_mm heap; 16 | 17 | struct nouveau_gpuobj *vbios; 18 | struct nouveau_ramht *ramht; 19 | struct nouveau_gpuobj *ramro; 20 | struct nouveau_gpuobj *ramfc; 21 | }; 22 | 23 | static inline struct nv04_instmem_priv * 24 | nv04_instmem(void *obj) 25 | { 26 | return (void *)nouveau_instmem(obj); 27 | } 28 | 29 | struct nv04_instobj_priv { 30 | struct nouveau_instobj base; 31 | struct nouveau_mm_node *mem; 32 | }; 33 | 34 | void nv04_instmem_dtor(struct nouveau_object *); 35 | 36 | int nv04_instmem_alloc(struct nouveau_instmem *, struct nouveau_object *, 37 | u32 size, u32 align, struct nouveau_object **pobject); 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /compat-drivers-source/README.md: -------------------------------------------------------------------------------- 1 | # Linux compat drivers compatibility package 2 | 3 | This package provides backport support for drivers from newer kernels 4 | down to older kernels. It currently backports 3 subsystems: 5 | 6 | * Ethernet 7 | * Wireless 8 | * Bluetooth 9 | * GPU 10 | 11 | This package provides the latest Linux kernel subsystem enhancements 12 | for kernels 2.6.24 and above. It is technically possible to support 13 | kernels < 2.6.24 but more work is required for that. 14 | 15 | # Documentation 16 | 17 | This package is documented online and has more-up-to date information 18 | online than on this README file. You should read the wiki page 19 | and not rely on this README! 20 | 21 | https://backports.wiki.kernel.org 22 | 23 | # License 24 | 25 | This work is a subset of the Linux kernel as such we keep the kernel's 26 | Copyright practice. Some files have their own copyright and in those 27 | cases the license is mentioned in the file. All additional work made 28 | to building this package is licensed under the GPLv2. 29 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/subdev/vga.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_VGA_H__ 2 | #define __NOUVEAU_VGA_H__ 3 | 4 | #include 5 | 6 | /* access to various legacy io ports */ 7 | u8 nv_rdport(void *obj, int head, u16 port); 8 | void nv_wrport(void *obj, int head, u16 port, u8 value); 9 | 10 | /* VGA Sequencer */ 11 | u8 nv_rdvgas(void *obj, int head, u8 index); 12 | void nv_wrvgas(void *obj, int head, u8 index, u8 value); 13 | 14 | /* VGA Graphics */ 15 | u8 nv_rdvgag(void *obj, int head, u8 index); 16 | void nv_wrvgag(void *obj, int head, u8 index, u8 value); 17 | 18 | /* VGA CRTC */ 19 | u8 nv_rdvgac(void *obj, int head, u8 index); 20 | void nv_wrvgac(void *obj, int head, u8 index, u8 value); 21 | 22 | /* VGA indexed port access dispatcher */ 23 | u8 nv_rdvgai(void *obj, int head, u16 port, u8 index); 24 | void nv_wrvgai(void *obj, int head, u16 port, u8 index, u8 value); 25 | 26 | bool nv_lockvgac(void *obj, bool lock); 27 | u8 nv_rdvgaowner(void *obj); 28 | void nv_wrvgaowner(void *obj, u8); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/b43/Makefile: -------------------------------------------------------------------------------- 1 | b43-y += main.o 2 | b43-y += bus.o 3 | b43-y += tables.o 4 | b43-$(CONFIG_B43_PHY_N) += tables_nphy.o 5 | b43-$(CONFIG_B43_PHY_N) += radio_2055.o 6 | b43-$(CONFIG_B43_PHY_N) += radio_2056.o 7 | b43-$(CONFIG_B43_PHY_N) += radio_2057.o 8 | b43-y += phy_common.o 9 | b43-y += phy_g.o 10 | b43-y += phy_a.o 11 | b43-$(CONFIG_B43_PHY_N) += phy_n.o 12 | b43-$(CONFIG_B43_PHY_LP) += phy_lp.o 13 | b43-$(CONFIG_B43_PHY_LP) += tables_lpphy.o 14 | b43-$(CONFIG_B43_PHY_HT) += phy_ht.o 15 | b43-$(CONFIG_B43_PHY_HT) += tables_phy_ht.o 16 | b43-$(CONFIG_B43_PHY_HT) += radio_2059.o 17 | b43-$(CONFIG_B43_PHY_LCN) += phy_lcn.o tables_phy_lcn.o 18 | b43-y += sysfs.o 19 | b43-y += xmit.o 20 | b43-y += lo.o 21 | b43-y += wa.o 22 | b43-y += dma.o 23 | b43-y += pio.o 24 | b43-y += rfkill.o 25 | b43-$(CONFIG_B43_LEDS) += leds.o 26 | b43-$(CONFIG_B43_PCMCIA) += pcmcia.o 27 | b43-$(CONFIG_B43_SDIO) += sdio.o 28 | b43-$(CONFIG_B43_DEBUG) += debugfs.o 29 | 30 | obj-$(CONFIG_B43) += b43.o 31 | -------------------------------------------------------------------------------- /compat-drivers-source/net/mac80211/event.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2007 Johannes Berg 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 2 as 6 | * published by the Free Software Foundation. 7 | * 8 | * mac80211 - events 9 | */ 10 | #include 11 | #include "ieee80211_i.h" 12 | 13 | /* 14 | * Indicate a failed Michael MIC to userspace. If the caller knows the TSC of 15 | * the frame that generated the MIC failure (i.e., if it was provided by the 16 | * driver or is still in the frame), it should provide that information. 17 | */ 18 | void mac80211_ev_michael_mic_failure(struct ieee80211_sub_if_data *sdata, int keyidx, 19 | struct ieee80211_hdr *hdr, const u8 *tsc, 20 | gfp_t gfp) 21 | { 22 | cfg80211_michael_mic_failure(sdata->dev, hdr->addr2, 23 | (hdr->addr1[0] & 0x01) ? 24 | NL80211_KEYTYPE_GROUP : 25 | NL80211_KEYTYPE_PAIRWISE, 26 | keyidx, tsc, gfp); 27 | } 28 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/gma500/mid_bios.h: -------------------------------------------------------------------------------- 1 | /************************************************************************** 2 | * Copyright (c) 2011, Intel Corporation. 3 | * All Rights Reserved. 4 | * 5 | * This program is free software; you can redistribute it and/or modify it 6 | * under the terms and conditions of the GNU General Public License, 7 | * version 2, as published by the Free Software Foundation. 8 | * 9 | * This program is distributed in the hope it will be useful, but WITHOUT 10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 | * more details. 13 | * 14 | * You should have received a copy of the GNU General Public License along with 15 | * this program; if not, write to the Free Software Foundation, Inc., 16 | * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 17 | * 18 | **************************************************************************/ 19 | 20 | extern int mid_chip_setup(struct drm_device *dev); 21 | 22 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/engine/fifo/nv50.h: -------------------------------------------------------------------------------- 1 | #ifndef __NV50_FIFO_H__ 2 | #define __NV50_FIFO_H__ 3 | 4 | struct nv50_fifo_priv { 5 | struct nouveau_fifo base; 6 | struct nouveau_gpuobj *playlist[2]; 7 | int cur_playlist; 8 | }; 9 | 10 | struct nv50_fifo_base { 11 | struct nouveau_fifo_base base; 12 | struct nouveau_gpuobj *ramfc; 13 | struct nouveau_gpuobj *cache; 14 | struct nouveau_gpuobj *eng; 15 | struct nouveau_gpuobj *pgd; 16 | struct nouveau_vm *vm; 17 | }; 18 | 19 | struct nv50_fifo_chan { 20 | struct nouveau_fifo_chan base; 21 | u32 subc[8]; 22 | struct nouveau_ramht *ramht; 23 | }; 24 | 25 | void nv50_fifo_playlist_update(struct nv50_fifo_priv *); 26 | 27 | void nv50_fifo_object_detach(struct nouveau_object *, int); 28 | void nv50_fifo_chan_dtor(struct nouveau_object *); 29 | int nv50_fifo_chan_fini(struct nouveau_object *, bool); 30 | 31 | void nv50_fifo_context_dtor(struct nouveau_object *); 32 | 33 | void nv50_fifo_dtor(struct nouveau_object *); 34 | int nv50_fifo_init(struct nouveau_object *); 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/spi/libertas_spi.h: -------------------------------------------------------------------------------- 1 | /* 2 | * board-specific data for the libertas_spi driver. 3 | * 4 | * Copyright 2008 Analog Devices Inc. 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation; either version 2 of the License, or (at 9 | * your option) any later version. 10 | */ 11 | #ifndef _LIBERTAS_SPI_H_ 12 | #define _LIBERTAS_SPI_H_ 13 | 14 | struct spi_device; 15 | 16 | struct libertas_spi_platform_data { 17 | /* There are two ways to read data from the WLAN module's SPI 18 | * interface. Setting 0 or 1 here controls which one is used. 19 | * 20 | * Usually you want to set use_dummy_writes = 1. 21 | * However, if that doesn't work or if you are using a slow SPI clock 22 | * speed, you may want to use 0 here. */ 23 | u16 use_dummy_writes; 24 | 25 | /* Board specific setup/teardown */ 26 | int (*setup)(struct spi_device *spi); 27 | int (*teardown)(struct spi_device *spi); 28 | }; 29 | #endif 30 | -------------------------------------------------------------------------------- /compat-drivers-source/net/wireless/regdb.h: -------------------------------------------------------------------------------- 1 | #ifndef __REGDB_H__ 2 | #define __REGDB_H__ 3 | 4 | /* 5 | * Copyright 2009 John W. Linville 6 | * 7 | * Permission to use, copy, modify, and/or distribute this software for any 8 | * purpose with or without fee is hereby granted, provided that the above 9 | * copyright notice and this permission notice appear in all copies. 10 | * 11 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 12 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 13 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 14 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 15 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 16 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 17 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 18 | */ 19 | 20 | extern const struct ieee80211_regdomain *reg_regdb[]; 21 | extern int reg_regdb_size; 22 | 23 | #endif /* __REGDB_H__ */ 24 | -------------------------------------------------------------------------------- /compat-drivers-source/scripts/compress_modules: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # To be used by distributions using compressed modules 3 | 4 | COMPRESSION_FOUND="n" 5 | COUNT=0; 6 | 7 | for i in $(modprobe -l mac80211); do 8 | let COUNT=$COUNT+1 9 | i=${i##*/} 10 | if [ "$i" = "mac80211.ko.gz" ]; then 11 | COMPRESSION_FOUND="y" 12 | continue 13 | fi 14 | done 15 | 16 | if [ $COUNT -gt 2 ]; then 17 | echo "More than two mac80211 modules are detected, please report this." 18 | exit 19 | fi 20 | 21 | if [ $COMPRESSION_FOUND = "n" ]; then 22 | exit 23 | fi 24 | 25 | DIRS="$KLIB/$KMODDIR/net/mac80211/" 26 | # This handles both drivers/net/ and drivers/net/wireless/ 27 | DIRS="$DIRS $KLIB/$KMODDIR/net/" 28 | DIRS="$DIRS $KLIB/$KMODDIR/drivers/ssb/" 29 | DIRS="$DIRS $KLIB/$KMODDIR/drivers/net/usb/" 30 | DIRS="$DIRS $KLIB/$KMODDIR/drivers/net/wireless/" 31 | DIRS="$DIRS $KLIB/$KMODDIR/drivers/misc/eeprom/" 32 | 33 | for i in $DIRS; do 34 | if [ ! -d $i ]; then 35 | continue; 36 | fi 37 | for driver in $(find $i -type f -name *.ko); do 38 | gzip -9 $driver 39 | done 40 | done 41 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/unaligned/memmove.h: -------------------------------------------------------------------------------- 1 | #ifndef _LINUX_UNALIGNED_MEMMOVE_H 2 | #define _LINUX_UNALIGNED_MEMMOVE_H 3 | 4 | #include 5 | #include 6 | 7 | /* Use memmove here, so gcc does not insert a __builtin_memcpy. */ 8 | 9 | static inline u16 __get_unaligned_memmove16(const void *p) 10 | { 11 | u16 tmp; 12 | memmove(&tmp, p, 2); 13 | return tmp; 14 | } 15 | 16 | static inline u32 __get_unaligned_memmove32(const void *p) 17 | { 18 | u32 tmp; 19 | memmove(&tmp, p, 4); 20 | return tmp; 21 | } 22 | 23 | static inline u64 __get_unaligned_memmove64(const void *p) 24 | { 25 | u64 tmp; 26 | memmove(&tmp, p, 8); 27 | return tmp; 28 | } 29 | 30 | static inline void __put_unaligned_memmove16(u16 val, void *p) 31 | { 32 | memmove(p, &val, 2); 33 | } 34 | 35 | static inline void __put_unaligned_memmove32(u32 val, void *p) 36 | { 37 | memmove(p, &val, 4); 38 | } 39 | 40 | static inline void __put_unaligned_memmove64(u64 val, void *p) 41 | { 42 | memmove(p, &val, 8); 43 | } 44 | 45 | #endif /* _LINUX_UNALIGNED_MEMMOVE_H */ 46 | -------------------------------------------------------------------------------- /compat-drivers-source/compat/compat-3.5.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 Luis R. Rodriguez 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 2 as 6 | * published by the Free Software Foundation. 7 | * 8 | * Compatibility file for Linux wireless for kernels 3.5. 9 | */ 10 | 11 | #include 12 | #include 13 | 14 | /* 15 | * Commit 7a4e7408c5cadb240e068a662251754a562355e3 16 | * exported overflowuid and overflowgid for all 17 | * kernel configurations, prior to that we only 18 | * had it exported when CONFIG_UID16 was enabled. 19 | * We are technically redefining it here but 20 | * nothing seems to be changing it, except 21 | * kernel/ code does epose it via sysctl and 22 | * proc... if required later we can add that here. 23 | */ 24 | #ifndef CONFIG_UID16 25 | int overflowuid = DEFAULT_OVERFLOWUID; 26 | int overflowgid = DEFAULT_OVERFLOWGID; 27 | 28 | EXPORT_SYMBOL(overflowuid); 29 | EXPORT_SYMBOL(overflowgid); 30 | #endif 31 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/nouveau_chan.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_CHAN_H__ 2 | #define __NOUVEAU_CHAN_H__ 3 | 4 | struct nouveau_cli; 5 | 6 | struct nouveau_channel { 7 | struct nouveau_cli *cli; 8 | struct nouveau_drm *drm; 9 | 10 | u32 handle; 11 | u32 vram; 12 | u32 gart; 13 | 14 | struct { 15 | struct nouveau_bo *buffer; 16 | struct nouveau_vma vma; 17 | u32 handle; 18 | } push; 19 | 20 | /* TODO: this will be reworked in the near future */ 21 | bool accel_done; 22 | void *fence; 23 | struct { 24 | int max; 25 | int free; 26 | int cur; 27 | int put; 28 | int ib_base; 29 | int ib_max; 30 | int ib_free; 31 | int ib_put; 32 | } dma; 33 | u32 user_get_hi; 34 | u32 user_get; 35 | u32 user_put; 36 | 37 | struct nouveau_object *object; 38 | }; 39 | 40 | 41 | int nouveau_channel_new(struct nouveau_drm *, struct nouveau_cli *, 42 | u32 parent, u32 handle, u32 arg0, u32 arg1, 43 | struct nouveau_channel **); 44 | void nouveau_channel_del(struct nouveau_channel **); 45 | int nouveau_channel_idle(struct nouveau_channel *); 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ti/wl12xx/debugfs.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of wl12xx 3 | * 4 | * Copyright (C) 2012 Texas Instruments. All rights reserved. 5 | * 6 | * This program is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU General Public License 8 | * version 2 as published by the Free Software Foundation. 9 | * 10 | * This program is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 18 | * 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __WL12XX_DEBUGFS_H__ 23 | #define __WL12XX_DEBUGFS_H__ 24 | 25 | int wl12xx_debugfs_add_files(struct wl1271 *wl, 26 | struct dentry *rootdir); 27 | 28 | #endif /* __WL12XX_DEBUGFS_H__ */ 29 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ti/wl18xx/debugfs.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of wl18xx 3 | * 4 | * Copyright (C) 2012 Texas Instruments. All rights reserved. 5 | * 6 | * This program is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU General Public License 8 | * version 2 as published by the Free Software Foundation. 9 | * 10 | * This program is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 18 | * 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __WL18XX_DEBUGFS_H__ 23 | #define __WL18XX_DEBUGFS_H__ 24 | 25 | int wl18xx_debugfs_add_files(struct wl1271 *wl, 26 | struct dentry *rootdir); 27 | 28 | #endif /* __WL18XX_DEBUGFS_H__ */ 29 | -------------------------------------------------------------------------------- /compat-drivers-source/net/mac80211/tkip.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2002-2004, Instant802 Networks, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 2 as 6 | * published by the Free Software Foundation. 7 | */ 8 | 9 | #ifndef TKIP_H 10 | #define TKIP_H 11 | 12 | #include 13 | #include 14 | #include "key.h" 15 | 16 | u8 *ieee80211_tkip_add_iv(u8 *pos, struct ieee80211_key *key); 17 | 18 | int ieee80211_tkip_encrypt_data(struct crypto_cipher *tfm, 19 | struct ieee80211_key *key, 20 | struct sk_buff *skb, 21 | u8 *payload, size_t payload_len); 22 | 23 | enum { 24 | TKIP_DECRYPT_OK = 0, 25 | TKIP_DECRYPT_NO_EXT_IV = -1, 26 | TKIP_DECRYPT_INVALID_KEYIDX = -2, 27 | TKIP_DECRYPT_REPLAY = -3, 28 | }; 29 | int ieee80211_tkip_decrypt_data(struct crypto_cipher *tfm, 30 | struct ieee80211_key *key, 31 | u8 *payload, size_t payload_len, u8 *ta, 32 | u8 *ra, int only_iv, int queue, 33 | u32 *out_iv32, u16 *out_iv16); 34 | 35 | #endif /* TKIP_H */ 36 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/unified-drivers/network/0004-alx-deactivate-loopback-test.patch: -------------------------------------------------------------------------------- 1 | --- a/drivers/net/ethernet/atheros/alx/alx_ethtool.c 2 | +++ b/drivers/net/ethernet/atheros/alx/alx_ethtool.c 3 | @@ -1687,7 +1687,9 @@ static void alx_self_test(struct net_dev 4 | { 5 | struct alx_adapter *adpt = netdev_priv(netdev); 6 | bool if_running = netif_running(netdev); 7 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) 8 | bool phy_lpback = etest->flags & ETH_TEST_FL_EXTERNAL_LB; 9 | +#endif 10 | 11 | ALX_FLAG_SET(adpt, TESTING); 12 | memset(data, 0, sizeof(u64) * ALX_TEST_LEN); 13 | @@ -1707,10 +1709,12 @@ static void alx_self_test(struct net_dev 14 | if (alx_diag_interrupt(adpt, &data[2])) 15 | etest->flags |= ETH_TEST_FL_FAILED; 16 | 17 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) 18 | if (phy_lpback) 19 | etest->flags |= ETH_TEST_FL_EXTERNAL_LB_DONE; 20 | if (alx_diag_loopback(adpt, &data[3], phy_lpback)) 21 | etest->flags |= ETH_TEST_FL_FAILED; 22 | +#endif 23 | 24 | } else { 25 | netif_info(adpt, hw, adpt->netdev, "online test start...\n"); 26 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/core/mm.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_MM_H__ 2 | #define __NOUVEAU_MM_H__ 3 | 4 | struct nouveau_mm_node { 5 | struct list_head nl_entry; 6 | struct list_head fl_entry; 7 | struct list_head rl_entry; 8 | 9 | u8 type; 10 | u32 offset; 11 | u32 length; 12 | }; 13 | 14 | struct nouveau_mm { 15 | struct list_head nodes; 16 | struct list_head free; 17 | 18 | struct mutex mutex; 19 | 20 | u32 block_size; 21 | int heap_nodes; 22 | }; 23 | 24 | static inline bool 25 | nouveau_mm_initialised(struct nouveau_mm *mm) 26 | { 27 | return mm->block_size != 0; 28 | } 29 | 30 | int nouveau_mm_init(struct nouveau_mm *, u32 offset, u32 length, u32 block); 31 | int nouveau_mm_fini(struct nouveau_mm *); 32 | int nouveau_mm_head(struct nouveau_mm *, u8 type, u32 size_max, u32 size_min, 33 | u32 align, struct nouveau_mm_node **); 34 | int nouveau_mm_tail(struct nouveau_mm *, u8 type, u32 size_max, u32 size_min, 35 | u32 align, struct nouveau_mm_node **); 36 | void nouveau_mm_free(struct nouveau_mm *, struct nouveau_mm_node **); 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /compat-drivers-source/net/mac80211/vht.c: -------------------------------------------------------------------------------- 1 | /* 2 | * VHT handling 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 2 as 6 | * published by the Free Software Foundation. 7 | */ 8 | 9 | #include 10 | #include 11 | #include 12 | #include "ieee80211_i.h" 13 | 14 | 15 | void ieee80211_vht_cap_ie_to_sta_vht_cap(struct ieee80211_sub_if_data *sdata, 16 | struct ieee80211_supported_band *sband, 17 | struct ieee80211_vht_cap *vht_cap_ie, 18 | struct ieee80211_sta_vht_cap *vht_cap) 19 | { 20 | if (WARN_ON_ONCE(!vht_cap)) 21 | return; 22 | 23 | memset(vht_cap, 0, sizeof(*vht_cap)); 24 | 25 | if (!vht_cap_ie || !sband->vht_cap.vht_supported) 26 | return; 27 | 28 | vht_cap->vht_supported = true; 29 | 30 | vht_cap->cap = le32_to_cpu(vht_cap_ie->vht_cap_info); 31 | 32 | /* Copy peer MCS info, the driver might need them. */ 33 | memcpy(&vht_cap->vht_mcs, &vht_cap_ie->supp_mcs, 34 | sizeof(struct ieee80211_vht_mcs_info)); 35 | } 36 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/drm/10-radeon-revert-acpi-table-size-check.patch: -------------------------------------------------------------------------------- 1 | acpi_get_table_with_size() was exported with kernels >= 3.6. Revert the 2 | size checking for kernels < 3.6. 3 | 4 | --- a/drivers/gpu/drm/radeon/radeon_bios.c 5 | +++ b/drivers/gpu/drm/radeon/radeon_bios.c 6 | @@ -554,12 +554,21 @@ static bool radeon_acpi_vfct_bios(struct 7 | { 8 | bool ret = false; 9 | struct acpi_table_header *hdr; 10 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)) 11 | acpi_size tbl_size; 12 | +#else 13 | + /* acpi_get_table_with_size() not exported on kernels < 3.6 */ 14 | + acpi_size tbl_size = 0x7fffffff; 15 | +#endif 16 | UEFI_ACPI_VFCT *vfct; 17 | GOP_VBIOS_CONTENT *vbios; 18 | VFCT_IMAGE_HEADER *vhdr; 19 | 20 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)) 21 | if (!ACPI_SUCCESS(acpi_get_table_with_size("VFCT", 1, &hdr, &tbl_size))) 22 | +#else 23 | + if (!ACPI_SUCCESS(acpi_get_table("VFCT", 1, &hdr))) 24 | +#endif 25 | return false; 26 | if (tbl_size < sizeof(UEFI_ACPI_VFCT)) { 27 | DRM_ERROR("ACPI VFCT table present but broken (too short #1)\n"); 28 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/b43/tables_phy_lcn.h: -------------------------------------------------------------------------------- 1 | #ifndef B43_TABLES_PHY_LCN_H_ 2 | #define B43_TABLES_PHY_LCN_H_ 3 | 4 | /* The LCN-PHY tables. */ 5 | #define B43_LCNTAB_TYPEMASK 0xF0000000 6 | #define B43_LCNTAB_8BIT 0x10000000 7 | #define B43_LCNTAB_16BIT 0x20000000 8 | #define B43_LCNTAB_32BIT 0x30000000 9 | #define B43_LCNTAB8(table, offset) (((table) << 10) | (offset) | B43_LCNTAB_8BIT) 10 | #define B43_LCNTAB16(table, offset) (((table) << 10) | (offset) | B43_LCNTAB_16BIT) 11 | #define B43_LCNTAB32(table, offset) (((table) << 10) | (offset) | B43_LCNTAB_32BIT) 12 | 13 | #define B43_LCNTAB_TX_GAIN_SIZE 128 14 | 15 | u32 b43_lcntab_read(struct b43_wldev *dev, u32 offset); 16 | void b43_lcntab_read_bulk(struct b43_wldev *dev, u32 offset, 17 | unsigned int nr_elements, void *_data); 18 | void b43_lcntab_write(struct b43_wldev *dev, u32 offset, u32 value); 19 | void b43_lcntab_write_bulk(struct b43_wldev *dev, u32 offset, 20 | unsigned int nr_elements, const void *_data); 21 | 22 | void b43_phy_lcn_tables_init(struct b43_wldev *dev); 23 | 24 | #endif /* B43_TABLES_PHY_LCN_H_ */ 25 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/subdev/bios/therm.h: -------------------------------------------------------------------------------- 1 | #ifndef __NVBIOS_THERM_H__ 2 | #define __NVBIOS_THERM_H__ 3 | 4 | struct nouveau_bios; 5 | 6 | struct nvbios_therm_threshold { 7 | u8 temp; 8 | u8 hysteresis; 9 | }; 10 | 11 | struct nvbios_therm_sensor { 12 | /* diode */ 13 | s16 slope_mult; 14 | s16 slope_div; 15 | s16 offset_num; 16 | s16 offset_den; 17 | s8 offset_constant; 18 | 19 | /* thresholds */ 20 | struct nvbios_therm_threshold thrs_fan_boost; 21 | struct nvbios_therm_threshold thrs_down_clock; 22 | struct nvbios_therm_threshold thrs_critical; 23 | struct nvbios_therm_threshold thrs_shutdown; 24 | }; 25 | 26 | struct nvbios_therm_fan { 27 | u16 pwm_freq; 28 | 29 | u8 min_duty; 30 | u8 max_duty; 31 | }; 32 | 33 | enum nvbios_therm_domain { 34 | NVBIOS_THERM_DOMAIN_CORE, 35 | NVBIOS_THERM_DOMAIN_AMBIENT, 36 | }; 37 | 38 | int 39 | nvbios_therm_sensor_parse(struct nouveau_bios *, enum nvbios_therm_domain, 40 | struct nvbios_therm_sensor *); 41 | 42 | int 43 | nvbios_therm_fan_parse(struct nouveau_bios *, struct nvbios_therm_fan *); 44 | 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/ssb/ssb_driver_mips.h: -------------------------------------------------------------------------------- 1 | #ifndef LINUX_SSB_MIPSCORE_H_ 2 | #define LINUX_SSB_MIPSCORE_H_ 3 | 4 | #ifdef CONFIG_SSB_DRIVER_MIPS 5 | 6 | struct ssb_device; 7 | 8 | struct ssb_serial_port { 9 | void *regs; 10 | unsigned long clockspeed; 11 | unsigned int irq; 12 | unsigned int baud_base; 13 | unsigned int reg_shift; 14 | }; 15 | 16 | struct ssb_pflash { 17 | bool present; 18 | u8 buswidth; 19 | u32 window; 20 | u32 window_size; 21 | }; 22 | 23 | struct ssb_mipscore { 24 | struct ssb_device *dev; 25 | 26 | int nr_serial_ports; 27 | struct ssb_serial_port serial_ports[4]; 28 | 29 | struct ssb_pflash pflash; 30 | }; 31 | 32 | extern void ssb_mipscore_init(struct ssb_mipscore *mcore); 33 | extern u32 ssb_cpu_clock(struct ssb_mipscore *mcore); 34 | 35 | extern unsigned int ssb_mips_irq(struct ssb_device *dev); 36 | 37 | 38 | #else /* CONFIG_SSB_DRIVER_MIPS */ 39 | 40 | struct ssb_mipscore { 41 | }; 42 | 43 | static inline 44 | void ssb_mipscore_init(struct ssb_mipscore *mcore) 45 | { 46 | } 47 | 48 | #endif /* CONFIG_SSB_DRIVER_MIPS */ 49 | 50 | #endif /* LINUX_SSB_MIPSCORE_H_ */ 51 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/b43/phy_lcn.h: -------------------------------------------------------------------------------- 1 | #ifndef B43_PHY_LCN_H_ 2 | #define B43_PHY_LCN_H_ 3 | 4 | #include "phy_common.h" 5 | 6 | 7 | #define B43_PHY_LCN_AFE_CTL1 B43_PHY_OFDM(0x03B) 8 | #define B43_PHY_LCN_AFE_CTL2 B43_PHY_OFDM(0x03C) 9 | #define B43_PHY_LCN_RF_CTL1 B43_PHY_OFDM(0x04C) 10 | #define B43_PHY_LCN_RF_CTL2 B43_PHY_OFDM(0x04D) 11 | #define B43_PHY_LCN_TABLE_ADDR B43_PHY_OFDM(0x055) /* Table address */ 12 | #define B43_PHY_LCN_TABLE_DATALO B43_PHY_OFDM(0x056) /* Table data low */ 13 | #define B43_PHY_LCN_TABLE_DATAHI B43_PHY_OFDM(0x057) /* Table data high */ 14 | #define B43_PHY_LCN_RF_CTL3 B43_PHY_OFDM(0x0B0) 15 | #define B43_PHY_LCN_RF_CTL4 B43_PHY_OFDM(0x0B1) 16 | #define B43_PHY_LCN_RF_CTL5 B43_PHY_OFDM(0x0B7) 17 | #define B43_PHY_LCN_RF_CTL6 B43_PHY_OFDM(0x0F9) 18 | #define B43_PHY_LCN_RF_CTL7 B43_PHY_OFDM(0x0FA) 19 | 20 | 21 | struct b43_phy_lcn { 22 | bool hw_pwr_ctl; 23 | bool hw_pwr_ctl_capable; 24 | u8 tx_pwr_curr_idx; 25 | }; 26 | 27 | 28 | struct b43_phy_operations; 29 | extern const struct b43_phy_operations b43_phyops_lcn; 30 | 31 | #endif /* B43_PHY_LCN_H_ */ 32 | -------------------------------------------------------------------------------- /compat-drivers-source/compat/compat-3.2.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2012 Luis R. Rodriguez 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 2 as 6 | * published by the Free Software Foundation. 7 | * 8 | * Compatibility file for Linux wireless for kernels 3.2. 9 | */ 10 | 11 | #include 12 | #include 13 | 14 | int __netdev_printk(const char *level, const struct net_device *dev, 15 | struct va_format *vaf) 16 | { 17 | int r; 18 | 19 | if (dev && dev->dev.parent) 20 | #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,35)) 21 | r = dev_printk(level, dev->dev.parent, "%s: %pV", 22 | netdev_name(dev), vaf); 23 | #else 24 | /* XXX: this could likely be done better but I'm lazy */ 25 | r = printk("%s%s: %pV", level, netdev_name(dev), vaf); 26 | #endif 27 | else if (dev) 28 | r = printk("%s%s: %pV", level, netdev_name(dev), vaf); 29 | else 30 | r = printk("%s(NULL net_device): %pV", level, vaf); 31 | 32 | return r; 33 | } 34 | EXPORT_SYMBOL_GPL(__netdev_printk); 35 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/brcm80211/brcmsmac/brcms_trace_events.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Broadcom Corporation 3 | * 4 | * Permission to use, copy, modify, and/or distribute this software for any 5 | * purpose with or without fee is hereby granted, provided that the above 6 | * copyright notice and this permission notice appear in all copies. 7 | * 8 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 11 | * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 13 | * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 14 | * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 | */ 16 | 17 | #include /* bug in tracepoint.h, it should include this */ 18 | 19 | #ifndef __CHECKER__ 20 | #include "mac80211_if.h" 21 | #define CREATE_TRACE_POINTS 22 | #include "brcms_trace_events.h" 23 | #endif 24 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ti/wl18xx/io.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of wl18xx 3 | * 4 | * Copyright (C) 2011 Texas Instruments 5 | * 6 | * This program is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU General Public License 8 | * version 2 as published by the Free Software Foundation. 9 | * 10 | * This program is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 18 | * 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef __WL18XX_IO_H__ 23 | #define __WL18XX_IO_H__ 24 | 25 | int __must_check wl18xx_top_reg_write(struct wl1271 *wl, int addr, u16 val); 26 | int __must_check wl18xx_top_reg_read(struct wl1271 *wl, int addr, u16 *out); 27 | 28 | #endif /* __WL18XX_IO_H__ */ 29 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/brcm80211/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile fragment for Broadcom 802.11n Networking Device Driver 3 | # 4 | # Copyright (c) 2010 Broadcom Corporation 5 | # 6 | # Permission to use, copy, modify, and/or distribute this software for any 7 | # purpose with or without fee is hereby granted, provided that the above 8 | # copyright notice and this permission notice appear in all copies. 9 | # 10 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 | # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 | # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 13 | # SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 | # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 15 | # OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 16 | # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 | 18 | # common flags 19 | subdir-ccflags-$(CONFIG_BRCMDBG) += -DDEBUG 20 | 21 | obj-$(CONFIG_BRCMUTIL) += brcmutil/ 22 | obj-$(CONFIG_BRCMFMAC) += brcmfmac/ 23 | obj-$(CONFIG_BRCMSMAC) += brcmsmac/ 24 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/gma500/Kconfig: -------------------------------------------------------------------------------- 1 | config DRM_GMA500 2 | tristate "Intel GMA5/600 KMS Framebuffer" 3 | depends on DRM && PCI && X86 4 | select FB_CFB_COPYAREA 5 | select FB_CFB_FILLRECT 6 | select FB_CFB_IMAGEBLIT 7 | select DRM_KMS_HELPER 8 | select DRM_TTM 9 | help 10 | Say yes for an experimental 2D KMS framebuffer driver for the 11 | Intel GMA500 ('Poulsbo') and other Intel IMG based graphics 12 | devices. 13 | 14 | config DRM_GMA600 15 | bool "Intel GMA600 support (Experimental)" 16 | depends on DRM_GMA500 17 | help 18 | Say yes to include support for GMA600 (Intel Moorestown/Oaktrail) 19 | platforms with LVDS ports. MIPI is not currently supported. 20 | 21 | config DRM_GMA3600 22 | bool "Intel GMA3600/3650 support (Experimental)" 23 | depends on DRM_GMA500 24 | help 25 | Say yes to include basic support for Intel GMA3600/3650 (Intel 26 | Cedar Trail) platforms. 27 | 28 | config DRM_MEDFIELD 29 | bool "Intel Medfield support (Experimental)" 30 | depends on DRM_GMA500 && X86_INTEL_MID 31 | help 32 | Say yes to include support for the Intel Medfield platform. 33 | 34 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/core/handle.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_HANDLE_H__ 2 | #define __NOUVEAU_HANDLE_H__ 3 | 4 | struct nouveau_handle { 5 | struct nouveau_namedb *namedb; 6 | struct list_head node; 7 | 8 | struct list_head head; 9 | struct list_head tree; 10 | u32 name; 11 | u32 priv; 12 | 13 | struct nouveau_handle *parent; 14 | struct nouveau_object *object; 15 | }; 16 | 17 | int nouveau_handle_create(struct nouveau_object *, u32 parent, u32 handle, 18 | struct nouveau_object *, struct nouveau_handle **); 19 | void nouveau_handle_destroy(struct nouveau_handle *); 20 | int nouveau_handle_init(struct nouveau_handle *); 21 | int nouveau_handle_fini(struct nouveau_handle *, bool suspend); 22 | 23 | struct nouveau_object * 24 | nouveau_handle_ref(struct nouveau_object *, u32 name); 25 | 26 | struct nouveau_handle *nouveau_handle_get_class(struct nouveau_object *, u16); 27 | struct nouveau_handle *nouveau_handle_get_vinst(struct nouveau_object *, u64); 28 | struct nouveau_handle *nouveau_handle_get_cinst(struct nouveau_object *, u32); 29 | void nouveau_handle_put(struct nouveau_handle *); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/44-deactivate-mac80211-tracing.patch: -------------------------------------------------------------------------------- 1 | Do not activate the mac80211 tracing for kernels <= 2.6.32 2 | 3 | --- a/net/mac80211/Makefile 4 | +++ b/net/mac80211/Makefile 5 | @@ -25,7 +25,9 @@ mac80211-y := \ 6 | wme.o \ 7 | event.o \ 8 | chan.o \ 9 | - trace.o mlme.o 10 | + mlme.o 11 | + 12 | +mac80211-$(CONFIG_COMPAT_MAC80211_DRIVER_API_TRACER) += trace.o 13 | 14 | mac80211-$(CONFIG_MAC80211_LEDS) += led.o 15 | mac80211-$(CONFIG_MAC80211_DEBUGFS) += \ 16 | --- a/net/wireless/Makefile 17 | +++ b/net/wireless/Makefile 18 | @@ -10,7 +10,8 @@ obj-$(CONFIG_WEXT_SPY) += wext-spy.o 19 | obj-$(CONFIG_WEXT_PRIV) += wext-priv.o 20 | 21 | cfg80211-y += core.o sysfs.o radiotap.o util.o reg.o scan.o nl80211.o 22 | -cfg80211-y += mlme.o ibss.o sme.o chan.o ethtool.o mesh.o ap.o trace.o 23 | +cfg80211-y += mlme.o ibss.o sme.o chan.o ethtool.o mesh.o ap.o 24 | +cfg80211-$(CONFIG_COMPAT_CFG80211_DRIVER_API_TRACER) += trace.o 25 | cfg80211-$(CONFIG_CFG80211_DEBUGFS) += debugfs.o 26 | cfg80211-$(CONFIG_CFG80211_WEXT) += wext-compat.o wext-sme.o 27 | cfg80211-$(CONFIG_CFG80211_INTERNAL_REGDB) += regdb.o 28 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ti/wlcore/testmode.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of wl1271 3 | * 4 | * Copyright (C) 2010 Nokia Corporation 5 | * 6 | * Contact: Luciano Coelho 7 | * 8 | * This program is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU General Public License 10 | * version 2 as published by the Free Software Foundation. 11 | * 12 | * This program is distributed in the hope that it will be useful, but 13 | * WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU General Public License 18 | * along with this program; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 20 | * 02110-1301 USA 21 | * 22 | */ 23 | 24 | #ifndef __TESTMODE_H__ 25 | #define __TESTMODE_H__ 26 | 27 | #include 28 | 29 | int wl1271_tm_cmd(struct ieee80211_hw *hw, void *data, int len); 30 | 31 | #endif /* __WL1271_TESTMODE_H__ */ 32 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ti/wl1251/debugfs.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of wl1251 3 | * 4 | * Copyright (C) 2009 Nokia Corporation 5 | * 6 | * This program is free software; you can redistribute it and/or 7 | * modify it under the terms of the GNU General Public License 8 | * version 2 as published by the Free Software Foundation. 9 | * 10 | * This program is distributed in the hope that it will be useful, but 11 | * WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 | * General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with this program; if not, write to the Free Software 17 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 18 | * 02110-1301 USA 19 | * 20 | */ 21 | 22 | #ifndef WL1251_DEBUGFS_H 23 | #define WL1251_DEBUGFS_H 24 | 25 | #include "wl1251.h" 26 | 27 | int wl1251_debugfs_init(struct wl1251 *wl); 28 | void wl1251_debugfs_exit(struct wl1251 *wl); 29 | void wl1251_debugfs_reset(struct wl1251 *wl); 30 | 31 | #endif /* WL1251_DEBUGFS_H */ 32 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ath/wil6210/Kconfig: -------------------------------------------------------------------------------- 1 | config WIL6210 2 | tristate "Wilocity 60g WiFi card wil6210 support" 3 | depends on CFG80211 4 | depends on PCI 5 | default n 6 | ---help--- 7 | This module adds support for wireless adapter based on 8 | wil6210 chip by Wilocity. It supports operation on the 9 | 60 GHz band, covered by the IEEE802.11ad standard. 10 | 11 | http://wireless.kernel.org/en/users/Drivers/wil6210 12 | 13 | If you choose to build it as a module, it will be called 14 | wil6210 15 | 16 | config WIL6210_ISR_COR 17 | bool "Use Clear-On-Read mode for ISR registers for wil6210" 18 | depends on WIL6210 19 | default y 20 | ---help--- 21 | ISR registers on wil6210 chip may operate in either 22 | COR (Clear-On-Read) or W1C (Write-1-to-Clear) mode. 23 | For production code, use COR (say y); is default since 24 | it saves extra target transaction; 25 | For ISR debug, use W1C (say n); is allows to monitor ISR 26 | registers with debugfs. If COR were used, ISR would 27 | self-clear when accessed for debug purposes, it makes 28 | such monitoring impossible. 29 | Say y unless you debug interrupts 30 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ti/wl1251/Kconfig: -------------------------------------------------------------------------------- 1 | menuconfig WL1251 2 | tristate "TI wl1251 driver support" 3 | depends on MAC80211 && EXPERIMENTAL && GENERIC_HARDIRQS 4 | select FW_LOADER 5 | select CRC7 6 | ---help--- 7 | This will enable TI wl1251 driver support. The drivers make 8 | use of the mac80211 stack. 9 | 10 | If you choose to build a module, it'll be called wl1251. Say 11 | N if unsure. 12 | 13 | config WL1251_SPI 14 | tristate "TI wl1251 SPI support" 15 | depends on WL1251 && SPI_MASTER 16 | ---help--- 17 | This module adds support for the SPI interface of adapters using 18 | TI wl1251 chipset. Select this if your platform is using 19 | the SPI bus. 20 | 21 | If you choose to build a module, it'll be called wl1251_spi. 22 | Say N if unsure. 23 | 24 | config WL1251_SDIO 25 | tristate "TI wl1251 SDIO support" 26 | depends on WL1251 && MMC 27 | ---help--- 28 | This module adds support for the SDIO interface of adapters using 29 | TI wl1251 chipset. Select this if your platform is using 30 | the SDIO bus. 31 | 32 | If you choose to build a module, it'll be called 33 | wl1251_sdio. Say N if unsure. 34 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/subdev/bios/gpio.h: -------------------------------------------------------------------------------- 1 | #ifndef __NVBIOS_GPIO_H__ 2 | #define __NVBIOS_GPIO_H__ 3 | 4 | struct nouveau_bios; 5 | 6 | enum dcb_gpio_func_name { 7 | DCB_GPIO_PANEL_POWER = 0x01, 8 | DCB_GPIO_TVDAC0 = 0x0c, 9 | DCB_GPIO_TVDAC1 = 0x2d, 10 | DCB_GPIO_PWM_FAN = 0x09, 11 | DCB_GPIO_FAN_SENSE = 0x3d, 12 | DCB_GPIO_UNUSED = 0xff 13 | }; 14 | 15 | struct dcb_gpio_func { 16 | u8 func; 17 | u8 line; 18 | u8 log[2]; 19 | 20 | /* so far, "param" seems to only have an influence on PWM-related 21 | * GPIOs such as FAN_CONTROL and PANEL_BACKLIGHT_LEVEL. 22 | * if param equals 1, hardware PWM is available 23 | * if param equals 0, the host should toggle the GPIO itself 24 | */ 25 | u8 param; 26 | }; 27 | 28 | u16 dcb_gpio_table(struct nouveau_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len); 29 | u16 dcb_gpio_entry(struct nouveau_bios *, int idx, int ent, u8 *ver, u8 *len); 30 | u16 dcb_gpio_parse(struct nouveau_bios *, int idx, int ent, u8 *ver, u8 *len, 31 | struct dcb_gpio_func *); 32 | u16 dcb_gpio_match(struct nouveau_bios *, int idx, u8 func, u8 line, 33 | u8 *ver, u8 *len, struct dcb_gpio_func *); 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /compat-drivers-source/scripts/check_config.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # This script checks the compat-drivers configuration file and if changes were made 3 | # regenerates the compat_autoconf header. 4 | 5 | # These variables are expected to be exported: 6 | #COMPAT_CONFIG_CW=$(PWD)/config.mk 7 | #COMPAT_CONFIG=$(PWD)/.config 8 | #CONFIG_CHECK=$(PWD)/.config.mk_md5sum.txt 9 | #COMPAT_AUTOCONF=include/linux/compat_autoconf.h 10 | 11 | 12 | function gen_compat_autoconf { 13 | echo "./scripts/gen-compat-autoconf.sh $COMPAT_CONFIG $COMPAT_CONFIG_CW > $COMPAT_AUTOCONF" 14 | ./scripts/gen-compat-autoconf.sh $COMPAT_CONFIG $COMPAT_CONFIG_CW > $COMPAT_AUTOCONF 15 | md5sum $COMPAT_CONFIG $COMPAT_CONFIG_CW > $CONFIG_CHECK 16 | } 17 | 18 | which md5sum 2>&1 > /dev/null 19 | if [ $? -ne 0 ]; then 20 | echo "md5sum required to detect changes on config file" 21 | exit -1 22 | fi 23 | 24 | if [ ! -f $CONFIG_CHECK ]; then 25 | gen_compat_autoconf 26 | exit 27 | fi 28 | 29 | md5sum -c $CONFIG_CHECK 2> /dev/null 1>/dev/null 30 | 31 | if [ $? -ne 0 ]; then 32 | echo "Changes to compat-drivers's configuration was detected, regenerating autoconf..." 33 | gen_compat_autoconf 34 | fi 35 | 36 | -------------------------------------------------------------------------------- /compat-drivers-source/udev/compat_firmware.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | # This is ported from Ubuntu but ubuntu uses these directories which 4 | # other distributions don't care about: 5 | # FIRMWARE_DIRS="/lib/firmware/updates/$(uname -r) /lib/firmware/updates \ 6 | # /lib/firmware/$(uname -r) /lib/firmware" 7 | # If your distribution looks for firmware in other directories 8 | # feel free to extend this and add your own directory here. 9 | # 10 | FIRMWARE_DIRS="/lib/firmware" 11 | 12 | err() { 13 | echo "$@" >&2 14 | logger -t "${0##*/}[$$]" "$@" 2>/dev/null || true 15 | } 16 | 17 | if [ ! -e /sys$DEVPATH/loading ]; then 18 | err "udev firmware loader misses sysfs directory" 19 | exit 1 20 | fi 21 | 22 | for DIR in $FIRMWARE_DIRS; do 23 | [ -e "$DIR/$FIRMWARE" ] || continue 24 | echo 1 > /sys$DEVPATH/loading 25 | cat "$DIR/$FIRMWARE" > /sys$DEVPATH/data 26 | echo 0 > /sys$DEVPATH/loading 27 | exit 0 28 | done 29 | 30 | echo -1 > /sys$DEVPATH/loading 31 | err "Cannot find firmware file '$FIRMWARE'" 32 | mkdir -p /dev/.udev/firmware-missing 33 | file=$(echo "$FIRMWARE" | sed 's:/:\\x2f:g') 34 | ln -s -f "$DEVPATH" /dev/.udev/firmware-missing/$file 35 | exit 1 36 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/bluetooth/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for the Linux Bluetooth HCI device drivers. 3 | # 4 | 5 | obj-$(CONFIG_BT_HCIVHCI) += hci_vhci.o 6 | obj-$(CONFIG_BT_HCIUART) += hci_uart.o 7 | obj-$(CONFIG_BT_HCIBCM203X) += bcm203x.o 8 | obj-$(CONFIG_BT_HCIBPA10X) += bpa10x.o 9 | obj-$(CONFIG_BT_HCIBFUSB) += bfusb.o 10 | obj-$(CONFIG_BT_HCIDTL1) += dtl1_cs.o 11 | obj-$(CONFIG_BT_HCIBT3C) += bt3c_cs.o 12 | obj-$(CONFIG_BT_HCIBLUECARD) += bluecard_cs.o 13 | obj-$(CONFIG_BT_HCIBTUART) += btuart_cs.o 14 | 15 | obj-$(CONFIG_BT_HCIBTUSB) += btusb.o 16 | obj-$(CONFIG_BT_HCIBTSDIO) += btsdio.o 17 | 18 | obj-$(CONFIG_BT_ATH3K) += ath3k.o 19 | obj-$(CONFIG_BT_MRVL) += btmrvl.o 20 | obj-$(CONFIG_BT_MRVL_SDIO) += btmrvl_sdio.o 21 | obj-$(CONFIG_BT_WILINK) += btwilink.o 22 | 23 | btmrvl-y := btmrvl_main.o 24 | btmrvl-$(CONFIG_DEBUG_FS) += btmrvl_debugfs.o 25 | 26 | hci_uart-y := hci_ldisc.o 27 | hci_uart-$(CONFIG_BT_HCIUART_H4) += hci_h4.o 28 | hci_uart-$(CONFIG_BT_HCIUART_BCSP) += hci_bcsp.o 29 | hci_uart-$(CONFIG_BT_HCIUART_LL) += hci_ll.o 30 | hci_uart-$(CONFIG_BT_HCIUART_ATH3K) += hci_ath.o 31 | hci_uart-$(CONFIG_BT_HCIUART_3WIRE) += hci_h5.o 32 | hci_uart-objs := $(hci_uart-y) 33 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/brcm80211/brcmutil/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile fragment for Broadcom 802.11n Networking Device Driver Utilities 3 | # 4 | # Copyright (c) 2011 Broadcom Corporation 5 | # 6 | # Permission to use, copy, modify, and/or distribute this software for any 7 | # purpose with or without fee is hereby granted, provided that the above 8 | # copyright notice and this permission notice appear in all copies. 9 | # 10 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11 | # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12 | # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 13 | # SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14 | # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 15 | # OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 16 | # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 | 18 | ccflags-y := \ 19 | -I$(obj) \ 20 | -I$(obj)/../include 21 | 22 | BRCMUTIL_OFILES := \ 23 | utils.o 24 | 25 | MODULEPFX := brcmutil 26 | 27 | obj-$(CONFIG_BRCMUTIL) += $(MODULEPFX).o 28 | $(MODULEPFX)-objs = $(BRCMUTIL_OFILES) 29 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/26-sdio-quirks.patch: -------------------------------------------------------------------------------- 1 | The quirks attribute is not available on older kernels. 2 | 3 | --- a/drivers/net/wireless/libertas/if_sdio.c 4 | +++ b/drivers/net/wireless/libertas/if_sdio.c 5 | @@ -873,6 +873,7 @@ static int if_sdio_power_on(struct if_sd 6 | if (ret) 7 | goto release; 8 | 9 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)) 10 | /* For 1-bit transfers to the 8686 model, we need to enable the 11 | * interrupt flag in the CCCR register. Set the MMC_QUIRK_LENIENT_FN0 12 | * bit to allow access to non-vendor registers. */ 13 | @@ -891,6 +892,7 @@ static int if_sdio_power_on(struct if_sd 14 | if (ret) 15 | goto disable; 16 | } 17 | +#endif 18 | 19 | card->ioport = sdio_readb(func, IF_SDIO_IOPORT, &ret); 20 | if (ret) 21 | --- a/drivers/net/wireless/mwifiex/sdio.c 22 | +++ b/drivers/net/wireless/mwifiex/sdio.c 23 | @@ -75,7 +75,9 @@ mwifiex_sdio_probe(struct sdio_func *fun 24 | 25 | card->func = func; 26 | 27 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34)) 28 | func->card->quirks |= MMC_QUIRK_BLKSZ_FOR_BYTE_MODE; 29 | +#endif 30 | 31 | sdio_claim_host(func); 32 | ret = sdio_enable_func(func); 33 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/46-use_other_workqueue.patch: -------------------------------------------------------------------------------- 1 | Old kernel versions do not support WQ_HIGHPRI and WQ_MEM_RECLAIM so we 2 | should use create_singlethread_workqueue() which was used at this 3 | position before. 4 | 5 | --- a/net/bluetooth/hci_core.c 6 | +++ b/net/bluetooth/hci_core.c 7 | @@ -1793,16 +1793,24 @@ int hci_register_dev(struct hci_dev *hde 8 | list_add(&hdev->list, &hci_dev_list); 9 | write_unlock(&hci_dev_list_lock); 10 | 11 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) 12 | hdev->workqueue = alloc_workqueue(hdev->name, WQ_HIGHPRI | WQ_UNBOUND | 13 | WQ_MEM_RECLAIM, 1); 14 | +#else 15 | + hdev->workqueue = create_singlethread_workqueue(hdev->name); 16 | +#endif 17 | if (!hdev->workqueue) { 18 | error = -ENOMEM; 19 | goto err; 20 | } 21 | 22 | +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)) 23 | hdev->req_workqueue = alloc_workqueue(hdev->name, 24 | WQ_HIGHPRI | WQ_UNBOUND | 25 | WQ_MEM_RECLAIM, 1); 26 | +#else 27 | + hdev->req_workqueue = create_singlethread_workqueue(hdev->name); 28 | +#endif 29 | if (!hdev->req_workqueue) { 30 | destroy_workqueue(hdev->workqueue); 31 | error = -ENOMEM; 32 | -------------------------------------------------------------------------------- /compat-drivers-source/scripts/athenable: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright 2007 Luis R. Rodriguez 4 | # 5 | # Makes sure either ath5k or MadWifi are ready to be used. This allows 6 | # us to choose any driver without blacklisting each other. 7 | 8 | . /usr/lib/compat-drivers/modlib.sh 9 | 10 | if [[ $UID -ne 0 ]]; then 11 | echo "Run with root privileges" 12 | exit 13 | fi 14 | 15 | ATH5K="ath5k" 16 | ATH9K="ath9k" 17 | MADWIFI="ath_pci" 18 | # Appended to module file at the end when we want to ignore one 19 | IGNORE_SUFFIX=".ignore" 20 | USAGE="Usage: $0 [ ath5k | madwifi ]" 21 | 22 | # Default behavior: disables any MadWifi driver present and makes sure 23 | # ath5k is enabled 24 | if [ $# -eq 0 ]; then 25 | module_disable $MADWIFI 26 | module_enable $ATH5K 27 | module_enable $ATH9K 28 | exit 29 | elif [ $# -ne 1 ]; then 30 | echo "$USAGE" 31 | exit 32 | fi 33 | 34 | MODULE=$1 35 | if [ "$MODULE" == "ath5k" ]; then 36 | module_disable $MADWIFI 37 | module_enable $ATH5K 38 | module_enable $ATH9K 39 | elif [ "$MODULE" == "madwifi" ]; then 40 | module_disable $ATH5K 41 | module_disable $ATH9K 42 | module_enable $MADWIFI 43 | else 44 | echo "$USAGE" 45 | exit 46 | fi 47 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/gma500/psb_intel_display.h: -------------------------------------------------------------------------------- 1 | /* copyright (c) 2008, Intel Corporation 2 | * 3 | * This program is free software; you can redistribute it and/or modify it 4 | * under the terms and conditions of the GNU General Public License, 5 | * version 2, as published by the Free Software Foundation. 6 | * 7 | * This program is distributed in the hope it will be useful, but WITHOUT 8 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 9 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 10 | * more details. 11 | * 12 | * You should have received a copy of the GNU General Public License along with 13 | * this program; if not, write to the Free Software Foundation, Inc., 14 | * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. 15 | * 16 | * Authors: 17 | * Eric Anholt 18 | */ 19 | 20 | #ifndef _INTEL_DISPLAY_H_ 21 | #define _INTEL_DISPLAY_H_ 22 | 23 | bool psb_intel_pipe_has_type(struct drm_crtc *crtc, int type); 24 | void psb_intel_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, 25 | u16 *green, u16 *blue, uint32_t type, uint32_t size); 26 | void psb_intel_crtc_destroy(struct drm_crtc *crtc); 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/b43/tables_phy_ht.h: -------------------------------------------------------------------------------- 1 | #ifndef B43_TABLES_PHY_HT_H_ 2 | #define B43_TABLES_PHY_HT_H_ 3 | 4 | /* The HT-PHY tables. */ 5 | #define B43_HTTAB_TYPEMASK 0xF0000000 6 | #define B43_HTTAB_8BIT 0x10000000 7 | #define B43_HTTAB_16BIT 0x20000000 8 | #define B43_HTTAB_32BIT 0x30000000 9 | #define B43_HTTAB8(table, offset) (((table) << 10) | (offset) | B43_HTTAB_8BIT) 10 | #define B43_HTTAB16(table, offset) (((table) << 10) | (offset) | B43_HTTAB_16BIT) 11 | #define B43_HTTAB32(table, offset) (((table) << 10) | (offset) | B43_HTTAB_32BIT) 12 | 13 | u32 b43_httab_read(struct b43_wldev *dev, u32 offset); 14 | void b43_httab_read_bulk(struct b43_wldev *dev, u32 offset, 15 | unsigned int nr_elements, void *_data); 16 | void b43_httab_write(struct b43_wldev *dev, u32 offset, u32 value); 17 | void b43_httab_write_few(struct b43_wldev *dev, u32 offset, size_t num, ...); 18 | void b43_httab_write_bulk(struct b43_wldev *dev, u32 offset, 19 | unsigned int nr_elements, const void *_data); 20 | 21 | void b43_phy_ht_tables_init(struct b43_wldev *dev); 22 | 23 | #define B43_HTTAB_1A_C0_LATE_SIZE 128 24 | extern const u32 b43_httab_0x1a_0xc0_late[]; 25 | 26 | #endif /* B43_TABLES_PHY_HT_H_ */ 27 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/mwifiex/cfg80211.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Marvell Wireless LAN device driver: CFG80211 3 | * 4 | * Copyright (C) 2011, Marvell International Ltd. 5 | * 6 | * This software file (the "File") is distributed by Marvell International 7 | * Ltd. under the terms of the GNU General Public License Version 2, June 1991 8 | * (the "License"). You may use, redistribute and/or modify this File in 9 | * accordance with the terms and conditions of the License, a copy of which 10 | * is available by writing to the Free Software Foundation, Inc., 11 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or on the 12 | * worldwide web at http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. 13 | * 14 | * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE 15 | * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE 16 | * ARE EXPRESSLY DISCLAIMED. The License provides additional details about 17 | * this warranty disclaimer. 18 | */ 19 | 20 | #ifndef __MWIFIEX_CFG80211__ 21 | #define __MWIFIEX_CFG80211__ 22 | 23 | #include 24 | 25 | #include "main.h" 26 | 27 | int mwifiex_register_cfg80211(struct mwifiex_adapter *); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/subdev/ltcg.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_LTCG_H__ 2 | #define __NOUVEAU_LTCG_H__ 3 | 4 | #include 5 | #include 6 | 7 | struct nouveau_ltcg { 8 | struct nouveau_subdev base; 9 | }; 10 | 11 | static inline struct nouveau_ltcg * 12 | nouveau_ltcg(void *obj) 13 | { 14 | return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_LTCG]; 15 | } 16 | 17 | #define nouveau_ltcg_create(p,e,o,d) \ 18 | nouveau_subdev_create_((p), (e), (o), 0, "PLTCG", "level2", \ 19 | sizeof(**d), (void **)d) 20 | #define nouveau_ltcg_destroy(p) \ 21 | nouveau_subdev_destroy(&(p)->base) 22 | #define nouveau_ltcg_init(p) \ 23 | nouveau_subdev_init(&(p)->base) 24 | #define nouveau_ltcg_fini(p,s) \ 25 | nouveau_subdev_fini(&(p)->base, (s)) 26 | 27 | #define _nouveau_ltcg_dtor _nouveau_subdev_dtor 28 | #define _nouveau_ltcg_init _nouveau_subdev_init 29 | #define _nouveau_ltcg_fini _nouveau_subdev_fini 30 | 31 | extern struct nouveau_oclass nvc0_ltcg_oclass; 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/network/52-tty-dev.patch: -------------------------------------------------------------------------------- 1 | 2 | tty->dev does not exist until 2.6.37. Typically 3 | subsystems will assign the tty device to a child 4 | to make a symlink under /sys/class/foobar. An example 5 | is the bluetooth subsystem. 6 | 7 | commit 7f4b2b04c88377af30c022f36c060190182850fb 8 | Author: Andrei Warkentin 9 | Date: Fri Feb 11 17:19:26 2011 -0600 10 | 11 | Bluetooth: Make hci a child of the corresponding tty device. 12 | 13 | Make /sys/class/bluetooth/hciX a symlink to 14 | path under corresponding tty. 15 | 16 | Signed-off-by: Andrei Warkentin 17 | Signed-off-by: Gustavo F. Padovan 18 | 19 | 20 | --- a/drivers/bluetooth/hci_ldisc.c 21 | +++ b/drivers/bluetooth/hci_ldisc.c 22 | @@ -421,7 +421,10 @@ static int hci_uart_register_dev(struct 23 | hdev->close = hci_uart_close; 24 | hdev->flush = hci_uart_flush; 25 | hdev->send = hci_uart_send_frame; 26 | + 27 | +#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,36)) 28 | SET_HCIDEV_DEV(hdev, hu->tty->dev); 29 | +#endif 30 | 31 | if (test_bit(HCI_UART_RAW_DEVICE, &hu->hdev_flags)) 32 | set_bit(HCI_QUIRK_RAW_DEVICE, &hdev->quirks); 33 | -------------------------------------------------------------------------------- /compat-drivers-source/include/linux/pm_qos_params.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #ifndef __COMPAT_LINUX_PM_QOS_PARAMS_H 4 | #define __COMPAT_LINUX_PM_QOS_PARAMS_H 5 | 6 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)) 7 | #include_next 8 | #else 9 | /* interface for the pm_qos_power infrastructure of the linux kernel. 10 | * 11 | * Mark Gross 12 | */ 13 | #include 14 | #include 15 | #include 16 | 17 | #define PM_QOS_RESERVED 0 18 | #define PM_QOS_CPU_DMA_LATENCY 1 19 | #define PM_QOS_NETWORK_LATENCY 2 20 | #define PM_QOS_NETWORK_THROUGHPUT 3 21 | #define PM_QOS_SYSTEM_BUS_FREQ 4 22 | 23 | #define PM_QOS_NUM_CLASSES 5 24 | #define PM_QOS_DEFAULT_VALUE -1 25 | 26 | int pm_qos_add_requirement(int qos, char *name, s32 value); 27 | int pm_qos_update_requirement(int qos, char *name, s32 new_value); 28 | void pm_qos_remove_requirement(int qos, char *name); 29 | 30 | int pm_qos_requirement(int qos); 31 | 32 | int pm_qos_add_notifier(int qos, struct notifier_block *notifier); 33 | int pm_qos_remove_notifier(int qos, struct notifier_block *notifier); 34 | #endif /* (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25)) */ 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /compat-drivers-source/code-metrics.txt: -------------------------------------------------------------------------------- 1 | 2 | compat-drivers code metrics 3 | 4 |  1281367 - Total upstream lines of code being pulled 5 | 6 | network 7 | ---------------------------------------- 8 |  3056 - backport code changes 9 |  2563 - backport code additions 10 |  493 - backport code deletions 11 |  14702 - backport from compat module 12 |  17758 - total backport code 13 |  1.3859 - % of code consists of backport work 14 | 15 | drm 16 | ---------------------------------------- 17 |  436 - backport code changes 18 |  293 - backport code additions 19 |  143 - backport code deletions 20 |  14702 - backport from compat module 21 |  15138 - total backport code 22 |  1.1814 - % of code consists of backport work 23 | 24 | Base tree: linux-next.git 25 | Base tree version: next-20130125 26 | compat.git: compat-2013-01-25 27 | compat-drivers release: compat-drivers-2013-01-25-1-g3e51785 28 | Code metrics archive: http://bit.ly/H6BTF7 29 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/pending-stable/README: -------------------------------------------------------------------------------- 1 | compat-drivers pending-stable/ patches 2 | ======================================= 3 | 4 | Often right before the merge window we get a block on non 5 | oops/regression fixes for stable fixes. Some stable fixes 6 | often get propagated afterwards during the extraversion 7 | maintenance of the kernels. Right before the merge window 8 | circa rc4 and rc5 subsystem maintainers get pegged if they 9 | throw in non oops/regression fixes for Linus or their 10 | respective upstream maintainer. While this makes sense 11 | for tree management and stable release considerations we 12 | still need to get users some stable patches propagated. 13 | 14 | This directory is there to help with that. Only patches 15 | which have been merged into linux-next.git will be included 16 | in this directory which means you must post it and the maintainer 17 | should have merged it and Stephen would have picked it up. 18 | 19 | This directory will always be empty for bleeding edge 20 | releases as bleeding edge releases are always based on 21 | linux-next already. This directory only makes sense for 22 | stable release of the kernel, and it we will always try 23 | to use it, in case there are stable fixes not yet propagated. 24 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for the Linux Wireless network device drivers. 3 | # 4 | 5 | obj-$(CONFIG_IPW2100) += ipw2x00/ 6 | obj-$(CONFIG_IPW2200) += ipw2x00/ 7 | 8 | obj-$(CONFIG_HERMES) += orinoco/ 9 | 10 | obj-$(CONFIG_AT76C50X_USB) += at76c50x-usb.o 11 | 12 | obj-$(CONFIG_B43) += b43/ 13 | obj-$(CONFIG_B43LEGACY) += b43legacy/ 14 | obj-$(CONFIG_COMPAT_ZD1211RW) += zd1211rw/ 15 | obj-$(CONFIG_RTL8180) += rtl818x/ 16 | obj-$(CONFIG_RTL8187) += rtl818x/ 17 | obj-$(CONFIG_RTLWIFI) += rtlwifi/ 18 | 19 | obj-$(CONFIG_USB_NET_COMPAT_RNDIS_WLAN) += rndis_wlan.o 20 | 21 | obj-$(CONFIG_LIBERTAS) += libertas/ 22 | 23 | obj-$(CONFIG_LIBERTAS_THINFIRM) += libertas_tf/ 24 | 25 | obj-$(CONFIG_ADM8211) += adm8211.o 26 | 27 | obj-$(CONFIG_MWL8K) += mwl8k.o 28 | 29 | obj-$(CONFIG_IWLWIFI) += iwlwifi/ 30 | obj-$(CONFIG_IWLEGACY) += iwlegacy/ 31 | obj-$(CONFIG_RT2X00) += rt2x00/ 32 | 33 | obj-$(CONFIG_P54_COMMON) += p54/ 34 | 35 | obj-$(CONFIG_ATH_CARDS) += ath/ 36 | 37 | obj-$(CONFIG_COMPAT_MAC80211_HWSIM) += mac80211_hwsim.o 38 | 39 | obj-$(CONFIG_WL_TI) += ti/ 40 | 41 | obj-$(CONFIG_COMPAT_MWIFIEX) += mwifiex/ 42 | 43 | obj-$(CONFIG_BRCMFMAC) += brcm80211/ 44 | obj-$(CONFIG_BRCMSMAC) += brcm80211/ 45 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/rtl818x/rtl8180/sa2400.h: -------------------------------------------------------------------------------- 1 | #ifndef RTL8180_SA2400_H 2 | #define RTL8180_SA2400_H 3 | 4 | /* 5 | * Radio tuning for Philips SA2400 on RTL8180 6 | * 7 | * Copyright 2007 Andrea Merello 8 | * 9 | * Code from the BSD driver and the rtl8181 project have been 10 | * very useful to understand certain things 11 | * 12 | * I want to thanks the Authors of such projects and the Ndiswrapper 13 | * project Authors. 14 | * 15 | * A special Big Thanks also is for all people who donated me cards, 16 | * making possible the creation of the original rtl8180 driver 17 | * from which this code is derived! 18 | * 19 | * This program is free software; you can redistribute it and/or modify 20 | * it under the terms of the GNU General Public License version 2 as 21 | * published by the Free Software Foundation. 22 | */ 23 | 24 | #define SA2400_ANTENNA 0x91 25 | #define SA2400_DIG_ANAPARAM_PWR1_ON 0x8 26 | #define SA2400_ANA_ANAPARAM_PWR1_ON 0x28 27 | #define SA2400_ANAPARAM_PWR0_ON 0x3 28 | 29 | /* RX sensitivity in dbm */ 30 | #define SA2400_MAX_SENS 85 31 | 32 | #define SA2400_REG4_FIRDAC_SHIFT 7 33 | 34 | extern const struct rtl818x_rf_ops sa2400_rf_ops; 35 | 36 | #endif /* RTL8180_SA2400_H */ 37 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/nouveau_acpi.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_ACPI_H__ 2 | #define __NOUVEAU_ACPI_H__ 3 | 4 | #define ROM_BIOS_PAGE 4096 5 | 6 | #if defined(CONFIG_ACPI) 7 | bool nouveau_is_optimus(void); 8 | bool nouveau_is_v1_dsm(void); 9 | void nouveau_register_dsm_handler(void); 10 | void nouveau_unregister_dsm_handler(void); 11 | void nouveau_switcheroo_optimus_dsm(void); 12 | int nouveau_acpi_get_bios_chunk(uint8_t *bios, int offset, int len); 13 | bool nouveau_acpi_rom_supported(struct pci_dev *pdev); 14 | void *nouveau_acpi_edid(struct drm_device *, struct drm_connector *); 15 | #else 16 | static inline bool nouveau_is_optimus(void) { return false; }; 17 | static inline bool nouveau_is_v1_dsm(void) { return false; }; 18 | static inline void nouveau_register_dsm_handler(void) {} 19 | static inline void nouveau_unregister_dsm_handler(void) {} 20 | static inline void nouveau_switcheroo_optimus_dsm(void) {} 21 | static inline bool nouveau_acpi_rom_supported(struct pci_dev *pdev) { return false; } 22 | static inline int nouveau_acpi_get_bios_chunk(uint8_t *bios, int offset, int len) { return -EINVAL; } 23 | static inline void *nouveau_acpi_edid(struct drm_device *dev, struct drm_connector *connector) { return NULL; } 24 | #endif 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ath/Kconfig: -------------------------------------------------------------------------------- 1 | config ATH_COMMON 2 | tristate 3 | 4 | menuconfig ATH_CARDS 5 | tristate "Atheros Wireless Cards" 6 | depends on CFG80211 && (!UML || BROKEN) 7 | ---help--- 8 | This will enable the support for the Atheros wireless drivers. 9 | ath5k, ath9k, ath9k_htc and ar9170 drivers share some common code, this option 10 | enables the common ath.ko module which shares common helpers. 11 | 12 | For more information and documentation on this module you can visit: 13 | 14 | http://wireless.kernel.org/en/users/Drivers/ath 15 | 16 | For information on all Atheros wireless drivers visit: 17 | 18 | http://wireless.kernel.org/en/users/Drivers/Atheros 19 | 20 | if ATH_CARDS 21 | 22 | config ATH_DEBUG 23 | bool "Atheros wireless debugging" 24 | ---help--- 25 | Say Y, if you want to debug atheros wireless drivers. 26 | Right now only ath9k makes use of this. 27 | 28 | source "drivers/net/wireless/ath/ath5k/Kconfig" 29 | source "drivers/net/wireless/ath/ath9k/Kconfig" 30 | source "drivers/net/wireless/ath/carl9170/Kconfig" 31 | source "drivers/net/wireless/ath/ath6kl/Kconfig" 32 | source "drivers/net/wireless/ath/ar5523/Kconfig" 33 | source "drivers/net/wireless/ath/wil6210/Kconfig" 34 | 35 | endif 36 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/subdev/ibus.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_IBUS_H__ 2 | #define __NOUVEAU_IBUS_H__ 3 | 4 | #include 5 | #include 6 | 7 | struct nouveau_ibus { 8 | struct nouveau_subdev base; 9 | }; 10 | 11 | static inline struct nouveau_ibus * 12 | nouveau_ibus(void *obj) 13 | { 14 | return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_IBUS]; 15 | } 16 | 17 | #define nouveau_ibus_create(p,e,o,d) \ 18 | nouveau_subdev_create_((p), (e), (o), 0, "PIBUS", "ibus", \ 19 | sizeof(**d), (void **)d) 20 | #define nouveau_ibus_destroy(p) \ 21 | nouveau_subdev_destroy(&(p)->base) 22 | #define nouveau_ibus_init(p) \ 23 | nouveau_subdev_init(&(p)->base) 24 | #define nouveau_ibus_fini(p,s) \ 25 | nouveau_subdev_fini(&(p)->base, (s)) 26 | 27 | #define _nouveau_ibus_dtor _nouveau_subdev_dtor 28 | #define _nouveau_ibus_init _nouveau_subdev_init 29 | #define _nouveau_ibus_fini _nouveau_subdev_fini 30 | 31 | extern struct nouveau_oclass nvc0_ibus_oclass; 32 | extern struct nouveau_oclass nve0_ibus_oclass; 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/os.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_OS_H__ 2 | #define __NOUVEAU_OS_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | 20 | #include 21 | 22 | static inline int 23 | ffsll(u64 mask) 24 | { 25 | int i; 26 | for (i = 0; i < 64; i++) { 27 | if (mask & (1ULL << i)) 28 | return i + 1; 29 | } 30 | return 0; 31 | } 32 | 33 | #ifndef ioread32_native 34 | #ifdef __BIG_ENDIAN 35 | #define ioread16_native ioread16be 36 | #define iowrite16_native iowrite16be 37 | #define ioread32_native ioread32be 38 | #define iowrite32_native iowrite32be 39 | #else /* def __BIG_ENDIAN */ 40 | #define ioread16_native ioread16 41 | #define iowrite16_native iowrite16 42 | #define ioread32_native ioread32 43 | #define iowrite32_native iowrite32 44 | #endif /* def __BIG_ENDIAN else */ 45 | #endif /* !ioread32_native */ 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/b43/tables.h: -------------------------------------------------------------------------------- 1 | #ifndef B43_TABLES_H_ 2 | #define B43_TABLES_H_ 3 | 4 | #define B43_TAB_ROTOR_SIZE 53 5 | extern const u32 b43_tab_rotor[]; 6 | #define B43_TAB_RETARD_SIZE 53 7 | extern const u32 b43_tab_retard[]; 8 | #define B43_TAB_FINEFREQA_SIZE 256 9 | extern const u16 b43_tab_finefreqa[]; 10 | #define B43_TAB_FINEFREQG_SIZE 256 11 | extern const u16 b43_tab_finefreqg[]; 12 | #define B43_TAB_NOISEA2_SIZE 8 13 | extern const u16 b43_tab_noisea2[]; 14 | #define B43_TAB_NOISEA3_SIZE 8 15 | extern const u16 b43_tab_noisea3[]; 16 | #define B43_TAB_NOISEG1_SIZE 8 17 | extern const u16 b43_tab_noiseg1[]; 18 | #define B43_TAB_NOISEG2_SIZE 8 19 | extern const u16 b43_tab_noiseg2[]; 20 | #define B43_TAB_NOISESCALE_SIZE 27 21 | extern const u16 b43_tab_noisescalea2[]; 22 | extern const u16 b43_tab_noisescalea3[]; 23 | extern const u16 b43_tab_noisescaleg1[]; 24 | extern const u16 b43_tab_noisescaleg2[]; 25 | extern const u16 b43_tab_noisescaleg3[]; 26 | #define B43_TAB_SIGMASQR_SIZE 53 27 | extern const u16 b43_tab_sigmasqr1[]; 28 | extern const u16 b43_tab_sigmasqr2[]; 29 | #define B43_TAB_RSSIAGC1_SIZE 16 30 | extern const u16 b43_tab_rssiagc1[]; 31 | #define B43_TAB_RSSIAGC2_SIZE 48 32 | extern const u16 b43_tab_rssiagc2[]; 33 | 34 | #endif /* B43_TABLES_H_ */ 35 | -------------------------------------------------------------------------------- /compat-drivers-source/net/mac80211/wep.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Software WEP encryption implementation 3 | * Copyright 2002, Jouni Malinen 4 | * Copyright 2003, Instant802 Networks, Inc. 5 | * 6 | * This program is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License version 2 as 8 | * published by the Free Software Foundation. 9 | */ 10 | 11 | #ifndef WEP_H 12 | #define WEP_H 13 | 14 | #include 15 | #include 16 | #include "ieee80211_i.h" 17 | #include "key.h" 18 | 19 | int ieee80211_wep_init(struct ieee80211_local *local); 20 | void ieee80211_wep_free(struct ieee80211_local *local); 21 | int ieee80211_wep_encrypt_data(struct crypto_cipher *tfm, u8 *rc4key, 22 | size_t klen, u8 *data, size_t data_len); 23 | int ieee80211_wep_encrypt(struct ieee80211_local *local, 24 | struct sk_buff *skb, 25 | const u8 *key, int keylen, int keyidx); 26 | int ieee80211_wep_decrypt_data(struct crypto_cipher *tfm, u8 *rc4key, 27 | size_t klen, u8 *data, size_t data_len); 28 | 29 | ieee80211_rx_result 30 | ieee80211_crypto_wep_decrypt(struct ieee80211_rx_data *rx); 31 | ieee80211_tx_result 32 | ieee80211_crypto_wep_encrypt(struct ieee80211_tx_data *tx); 33 | 34 | #endif /* WEP_H */ 35 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/nouveau/core/include/subdev/mxm.h: -------------------------------------------------------------------------------- 1 | #ifndef __NOUVEAU_MXM_H__ 2 | #define __NOUVEAU_MXM_H__ 3 | 4 | #include 5 | #include 6 | 7 | #define MXM_SANITISE_DCB 0x00000001 8 | 9 | struct nouveau_mxm { 10 | struct nouveau_subdev base; 11 | u32 action; 12 | u8 *mxms; 13 | }; 14 | 15 | static inline struct nouveau_mxm * 16 | nouveau_mxm(void *obj) 17 | { 18 | return (void *)nv_device(obj)->subdev[NVDEV_SUBDEV_MXM]; 19 | } 20 | 21 | #define nouveau_mxm_create(p,e,o,d) \ 22 | nouveau_mxm_create_((p), (e), (o), sizeof(**d), (void **)d) 23 | #define nouveau_mxm_init(p) \ 24 | nouveau_subdev_init(&(p)->base) 25 | #define nouveau_mxm_fini(p,s) \ 26 | nouveau_subdev_fini(&(p)->base, (s)) 27 | int nouveau_mxm_create_(struct nouveau_object *, struct nouveau_object *, 28 | struct nouveau_oclass *, int, void **); 29 | void nouveau_mxm_destroy(struct nouveau_mxm *); 30 | 31 | #define _nouveau_mxm_dtor _nouveau_subdev_dtor 32 | #define _nouveau_mxm_init _nouveau_subdev_init 33 | #define _nouveau_mxm_fini _nouveau_subdev_fini 34 | 35 | extern struct nouveau_oclass nv50_mxm_oclass; 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /compat-drivers-source/patches/collateral-evolutions/drm/99-change-makefile.patch: -------------------------------------------------------------------------------- 1 | Remove drivers that we do not want to build from gpu/drm/Makefile 2 | 3 | --- a/drivers/gpu/drm/Makefile 4 | +++ b/drivers/gpu/drm/Makefile 5 | @@ -31,23 +31,14 @@ CFLAGS_drm_trace_points.o := -I$(src) 6 | obj-$(CONFIG_COMPAT_DRM) += drm.o 7 | obj-$(CONFIG_COMPAT_DRM_USB) += drm_usb.o 8 | obj-$(CONFIG_COMPAT_DRM_TTM) += ttm/ 9 | -obj-$(CONFIG_COMPAT_DRM_TDFX) += tdfx/ 10 | -obj-$(CONFIG_COMPAT_DRM_R128) += r128/ 11 | obj-$(CONFIG_COMPAT_DRM_RADEON)+= radeon/ 12 | -obj-$(CONFIG_COMPAT_DRM_MGA) += mga/ 13 | obj-$(CONFIG_COMPAT_DRM_I810) += i810/ 14 | obj-$(CONFIG_COMPAT_DRM_I915) += i915/ 15 | obj-$(CONFIG_COMPAT_DRM_MGAG200) += mgag200/ 16 | obj-$(CONFIG_COMPAT_DRM_CIRRUS_QEMU) += cirrus/ 17 | -obj-$(CONFIG_COMPAT_DRM_SIS) += sis/ 18 | -obj-$(CONFIG_COMPAT_DRM_SAVAGE)+= savage/ 19 | obj-$(CONFIG_COMPAT_DRM_VMWGFX)+= vmwgfx/ 20 | obj-$(CONFIG_COMPAT_DRM_VIA) +=via/ 21 | obj-$(CONFIG_COMPAT_DRM_NOUVEAU) +=nouveau/ 22 | -obj-$(CONFIG_COMPAT_DRM_EXYNOS) +=exynos/ 23 | obj-$(CONFIG_COMPAT_DRM_GMA500) += gma500/ 24 | -obj-$(CONFIG_COMPAT_DRM_UDL) += udl/ 25 | obj-$(CONFIG_COMPAT_DRM_AST) += ast/ 26 | -obj-$(CONFIG_COMPAT_DRM_SHMOBILE) +=shmobile/ 27 | -obj-$(CONFIG_COMPAT_DRM_TEGRA) += tegra/ 28 | obj-y += i2c/ 29 | -------------------------------------------------------------------------------- /compat-drivers-source/net/mac80211/wpa.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2002-2004, Instant802 Networks, Inc. 3 | * 4 | * This program is free software; you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License version 2 as 6 | * published by the Free Software Foundation. 7 | */ 8 | 9 | #ifndef WPA_H 10 | #define WPA_H 11 | 12 | #include 13 | #include 14 | #include "ieee80211_i.h" 15 | 16 | ieee80211_tx_result 17 | ieee80211_tx_h_michael_mic_add(struct ieee80211_tx_data *tx); 18 | ieee80211_rx_result 19 | ieee80211_rx_h_michael_mic_verify(struct ieee80211_rx_data *rx); 20 | 21 | ieee80211_tx_result 22 | ieee80211_crypto_tkip_encrypt(struct ieee80211_tx_data *tx); 23 | ieee80211_rx_result 24 | ieee80211_crypto_tkip_decrypt(struct ieee80211_rx_data *rx); 25 | 26 | ieee80211_tx_result 27 | ieee80211_crypto_ccmp_encrypt(struct ieee80211_tx_data *tx); 28 | ieee80211_rx_result 29 | ieee80211_crypto_ccmp_decrypt(struct ieee80211_rx_data *rx); 30 | 31 | ieee80211_tx_result 32 | ieee80211_crypto_aes_cmac_encrypt(struct ieee80211_tx_data *tx); 33 | ieee80211_rx_result 34 | ieee80211_crypto_aes_cmac_decrypt(struct ieee80211_rx_data *rx); 35 | ieee80211_tx_result 36 | ieee80211_crypto_hw_encrypt(struct ieee80211_tx_data *tx); 37 | 38 | #endif /* WPA_H */ 39 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/bcma/driver_chipcommon_nflash.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Broadcom specific AMBA 3 | * ChipCommon NAND flash interface 4 | * 5 | * Licensed under the GNU/GPL. See COPYING for details. 6 | */ 7 | 8 | #include 9 | #include 10 | 11 | #include "bcma_private.h" 12 | 13 | struct platform_device bcma_nflash_dev = { 14 | .name = "bcma_nflash", 15 | .num_resources = 0, 16 | }; 17 | 18 | /* Initialize NAND flash access */ 19 | int bcma_nflash_init(struct bcma_drv_cc *cc) 20 | { 21 | struct bcma_bus *bus = cc->core->bus; 22 | 23 | if (bus->chipinfo.id != BCMA_CHIP_ID_BCM4706 && 24 | cc->core->id.rev != 0x38) { 25 | bcma_err(bus, "NAND flash on unsupported board!\n"); 26 | return -ENOTSUPP; 27 | } 28 | 29 | if (!(cc->capabilities & BCMA_CC_CAP_NFLASH)) { 30 | bcma_err(bus, "NAND flash not present according to ChipCommon\n"); 31 | return -ENODEV; 32 | } 33 | 34 | cc->nflash.present = true; 35 | if (cc->core->id.rev == 38 && 36 | (cc->status & BCMA_CC_CHIPST_5357_NAND_BOOT)) 37 | cc->nflash.boot = true; 38 | 39 | /* Prepare platform device, but don't register it yet. It's too early, 40 | * malloc (required by device_private_init) is not available yet. */ 41 | bcma_nflash_dev.dev.platform_data = &cc->nflash; 42 | 43 | return 0; 44 | } 45 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/gpu/drm/gma500/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # KMS driver for the GMA500 3 | # 4 | ccflags-y += -I$(srctree)/include/drm 5 | 6 | gma500_gfx-y += \ 7 | accel_2d.o \ 8 | backlight.o \ 9 | framebuffer.o \ 10 | gem.o \ 11 | gtt.o \ 12 | intel_bios.o \ 13 | intel_i2c.o \ 14 | intel_gmbus.o \ 15 | mmu.o \ 16 | power.o \ 17 | psb_drv.o \ 18 | psb_intel_display.o \ 19 | psb_intel_lvds.o \ 20 | psb_intel_modes.o \ 21 | psb_intel_sdvo.o \ 22 | psb_lid.o \ 23 | psb_irq.o \ 24 | psb_device.o \ 25 | mid_bios.o 26 | 27 | gma500_gfx-$(CONFIG_ACPI) += opregion.o \ 28 | 29 | gma500_gfx-$(CONFIG_DRM_GMA3600) += cdv_device.o \ 30 | cdv_intel_crt.o \ 31 | cdv_intel_display.o \ 32 | cdv_intel_hdmi.o \ 33 | cdv_intel_lvds.o \ 34 | cdv_intel_dp.o 35 | 36 | gma500_gfx-$(CONFIG_DRM_GMA600) += oaktrail_device.o \ 37 | oaktrail_crtc.o \ 38 | oaktrail_lvds.o \ 39 | oaktrail_hdmi.o \ 40 | oaktrail_hdmi_i2c.o 41 | 42 | gma500_gfx-$(CONFIG_DRM_MEDFIELD) += mdfld_device.o \ 43 | mdfld_output.o \ 44 | mdfld_intel_display.o \ 45 | mdfld_dsi_output.o \ 46 | mdfld_dsi_dpi.o \ 47 | mdfld_dsi_pkg_sender.o \ 48 | mdfld_tpo_vid.o \ 49 | mdfld_tmd_vid.o \ 50 | tc35876x-dsi-lvds.o 51 | 52 | obj-$(CONFIG_COMPAT_DRM_GMA500) += gma500_gfx.o 53 | -------------------------------------------------------------------------------- /compat-drivers-source/drivers/net/wireless/ti/wl1251/ps.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of wl1251 3 | * 4 | * Copyright (c) 1998-2007 Texas Instruments Incorporated 5 | * Copyright (C) 2008 Nokia Corporation 6 | * 7 | * This program is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU General Public License 9 | * version 2 as published by the Free Software Foundation. 10 | * 11 | * This program is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with this program; if not, write to the Free Software 18 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 19 | * 02110-1301 USA 20 | * 21 | */ 22 | 23 | #ifndef __WL1251_PS_H__ 24 | #define __WL1251_PS_H__ 25 | 26 | #include "wl1251.h" 27 | #include "acx.h" 28 | 29 | int wl1251_ps_set_mode(struct wl1251 *wl, enum wl1251_station_mode mode); 30 | void wl1251_ps_elp_sleep(struct wl1251 *wl); 31 | int wl1251_ps_elp_wakeup(struct wl1251 *wl); 32 | void wl1251_elp_work(struct work_struct *work); 33 | 34 | 35 | #endif /* __WL1251_PS_H__ */ 36 | -------------------------------------------------------------------------------- /compat-drivers-source/enable-older-kernels/enable-2.6.21.patch: -------------------------------------------------------------------------------- 1 | --- a/config.mk 2 | +++ b/config.mk 3 | @@ -33,9 +33,9 @@ endif 4 | COMPAT_VERSIONS := $(shell I=$(COMPAT_LATEST_VERSION); while [ "$$I" -gt $(KERNEL_SUBLEVEL) ]; do echo $$I; I=$$(($$I - 1)); done) 5 | $(foreach ver,$(COMPAT_VERSIONS),$(eval CONFIG_COMPAT_KERNEL_3_$(ver)=y)) 6 | 7 | -ifdef CONFIG_COMPAT_KERNEL_2_6_24 8 | -$(error "ERROR: compat-drivers by default supports kernels >= 2.6.24, try enabling only one driver though") 9 | -endif #CONFIG_COMPAT_KERNEL_2_6_24 10 | +ifdef CONFIG_COMPAT_KERNEL_2_6_21 11 | +$(error "ERROR: compat-drivers by default supports kernels >= 2.6.21, try enabling only one driver though") 12 | +endif #CONFIG_COMPAT_KERNEL_2_6_21 13 | 14 | ifeq ($(CONFIG_CFG80211),y) 15 | $(error "ERROR: your kernel has CONFIG_CFG80211=y, you should have it CONFIG_CFG80211=m if you want to use this thing.") 16 | --- a/scripts/gen-compat-autoconf.sh 17 | +++ b/scripts/gen-compat-autoconf.sh 18 | @@ -11,7 +11,7 @@ 19 | 20 | # This indicates which is the oldest kernel we support 21 | # Update this if you are adding support for older kernels. 22 | -OLDEST_KERNEL_SUPPORTED="2.6.24" 23 | +OLDEST_KERNEL_SUPPORTED="2.6.21" 24 | COMPAT_RELEASE=".compat_version" 25 | KERNEL_RELEASE=".compat_base_tree_version" 26 | MULT_DEP_FILE=".compat_pivot_dep" 27 | --------------------------------------------------------------------------------