diff options
author | Alexandre Oliva <lxoliva@fsfla.org> | 2011-03-17 09:16:06 +0000 |
---|---|---|
committer | Alexandre Oliva <lxoliva@fsfla.org> | 2011-03-17 09:16:06 +0000 |
commit | b2ca97ef073f757f850e7df200f4b38bc74ed5ec (patch) | |
tree | 4357b4cec46548fc80040239ec72a6841e3fdcce /freed-ora/current | |
parent | 2b640b7ca879059492a80ba5aca007fee4b9b9ac (diff) | |
download | linux-libre-raptor-b2ca97ef073f757f850e7df200f4b38bc74ed5ec.tar.gz linux-libre-raptor-b2ca97ef073f757f850e7df200f4b38bc74ed5ec.zip |
Merged from f15 before starting diverging.
Diffstat (limited to 'freed-ora/current')
21 files changed, 1136 insertions, 2680 deletions
diff --git a/freed-ora/current/master/ath5k-fix-fast-channel-change.patch b/freed-ora/current/master/ath5k-fix-fast-channel-change.patch deleted file mode 100644 index cb1cbf392..000000000 --- a/freed-ora/current/master/ath5k-fix-fast-channel-change.patch +++ /dev/null @@ -1,213 +0,0 @@ -From sgruszka@redhat.com Thu Feb 3 07:58:52 2011 -Date: Thu, 3 Feb 2011 13:58:51 +0100 -From: Stanislaw Gruszka <sgruszka@redhat.com> -To: kernel@lists.fedoraproject.org -Cc: Kyle McMartin <kmcmartin@redhat.com> -Subject: [PATCH F-15] ath5k: fix fast channel change -Message-ID: <20110203125134.GA4515@redhat.com> - -From: Nick Kossifidis <mickflemm@gmail.com> - - Fast channel change fixes: - - a) Always set OFDM timings - b) Don't re-activate PHY - c) Enable only NF calibration, not AGC - -Resolves: -https://bugzilla.redhat.com/show_bug.cgi?id=672778 - ---- - drivers/net/wireless/ath/ath5k/phy.c | 142 +++++++++++++++++++++------------- - 1 files changed, 87 insertions(+), 55 deletions(-) - -diff --git a/drivers/net/wireless/ath/ath5k/phy.c b/drivers/net/wireless/ath/ath5k/phy.c -index 78c26fd..d673ab2 100644 ---- a/drivers/net/wireless/ath/ath5k/phy.c -+++ b/drivers/net/wireless/ath/ath5k/phy.c -@@ -282,6 +282,34 @@ int ath5k_hw_phy_disable(struct ath5k_hw *ah) - return 0; - } - -+/* -+ * Wait for synth to settle -+ */ -+static void ath5k_hw_wait_for_synth(struct ath5k_hw *ah, -+ struct ieee80211_channel *channel) -+{ -+ /* -+ * On 5211+ read activation -> rx delay -+ * and use it (100ns steps). -+ */ -+ if (ah->ah_version != AR5K_AR5210) { -+ u32 delay; -+ delay = ath5k_hw_reg_read(ah, AR5K_PHY_RX_DELAY) & -+ AR5K_PHY_RX_DELAY_M; -+ delay = (channel->hw_value & CHANNEL_CCK) ? -+ ((delay << 2) / 22) : (delay / 10); -+ if (ah->ah_bwmode == AR5K_BWMODE_10MHZ) -+ delay = delay << 1; -+ if (ah->ah_bwmode == AR5K_BWMODE_5MHZ) -+ delay = delay << 2; -+ /* XXX: /2 on turbo ? Let's be safe -+ * for now */ -+ udelay(100 + delay); -+ } else { -+ mdelay(1); -+ } -+} -+ - - /**********************\ - * RF Gain optimization * -@@ -3237,6 +3265,13 @@ int ath5k_hw_phy_init(struct ath5k_hw *ah, struct ieee80211_channel *channel, - /* Failed */ - if (i >= 100) - return -EIO; -+ -+ /* Set channel and wait for synth */ -+ ret = ath5k_hw_channel(ah, channel); -+ if (ret) -+ return ret; -+ -+ ath5k_hw_wait_for_synth(ah, channel); - } - - /* -@@ -3251,13 +3286,53 @@ int ath5k_hw_phy_init(struct ath5k_hw *ah, struct ieee80211_channel *channel, - if (ret) - return ret; - -+ /* Write OFDM timings on 5212*/ -+ if (ah->ah_version == AR5K_AR5212 && -+ channel->hw_value & CHANNEL_OFDM) { -+ -+ ret = ath5k_hw_write_ofdm_timings(ah, channel); -+ if (ret) -+ return ret; -+ -+ /* Spur info is available only from EEPROM versions -+ * greater than 5.3, but the EEPROM routines will use -+ * static values for older versions */ -+ if (ah->ah_mac_srev >= AR5K_SREV_AR5424) -+ ath5k_hw_set_spur_mitigation_filter(ah, -+ channel); -+ } -+ -+ /* If we used fast channel switching -+ * we are done, release RF bus and -+ * fire up NF calibration. -+ * -+ * Note: Only NF calibration due to -+ * channel change, not AGC calibration -+ * since AGC is still running ! -+ */ -+ if (fast) { -+ /* -+ * Release RF Bus grant -+ */ -+ AR5K_REG_DISABLE_BITS(ah, AR5K_PHY_RFBUS_REQ, -+ AR5K_PHY_RFBUS_REQ_REQUEST); -+ -+ /* -+ * Start NF calibration -+ */ -+ AR5K_REG_ENABLE_BITS(ah, AR5K_PHY_AGCCTL, -+ AR5K_PHY_AGCCTL_NF); -+ -+ return ret; -+ } -+ - /* - * For 5210 we do all initialization using - * initvals, so we don't have to modify - * any settings (5210 also only supports - * a/aturbo modes) - */ -- if ((ah->ah_version != AR5K_AR5210) && !fast) { -+ if (ah->ah_version != AR5K_AR5210) { - - /* - * Write initial RF gain settings -@@ -3276,22 +3351,6 @@ int ath5k_hw_phy_init(struct ath5k_hw *ah, struct ieee80211_channel *channel, - if (ret) - return ret; - -- /* Write OFDM timings on 5212*/ -- if (ah->ah_version == AR5K_AR5212 && -- channel->hw_value & CHANNEL_OFDM) { -- -- ret = ath5k_hw_write_ofdm_timings(ah, channel); -- if (ret) -- return ret; -- -- /* Spur info is available only from EEPROM versions -- * greater than 5.3, but the EEPROM routines will use -- * static values for older versions */ -- if (ah->ah_mac_srev >= AR5K_SREV_AR5424) -- ath5k_hw_set_spur_mitigation_filter(ah, -- channel); -- } -- - /*Enable/disable 802.11b mode on 5111 - (enable 2111 frequency converter + CCK)*/ - if (ah->ah_radio == AR5K_RF5111) { -@@ -3322,47 +3381,20 @@ int ath5k_hw_phy_init(struct ath5k_hw *ah, struct ieee80211_channel *channel, - */ - ath5k_hw_reg_write(ah, AR5K_PHY_ACT_ENABLE, AR5K_PHY_ACT); - -+ ath5k_hw_wait_for_synth(ah, channel); -+ - /* -- * On 5211+ read activation -> rx delay -- * and use it. -+ * Perform ADC test to see if baseband is ready -+ * Set tx hold and check adc test register - */ -- if (ah->ah_version != AR5K_AR5210) { -- u32 delay; -- delay = ath5k_hw_reg_read(ah, AR5K_PHY_RX_DELAY) & -- AR5K_PHY_RX_DELAY_M; -- delay = (channel->hw_value & CHANNEL_CCK) ? -- ((delay << 2) / 22) : (delay / 10); -- if (ah->ah_bwmode == AR5K_BWMODE_10MHZ) -- delay = delay << 1; -- if (ah->ah_bwmode == AR5K_BWMODE_5MHZ) -- delay = delay << 2; -- /* XXX: /2 on turbo ? Let's be safe -- * for now */ -- udelay(100 + delay); -- } else { -- mdelay(1); -- } -- -- if (fast) -- /* -- * Release RF Bus grant -- */ -- AR5K_REG_DISABLE_BITS(ah, AR5K_PHY_RFBUS_REQ, -- AR5K_PHY_RFBUS_REQ_REQUEST); -- else { -- /* -- * Perform ADC test to see if baseband is ready -- * Set tx hold and check adc test register -- */ -- phy_tst1 = ath5k_hw_reg_read(ah, AR5K_PHY_TST1); -- ath5k_hw_reg_write(ah, AR5K_PHY_TST1_TXHOLD, AR5K_PHY_TST1); -- for (i = 0; i <= 20; i++) { -- if (!(ath5k_hw_reg_read(ah, AR5K_PHY_ADC_TEST) & 0x10)) -- break; -- udelay(200); -- } -- ath5k_hw_reg_write(ah, phy_tst1, AR5K_PHY_TST1); -+ phy_tst1 = ath5k_hw_reg_read(ah, AR5K_PHY_TST1); -+ ath5k_hw_reg_write(ah, AR5K_PHY_TST1_TXHOLD, AR5K_PHY_TST1); -+ for (i = 0; i <= 20; i++) { -+ if (!(ath5k_hw_reg_read(ah, AR5K_PHY_ADC_TEST) & 0x10)) -+ break; -+ udelay(200); - } -+ ath5k_hw_reg_write(ah, phy_tst1, AR5K_PHY_TST1); - - /* - * Start automatic gain control calibration diff --git a/freed-ora/current/master/config-generic b/freed-ora/current/master/config-generic index b4b71eab7..344f5fc07 100644 --- a/freed-ora/current/master/config-generic +++ b/freed-ora/current/master/config-generic @@ -427,10 +427,8 @@ CONFIG_BLK_DEV_VIA82CXXX=y CONFIG_BLK_DEV_IDEDMA=y # CONFIG_BLK_DEV_HD is not set -CONFIG_VIRTIO=m CONFIG_VIRTIO_BLK=m -CONFIG_VIRTIO_RING=m -CONFIG_VIRTIO_PCI=m +CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_NET=m CONFIG_VMXNET3=m diff --git a/freed-ora/current/master/deblob-2.6.37 b/freed-ora/current/master/deblob-2.6.37 deleted file mode 100755 index 15955a77e..000000000 --- a/freed-ora/current/master/deblob-2.6.37 +++ /dev/null @@ -1,2341 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2008, 2009, 2010 Alexandre Oliva <lxoliva@fsfla.org> -# Copyright (C) 2008 Jeff Moe -# Copyright (C) 2009 Rubén Rodríguez <ruben@gnu.org> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -# deblob - remove non-free blobs from the vanilla linux kernel - -# http://www.fsfla.org/svn/fsfla/software/linux-libre - - -# This script, suited for the kernel version named below, in kver, -# attempts to remove only non-Free Software bits, without removing -# Free Software that happens to be in the same file. - -# Drivers that currently require non-Free firmware are retained, but -# firmware included in GPLed sources is replaced with /*(DEBLOBBED)*/ -# if the deblob-check script, that knows how to do this, is present. -# -lxoliva - - -# See also: -# http://wiki.debian.org/KernelFirmwareLicensing -# svn://svn.debian.org/kernel/dists/trunk/linux-2.6/debian/patches/debian/dfsg/files-1 -# http://wiki.gnewsense.org/Builder gen-kernel - -# Thanks to Brian Brazil @ gnewsense - - -# For each kver release, start extra with an empty string, then count -# from 1 if changes are needed that require rebuilding the tarball. -kver=2.6.37 extra= - -case $1 in ---force) - echo "WARNING: Using the force, ignored errors will be" >&2 - die () { - echo ERROR: "$@" >&2 - errors=: - } - forced=: errors=false - shift - ;; -*) - die () { - echo ERROR: "$@" >&2 - echo Use --force to ignore - exit 1 - } - forced=false errors=false - ;; -esac - -check=`echo "$0" | sed 's,[^/]*$,,;s,^$,.,;s,/*$,,'`/deblob-check -if [ ! -f $check ] ; then - if $forced; then - die deblob-check script missing, will remove entire files - else - die deblob-check script missing - fi - have_check=false -else - have_check=: -fi - -filetest () { - if [ ! -f $1 ]; then - die $1 does not exist, something is wrong && return 1 - fi -} - -announce () { - echo - echo "$@" -} - -clean_file () { - #$1 = filename - filetest $1 || return - rm $1 - echo $1: removed -} - -check_changed () { - #$1 = filename - if cmp $1.deblob $1 > /dev/null; then - rm $1.deblob - die $1 did not change, something is wrong && return 1 - fi - mv $1.deblob $1 -} - -clean_blob () { - #$1 = filename - filetest $1 || return - if $have_check; then - name=$1 - set fnord "$@" -d - shift 2 - $check "$@" -i linux-$kver $name > $name.deblob - check_changed $name && echo $name: removed blobs - else - clean_file $1 - fi -} - -dummy_blob () { - #$1 = filename - if test -f $1; then - die $1 exists, something is wrong && return - elif test ! -f firmware/Makefile; then - die firmware/Makefile does not exist, something is wrong && return - fi - - clean_sed "s,`echo $1 | sed s,^firmware/,,`,\$(DEBLOBBED),g" \ - firmware/Makefile "dropped $1" -} - -clean_fw () { - #$1 = firmware text input, $2 = firmware output - filetest $1 || return - if test -f $2; then - die $2 exists, something is wrong && return - fi - clean_blob $1 -s 4 - dummy_blob $2 -} - -drop_fw_file () { - #$1 = firmware text input, $2 = firmware output - filetest $1 || return - if test -f $2; then - die $2 exists, something is wrong && return - fi - clean_file $1 - dummy_blob $2 -} - -clean_kconfig () { - #$1 = filename $2 = things to remove - case $1 in - -f) - shift - ;; - *) - if $have_check; then - return - fi - ;; - esac - filetest $1 || return - sed "/^config \\($2\\)\$/{p;i\ - depends on NONFREE -d;}" $1 > $1.deblob - check_changed $1 && echo $1: marked config $2 as depending on NONFREE -} - -clean_mk () { - #$1 = config $2 = Makefile name - # We don't clean up Makefiles any more --lxoliva - # sed -i "/\\($1\\)/d" $2 - # echo $2: removed $1 support - # check_changed $2 - filetest $2 || return - if sed -n "/\\($1\\)/p" $2 | grep . > /dev/null; then - : - else - die $2 does not contain matches for $1 - fi -} - -clean_sed () { - #$1 = sed-script $2 = file $3 = comment - filetest $2 || return - sed -e "$1" "$2" > "$2".deblob || { - die $2: failed: ${3-applied sed script $1} && return 1; } - check_changed $2 && echo $2: ${3-applied sed script $1} -} - -reject_firmware () { - #$1 = file $2 = pre sed pattern - filetest $1 || return - clean_sed "$2"' -s,request\(_ihex\)\?_firmware\(_nowait\)\?,reject_firmware\2,g -' "$1" 'disabled non-Free firmware-loading machinery' -} - -maybe_reject_firmware () { - #$1 = file $2 = pre sed pattern - filetest $1 || return - clean_sed "$2"' -s,request_firmware\(_nowait\)\?,maybe_reject_firmware\1,g -' "$1" 'retain Free firmware-loading machinery, disabling non-Free one' -} - -undefine_macro () { - #$1 - macro name - #$2 - substitution - #$3 - message - #rest - file names - macro=$1 repl=$2 msg=$3; shift 3 - for f in "$@"; do - clean_sed " -s,^#define $macro .*\$,/*(DEBLOBBED)*/,; -s,$macro,$repl,g; -" "$f" "$msg" - done -} - -undefault_firmware () { - #$1 - pattern such that $1_DEFAULT_FIRMWARE is #defined to non-Free firmware - #$@ other than $1 - file names - macro="$1"_DEFAULT_FIRMWARE; shift - undefine_macro "$macro" "\"/*(DEBLOBBED)*/\"" \ - "disabled non-Free firmware" "$@" -} - -# First, check that files that contain firmwares and their -# corresponding sources are present. - -for f in \ - drivers/char/ser_a2232fw.h \ - drivers/char/ser_a2232fw.ax \ - drivers/net/ixp2000/ixp2400_rx.ucode \ - drivers/net/ixp2000/ixp2400_rx.uc \ - drivers/net/ixp2000/ixp2400_tx.ucode \ - drivers/net/ixp2000/ixp2400_rx.uc \ - drivers/net/wan/wanxlfw.inc_shipped \ - drivers/net/wan/wanxlfw.S \ - drivers/net/wireless/atmel.c \ - drivers/net/wireless/atmel.c \ - drivers/scsi/53c700_d.h_shipped \ - drivers/scsi/53c700.scr \ - drivers/scsi/aic7xxx/aic79xx_seq.h_shipped \ - drivers/scsi/aic7xxx/aic79xx.seq \ - drivers/scsi/aic7xxx/aic7xxx_seq.h_shipped \ - drivers/scsi/aic7xxx/aic7xxx.seq \ - drivers/scsi/aic7xxx_old/aic7xxx_seq.c \ - drivers/scsi/aic7xxx_old/aic7xxx.seq \ - drivers/scsi/53c7xx_d.h_shipped \ - drivers/scsi/53c7xx.scr \ - drivers/scsi/sym53c8xx_2/sym_fw1.h \ - drivers/scsi/sym53c8xx_2/sym_fw1.h \ - drivers/scsi/sym53c8xx_2/sym_fw2.h \ - drivers/scsi/sym53c8xx_2/sym_fw2.h \ - firmware/dsp56k/bootstrap.bin.ihex \ - firmware/dsp56k/bootstrap.asm \ - firmware/keyspan_pda/keyspan_pda.HEX \ - firmware/keyspan_pda/keyspan_pda.S \ - firmware/keyspan_pda/xircom_pgs.HEX \ - firmware/keyspan_pda/xircom_pgs.S \ - sound/pci/cs46xx/imgs/cwcdma.h \ - sound/pci/cs46xx/imgs/cwcdma.asp \ -; do - if test ! $f; then - die $f is not present, something is amiss && return - fi -done - -# Identify the tarball. -grep -q 'EXTRAVERSION.*-libre' Makefile || -clean_sed "s,^EXTRAVERSION.*,&-libre$extra, -" Makefile 'added -libre to EXTRAVERSION' - -grep -q Linux-libre README || -clean_sed ' -1,3 s,Linux kernel release.*kernel\.org.*,Linux-libre <http://linux-libre.fsfla.org>, -2,5 s,Linux version 2.6,Linux-libre, -1,20 s,\(operating system \)\?Unix,Unix kernel, -/WHAT IS LINUX/i\ -WHAT IS Linux-libre?\ -\ - Linux-libre is a Free version of the kernel Linux (see below),\ - suitable for use with the GNU Operating System in 100% Free\ - GNU/Linux-libre System Distributions.\ - http://www.gnu.org/distros/\ -\ - It removes non-Free components from Linux, that are disguised as\ - source code or distributed in separate files. It also disables\ - run-time requests for non-Free components, shipped separately or as\ - part of Linux, and documentation pointing to them, so as to avoid\ - (Free-)baiting users into the trap of non-Free Software.\ - http://www.fsfla.org/anuncio/2010-11-Linux-2.6.36-libre-debait\ -\ - Linux-libre started within the gNewSense GNU/Linux distribution.\ - It was later adopted by Jeff Moe, who coined its name, and in 2008\ - it became a project maintained by FSF Latin America.\ -\ - The Linux-libre project takes a minimal-changes approach to cleaning\ - up Linux, making no effort to substitute components that need to be\ - removed with functionally equivalent Free ones. Nevertheless, we\ - encourage and support efforts towards doing so.\ - http://libreplanet.org/wiki/LinuxLibre:Devices_that_require_non-free_firmware\ -\ - Our mascot is Freedo, a light-blue penguin that has just come out\ - of the the shower. Although we like penguins, GNU is a much\ - greater contribution to the entire system, so its mascot deserves\ - more promotion. See our web page for their images.\ - http://linux-libre.fsfla.org/\ - -' README 'added blurb about Linux-libre' - -# Add reject_firmware and maybe_reject_firmware -grep -q _LINUX_LIBRE_FIRMWARE_H include/linux/firmware.h || -clean_sed '$i\ -#ifndef _LINUX_LIBRE_FIRMWARE_H\ -#define _LINUX_LIBRE_FIRMWARE_H\ -\ -#include <linux/device.h>\ -\ -#define NONFREE_FIRMWARE "/*(DEBLOBBED)*/"\ -\ -static inline int\ -report_missing_free_firmware(const char *name, const char *what)\ -{\ - printk(KERN_ERR "%s: Missing Free %s\\n", name,\ - what ? what : "firmware");\ - return -EINVAL;\ -}\ -static inline int\ -reject_firmware(const struct firmware **fw,\ - const char *name, struct device *device)\ -{\ - const struct firmware *xfw = NULL;\ - int retval;\ - report_missing_free_firmware(dev_name(device), NULL);\ - retval = request_firmware(&xfw, NONFREE_FIRMWARE, device);\ - if (!retval)\ - release_firmware(xfw);\ - return -EINVAL;\ -}\ -static inline int\ -maybe_reject_firmware(const struct firmware **fw,\ - const char *name, struct device *device)\ -{\ - if (strstr (name, NONFREE_FIRMWARE))\ - return reject_firmware(fw, name, device);\ - else\ - return request_firmware(fw, name, device);\ -}\ -static inline void\ -discard_rejected_firmware(const struct firmware *fw, void *context)\ -{\ - release_firmware(fw);\ -}\ -static inline int\ -reject_firmware_nowait(struct module *module, int uevent,\ - const char *name, struct device *device,\ - gfp_t gfp, void *context,\ - void (*cont)(const struct firmware *fw,\ - void *context))\ -{\ - int retval;\ - report_missing_free_firmware(dev_name(device), NULL);\ - retval = request_firmware_nowait(module, uevent, NONFREE_FIRMWARE,\ - device, gfp, NULL,\ - discard_rejected_firmware);\ - if (retval)\ - return retval;\ - return -EINVAL;\ -}\ -static inline int\ -maybe_reject_firmware_nowait(struct module *module, int uevent,\ - const char *name, struct device *device,\ - gfp_t gfp, void *context,\ - void (*cont)(const struct firmware *fw,\ - void *context))\ -{\ - if (strstr (name, NONFREE_FIRMWARE))\ - return reject_firmware_nowait(module, uevent, name,\ - device, gfp, context, cont);\ - else\ - return request_firmware_nowait(module, uevent, name,\ - device, gfp, context, cont);\ -}\ -\ -#endif /* _LINUX_LIBRE_FIRMWARE_H */\ -' include/linux/firmware.h 'added non-Free firmware notification support' - -######## -# Arch # -######## - -# x86 - -announce MICROCODE_AMD - "AMD microcode patch loading support" -reject_firmware arch/x86/kernel/microcode_amd.c -clean_blob arch/x86/kernel/microcode_amd.c -clean_kconfig arch/x86/Kconfig 'MICROCODE_AMD' -clean_mk CONFIG_MICROCODE_AMD arch/x86/kernel/Makefile - -announce MICROCODE_INTEL - "Intel microcode patch loading support" -reject_firmware arch/x86/kernel/microcode_intel.c -clean_blob arch/x86/kernel/microcode_intel.c -clean_kconfig arch/x86/Kconfig 'MICROCODE_INTEL' -clean_mk CONFIG_MICROCODE_INTEL arch/x86/kernel/Makefile - -# arm - -announce IXP4XX_NPE - "IXP4xx Network Processor Engine support" -reject_firmware arch/arm/mach-ixp4xx/ixp4xx_npe.c -clean_blob Documentation/arm/IXP4xx - -announce ARCH_NETX - "Hilscher NetX based" -clean_sed ' -s,\([" ]\)request_firmware(,\1reject_firmware(, -' arch/arm/mach-netx/xc.c 'disabled non-Free firmware-loading machinery' -clean_blob arch/arm/mach-netx/xc.c -clean_blob drivers/net/netx-eth.c -clean_kconfig arch/arm/Kconfig 'ARCH_NETX' -clean_mk CONFIG_ARCH_NETX arch/arm/Makefile - -announce WESTBRIDGE_DEVICE_DRIVER - "West Bridge Device Driver" -reject_firmware drivers/staging/westbridge/astoria/device/cyasdevice.c -clean_blob drivers/staging/westbridge/astoria/device/cyasdevice.c -clean_kconfig drivers/staging/westbridge/astoria/device/Kconfig 'WESTBRIDGE_DEVICE_DRIVER' -clean_mk 'CONFIG_WESTBRIDGE_DEVICE_DRIVER' drivers/staging/westbridge/astoria/device/Makefile - -####### -# ATM # -####### - -announce ATM_AMBASSADOR - "Madge Ambassador, Collage PCI 155 Server" -reject_firmware drivers/atm/ambassador.c -clean_blob drivers/atm/ambassador.c -clean_fw firmware/atmsar11.HEX firmware/atmsar11.fw -clean_kconfig drivers/atm/Kconfig 'ATM_AMBASSADOR' -clean_mk CONFIG_ATM_AMBASSADOR drivers/atm/Makefile - -announce ATM_FORE200E - "FORE Systems 200E-series" -reject_firmware drivers/atm/fore200e.c -clean_blob drivers/atm/fore200e.c -clean_blob Documentation/networking/fore200e.txt -clean_blob drivers/atm/.gitignore -clean_blob Documentation/dontdiff -clean_kconfig drivers/atm/Kconfig 'ATM_FORE200E' -clean_mk CONFIG_ATM_FORE200E drivers/atm/Makefile - -announce ATM_SOLOS - "Solos ADSL2+ PCI Multiport card driver" -reject_firmware drivers/atm/solos-pci.c -clean_blob drivers/atm/solos-pci.c -clean_kconfig drivers/atm/Kconfig 'ATM_SOLOS' -clean_mk CONFIG_ATM_SOLOS drivers/atm/Makefile - -######## -# char # -######## - -announce COMPUTONE - "Computone IntelliPort Plus serial" -drop_fw_file firmware/intelliport2.bin.ihex firmware/intelliport2.bin -reject_firmware drivers/char/ip2/ip2main.c -clean_blob drivers/char/ip2/ip2main.c -clean_kconfig drivers/char/Kconfig 'COMPUTONE' -clean_mk CONFIG_COMPUTONE drivers/char/Makefile - -announce CYCLADES - "Cyclades async mux support" -reject_firmware drivers/char/cyclades.c -clean_blob drivers/char/cyclades.c -clean_kconfig drivers/char/Kconfig 'CYCLADES' -clean_mk CONFIG_CYCLADES drivers/char/Makefile - -announce ISI - "Multi-Tech multiport card support" -reject_firmware drivers/char/isicom.c -clean_blob drivers/char/isicom.c -clean_kconfig drivers/char/Kconfig 'ISI' -clean_mk CONFIG_ISI drivers/char/Makefile - -announce MOXA_INTELLIO - "Moxa Intellio support" -reject_firmware drivers/char/moxa.c -clean_blob drivers/char/moxa.c -clean_kconfig drivers/char/Kconfig 'MOXA_INTELLIO' -clean_mk CONFIG_MOXA_INTELLIO drivers/char/Makefile - -# gpu drm - -announce DRM_MGA - "Matrox g200/g400" -drop_fw_file firmware/matrox/g200_warp.H16 firmware/matrox/g200_warp.fw -drop_fw_file firmware/matrox/g400_warp.H16 firmware/matrox/g400_warp.fw -reject_firmware drivers/gpu/drm/mga/mga_warp.c -clean_blob drivers/gpu/drm/mga/mga_warp.c -clean_kconfig drivers/gpu/drm/Kconfig 'DRM_MGA' -clean_mk CONFIG_DRM_MGA drivers/gpu/drm/Makefile - -announce DRM_R128 - "ATI Rage 128" -drop_fw_file firmware/r128/r128_cce.bin.ihex firmware/r128/r128_cce.bin -reject_firmware drivers/gpu/drm/r128/r128_cce.c -clean_blob drivers/gpu/drm/r128/r128_cce.c -clean_kconfig drivers/gpu/drm/Kconfig 'DRM_R128' -clean_mk CONFIG_DRM_R128 drivers/gpu/drm/Makefile - -announce DRM_RADEON - "ATI Radeon" -drop_fw_file firmware/radeon/R100_cp.bin.ihex firmware/radeon/R100_cp.bin -drop_fw_file firmware/radeon/R200_cp.bin.ihex firmware/radeon/R200_cp.bin -drop_fw_file firmware/radeon/R300_cp.bin.ihex firmware/radeon/R300_cp.bin -drop_fw_file firmware/radeon/R420_cp.bin.ihex firmware/radeon/R420_cp.bin -drop_fw_file firmware/radeon/R520_cp.bin.ihex firmware/radeon/R520_cp.bin -drop_fw_file firmware/radeon/R600_me.bin.ihex firmware/radeon/R600_me.bin -drop_fw_file firmware/radeon/R600_pfp.bin.ihex firmware/radeon/R600_pfp.bin -drop_fw_file firmware/radeon/RS600_cp.bin.ihex firmware/radeon/RS600_cp.bin -drop_fw_file firmware/radeon/RS690_cp.bin.ihex firmware/radeon/RS690_cp.bin -drop_fw_file firmware/radeon/RS780_me.bin.ihex firmware/radeon/RS780_me.bin -drop_fw_file firmware/radeon/RS780_pfp.bin.ihex firmware/radeon/RS780_pfp.bin -drop_fw_file firmware/radeon/RV610_me.bin.ihex firmware/radeon/RV610_me.bin -drop_fw_file firmware/radeon/RV610_pfp.bin.ihex firmware/radeon/RV610_pfp.bin -drop_fw_file firmware/radeon/RV620_me.bin.ihex firmware/radeon/RV620_me.bin -drop_fw_file firmware/radeon/RV620_pfp.bin.ihex firmware/radeon/RV620_pfp.bin -drop_fw_file firmware/radeon/RV630_me.bin.ihex firmware/radeon/RV630_me.bin -drop_fw_file firmware/radeon/RV630_pfp.bin.ihex firmware/radeon/RV630_pfp.bin -drop_fw_file firmware/radeon/RV635_me.bin.ihex firmware/radeon/RV635_me.bin -drop_fw_file firmware/radeon/RV635_pfp.bin.ihex firmware/radeon/RV635_pfp.bin -drop_fw_file firmware/radeon/RV670_me.bin.ihex firmware/radeon/RV670_me.bin -drop_fw_file firmware/radeon/RV670_pfp.bin.ihex firmware/radeon/RV670_pfp.bin -drop_fw_file firmware/radeon/RV710_me.bin.ihex firmware/radeon/RV710_me.bin -drop_fw_file firmware/radeon/RV710_pfp.bin.ihex firmware/radeon/RV710_pfp.bin -drop_fw_file firmware/radeon/RV730_me.bin.ihex firmware/radeon/RV730_me.bin -drop_fw_file firmware/radeon/RV730_pfp.bin.ihex firmware/radeon/RV730_pfp.bin -drop_fw_file firmware/radeon/RV770_me.bin.ihex firmware/radeon/RV770_me.bin -drop_fw_file firmware/radeon/RV770_pfp.bin.ihex firmware/radeon/RV770_pfp.bin -reject_firmware drivers/gpu/drm/radeon/radeon_cp.c -clean_blob drivers/gpu/drm/radeon/radeon_cp.c -reject_firmware drivers/gpu/drm/radeon/r100.c -clean_blob drivers/gpu/drm/radeon/r100.c -reject_firmware drivers/gpu/drm/radeon/r600.c -clean_blob drivers/gpu/drm/radeon/r600.c -reject_firmware drivers/gpu/drm/radeon/r600_cp.c -clean_blob drivers/gpu/drm/radeon/r600_cp.c -clean_kconfig drivers/gpu/drm/Kconfig 'DRM_RADEON' -clean_mk CONFIG_DRM_RADEON drivers/gpu/drm/Makefile - -####### -# dma # -####### - -announce IMX_SDMA - "i.MX SDMA support" -reject_firmware drivers/dma/imx-sdma.c -clean_blob drivers/dma/imx-sdma.c -clean_kconfig drivers/dma/Kconfig 'IMX_SDMA' -clean_mk CONFIG_IMX_SDMA drivers/dma/Makefile - -######### -# Media # -######### - -# media/tuner - -announce MEDIA_TUNER_XC2028 - "XCeive xc2028/xc3028 tuners" -undefault_firmware 'XC\(2028\|3028L\)' \ - drivers/media/common/tuners/tuner-xc2028.h \ - drivers/media/video/saa7134/saa7134-cards.c \ - drivers/media/video/ivtv/ivtv-driver.c \ - drivers/media/video/cx18/cx18-driver.c \ - drivers/media/video/cx18/cx18-dvb.c \ - drivers/media/video/cx23885/cx23885-dvb.c \ - drivers/media/video/cx23885/cx23885-video.c \ - drivers/media/video/cx88/cx88-dvb.c \ - drivers/media/video/cx88/cx88-cards.c \ - drivers/media/video/em28xx/em28xx-cards.c \ - drivers/media/dvb/dvb-usb/dib0700_devices.c \ - drivers/media/dvb/dvb-usb/cxusb.c -reject_firmware drivers/media/common/tuners/tuner-xc2028.c -clean_kconfig drivers/media/common/tuners/Kconfig 'MEDIA_TUNER_XC2028' -clean_mk CONFIG_MEDIA_TUNER_XC2028 drivers/media/common/tuners/Makefile - -announce VIDEO_TM6000_DVB - "DVB Support for tm6000 based TV cards" -clean_blob drivers/staging/tm6000/tm6000-cards.c -clean_kconfig drivers/staging/tm6000/Kconfig 'VIDEO_TM6000_DVB' -clean_mk CONFIG_VIDEO_TM6000_DVB drivers/staging/tm6000/Makefile - -announce MEDIA_TUNER_XC5000 - "Xceive XC5000 silicon tuner" -undefine_macro 'XC5000_DEFAULT_FIRMWARE_SIZE' 0 \ - 'removed non-Free firmware size' drivers/media/common/tuners/xc5000.c -undefault_firmware 'XC5000' \ - drivers/media/common/tuners/xc5000.c \ - drivers/media/video/cx231xx/cx231xx-cards.c -reject_firmware drivers/media/common/tuners/xc5000.c -clean_kconfig drivers/media/common/tuners/Kconfig 'MEDIA_TUNER_XC5000' -clean_mk CONFIG_MEDIA_TUNER_XC5000 drivers/media/common/tuners/Makefile - -announce DVB_USB - "Support for various USB DVB devices" -reject_firmware drivers/media/dvb/dvb-usb/dvb-usb-firmware.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB' -clean_mk CONFIG_DVB_USB drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_AF9005 - "Afatech AF9005 DVB-T USB1.1" -clean_file drivers/media/dvb/dvb-usb/af9005-script.h -clean_sed ' -s,^ deb_info("load init script\\n");$, {\n err("Missing Free init script\\n");\n return scriptlen = ret = -EINVAL;\n ,; -' drivers/media/dvb/dvb-usb/af9005-fe.c 'report missing Free init script' -clean_blob drivers/media/dvb/dvb-usb/af9005-fe.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_AF9005' -clean_mk CONFIG_DVB_USB_AF9005 drivers/media/dvb/dvb-usb/Makefile - -announce DVB_B2C2_FLEXCOP - "Technisat/B2C2 FlexCopII(b) and FlexCopIII adapters" -reject_firmware drivers/media/dvb/b2c2/flexcop-fe-tuner.c - -announce DVB_BT8XX - "BT8xx based PCI cards" -reject_firmware drivers/media/dvb/bt8xx/dvb-bt8xx.c - -announce DVB_USB_A800 - "AVerMedia AverTV DVB-T USB 2.0 (A800)" -clean_blob drivers/media/dvb/dvb-usb/a800.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_A800' -clean_mk CONFIG_DVB_USB_A800 drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_AF9005 - "Afatech AF9005 DVB-T USB1.1 support" -clean_blob drivers/media/dvb/dvb-usb/af9005.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_AF9005' -clean_mk CONFIG_DVB_USB_AF9005 drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_AF9015 - "Afatech AF9015 DVB-T USB2.0 support" -clean_blob drivers/media/dvb/dvb-usb/af9015.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_AF9015' -clean_mk CONFIG_DVB_USB_AF9015 drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_AZ6027 - "Azurewave DVB-S/S2 USB2.0 AZ6027 support" -clean_blob drivers/media/dvb/dvb-usb/az6027.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_AZ6027' -clean_mk CONFIG_DVB_USB_AZ6027 drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_CXUSB - "Conexant USB2.0 hybrid reference design support" -clean_blob drivers/media/dvb/dvb-usb/cxusb.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_CXUSB' -clean_mk CONFIG_DVB_USB_CXUSB drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_DIB0700 - "DiBcom DiB0700 USB DVB devices" -clean_blob drivers/media/dvb/dvb-usb/dib0700_devices.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_DIB0700' -clean_mk CONFIG_DVB_USB_DIB0700 drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_DIBUSB_MB - "DiBcom USB DVB-T devices (based on the DiB3000M-B)" -clean_blob drivers/media/dvb/dvb-usb/dibusb-mb.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_DIBUSB_MB' -clean_mk CONFIG_DVB_USB_DIBUSB_MB drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_DIBUSB_MC - "DiBcom USB DVB-T devices (based on the DiB3000M-C/P)" -clean_blob drivers/media/dvb/dvb-usb/dibusb-mc.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_DIBUSB_MC' -clean_mk CONFIG_DVB_USB_DIBUSB_MC drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_DIGITV - "Nebula Electronics uDigiTV DVB-T USB2.0 support" -clean_blob drivers/media/dvb/dvb-usb/digitv.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_DIGITV' -clean_mk CONFIG_DVB_USB_DIGITV drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_DTT200U - "WideView WT-200U and WT-220U (pen) DVB-T USB2.0 support (Yakumo/Hama/Typhoon/Yuan)" -clean_blob drivers/media/dvb/dvb-usb/dtt200u.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_DTT200U' -clean_mk CONFIG_DVB_USB_DTT200U drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_DW2102 - "DvbWorld DVB-S/S2 USB2.0 support" -reject_firmware drivers/media/dvb/dvb-usb/dw2102.c -clean_blob drivers/media/dvb/dvb-usb/dw2102.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_DW2102' -clean_mk CONFIG_DVB_USB_DW2102 drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_EC168 - "E3C EC168 DVB-T USB2.0 support" -clean_blob drivers/media/dvb/dvb-usb/ec168.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_EC168' -clean_mk CONFIG_DVB_USB_EC168 drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_GP8PSK - "GENPIX 8PSK->USB module support" -reject_firmware drivers/media/dvb/dvb-usb/gp8psk.c -clean_blob drivers/media/dvb/dvb-usb/gp8psk.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_GP8PSK' -clean_mk CONFIG_DVB_USB_GP8PSK drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_LME2510 - "LME DM04/QQBOX DVB-S USB2.0 support" -reject_firmware drivers/media/dvb/dvb-usb/lmedm04.c -clean_blob drivers/media/dvb/dvb-usb/lmedm04.c -clean_file Documentation/dvb/lmedm04.txt -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_LME2510' -clean_mk CONFIG_DVB_USB_LME2510 drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_M920X - "Uli m920x DVB-T USB2.0 support" -reject_firmware drivers/media/dvb/dvb-usb/m920x.c -clean_blob drivers/media/dvb/dvb-usb/m920x.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_M920X' -clean_mk CONFIG_DVB_USB_M920X drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_NOVA_T_USB2 - "Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 support" -clean_blob drivers/media/dvb/dvb-usb/nova-t-usb2.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_NOVA_T_USB2' -clean_mk CONFIG_DVB_USB_NOVA_T_USB2 drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_OPERA1 - "Opera1 DVB-S USB2.0 receiver" -reject_firmware drivers/media/dvb/dvb-usb/opera1.c -clean_blob drivers/media/dvb/dvb-usb/opera1.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_OPERA1' -clean_mk CONFIG_DVB_USB_OPERA1 drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_TTUSB2 - "Pinnacle 400e DVB-S USB2.0 support" -clean_blob drivers/media/dvb/dvb-usb/ttusb2.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_TTUSB2' -clean_mk CONFIG_DVB_USB_TTUSB2 drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_UMT_010 - "HanfTek UMT-010 DVB-T USB2.0 support" -clean_blob drivers/media/dvb/dvb-usb/umt-010.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_UMT_010' -clean_mk CONFIG_DVB_USB_UMT_010 drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_VP702X - "TwinhanDTV StarBox and clones DVB-S USB2.0 support" -clean_blob drivers/media/dvb/dvb-usb/vp702x.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_VP702X' -clean_mk CONFIG_DVB_USB_VP702X drivers/media/dvb/dvb-usb/Makefile - -announce DVB_USB_VP7045 - "TwinhanDTV Alpha/MagicBoxII, DNTV tinyUSB2, Beetle USB2.0 support" -clean_blob drivers/media/dvb/dvb-usb/vp7045.c -clean_kconfig drivers/media/dvb/dvb-usb/Kconfig 'DVB_USB_VP7045' -clean_mk CONFIG_DVB_USB_VP7045 drivers/media/dvb/dvb-usb/Makefile - -# dvb/frontends - -announce DVB_AF9013 - "Afatech AF9013 demodulator" -undefault_firmware 'AF9013' \ - drivers/media/dvb/frontends/af9013.c \ - drivers/media/dvb/frontends/af9013_priv.h -reject_firmware drivers/media/dvb/frontends/af9013.c -clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_AF9013' -clean_mk CONFIG_DVB_AF9013 drivers/media/dvb/frontends/Makefile - -announce DVB_BCM3510 - "Broadcom BCM3510" -undefault_firmware 'BCM3510' drivers/media/dvb/frontends/bcm3510.c -reject_firmware drivers/media/dvb/frontends/bcm3510.c -reject_firmware drivers/media/dvb/frontends/bcm3510.h -clean_sed ' -/You.ll need a firmware/,/dvb-fe-bcm/d; -' drivers/media/dvb/frontends/bcm3510.c \ - "removed non-Free firmware notes" -clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_BCM3510' -clean_mk CONFIG_DVB_BCM3510 drivers/media/dvb/frontends/Makefile - -announce DVB_DS3000 - "Montage Tehnology DS3000 based" -undefault_firmware 'DS3000' \ - drivers/media/dvb/frontends/ds3000.c -reject_firmware drivers/media/dvb/frontends/ds3000.c -clean_blob drivers/media/dvb/frontends/ds3000.c -clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_DS3000' -clean_mk CONFIG_DVB_DS3000 drivers/media/dvb/frontends/Makefile - -announce DVB_LGS8GXX - "Legend Silicon LGS8913/LGS8GL5/LGS8GXX DMB-TH demodulator" -reject_firmware drivers/media/dvb/frontends/lgs8gxx.c -clean_blob drivers/media/dvb/frontends/lgs8gxx.c -clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_LGS8GXX' -clean_mk CONFIG_DVB_LGS8GXX drivers/media/dvb/frontends/Makefile - -announce DVB_NXT200X - "NxtWave Communications NXT2002/NXT2004 based" -undefault_firmware 'NXT200[24]' drivers/media/dvb/frontends/nxt200x.c -reject_firmware drivers/media/dvb/frontends/nxt200x.c -clean_blob drivers/media/dvb/frontends/nxt200x.c -clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_NXT200X' -clean_mk CONFIG_DVB_NXT200X drivers/media/dvb/frontends/Makefile - -announce DVB_OR51132 - "Oren OR51132 based" -reject_firmware drivers/media/dvb/frontends/or51132.c -clean_blob drivers/media/dvb/frontends/or51132.c -clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_OR51132' -clean_mk CONFIG_DVB_OR51132 drivers/media/dvb/frontends/Makefile - -announce DVB_OR51211 - "Oren OR51211 based" -undefault_firmware 'OR51211' drivers/media/dvb/frontends/or51211.c -reject_firmware drivers/media/dvb/frontends/or51211.c -reject_firmware drivers/media/dvb/frontends/or51211.h -clean_blob drivers/media/dvb/frontends/or51211.c -clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_OR51211' -clean_mk CONFIG_DVB_OR51211 drivers/media/dvb/frontends/Makefile - -announce DVB_SP8870 - "Spase sp8870" -undefault_firmware 'SP8870' drivers/media/dvb/frontends/sp8870.c -reject_firmware drivers/media/dvb/frontends/sp8870.c -reject_firmware drivers/media/dvb/frontends/sp8870.h -clean_blob drivers/media/dvb/frontends/sp8870.c -clean_kconfig drivers/media/dvb/frontends 'DVB_SP8870' -clean_mk CONFIG_DVB_SP8870 drivers/media/dvb/frontends/Makefile - -announce DVB_CX24116 - "Conexant CX24116 based" -undefault_firmware CX24116 drivers/media/dvb/frontends/cx24116.c -reject_firmware drivers/media/dvb/frontends/cx24116.c -clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_CX24116' -clean_mk CONFIG_DVB_CX24116 drivers/media/dvb/frontends/Makefile - -announce DVB_SP887X - "Spase sp887x based" -undefault_firmware 'SP887X' drivers/media/dvb/frontends/sp887x.c -reject_firmware drivers/media/dvb/frontends/sp887x.c -reject_firmware drivers/media/dvb/frontends/sp887x.h -clean_blob drivers/media/dvb/frontends/sp887x.c -clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_SP887X' -clean_mk CONFIG_DVB_SP887X drivers/media/dvb/frontends/Makefile - -announce DVB_TDA10048 - "Philips TDA10048HN based" -undefine_macro 'TDA10048_DEFAULT_FIRMWARE_SIZE' 0 \ - 'removed non-Free firmware size' drivers/media/dvb/frontends/tda10048.c -undefault_firmware 'TDA10048' drivers/media/dvb/frontends/tda10048.c -reject_firmware drivers/media/dvb/frontends/tda10048.c -clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_TDA10048' -clean_mk CONFIG_DVB_TDA10048 drivers/media/dvb/frontends/Makefile - -announce DVB_TDA1004X - "Philips TDA10045H/TDA10046H" -undefault_firmware 'TDA1004[56]' drivers/media/dvb/frontends/tda1004x.c -reject_firmware drivers/media/dvb/frontends/tda1004x.c -reject_firmware drivers/media/dvb/frontends/tda1004x.h -clean_blob drivers/media/dvb/frontends/tda1004x.c -clean_kconfig drivers/media/dvb/frontends 'DVB_TDA1004X' -clean_mk CONFIG_DVB_TDA1004X drivers/media/dvb/frontends/Makefile - -# dvb - -announce DVB_AV7110 - "AV7110 cards" -reject_firmware drivers/media/dvb/ttpci/av7110.c -clean_blob drivers/media/dvb/ttpci/av7110.c -clean_kconfig drivers/media/dvb/ttpci/Kconfig 'DVB_AV7110' -clean_mk CONFIG_DVB_AV7110 drivers/media/dvb/ttpci/Makefile - -announce DVB_BUDGET - "Budget cards" -reject_firmware drivers/media/dvb/ttpci/budget.c -reject_firmware drivers/media/dvb/frontends/tdhd1.h - -announce DVB_BUDGET_AV - "Budget cards with analog video inputs" -reject_firmware drivers/media/dvb/ttpci/budget-av.c - -announce DVB_BUDGET_CI - "Budget cards with onboard CI connector" -reject_firmware drivers/media/dvb/ttpci/budget-ci.c - -announce DVB_DRX397XD - "Micronas DRX3975D/DRX3977D based" -reject_firmware drivers/media/dvb/frontends/drx397xD.c -clean_blob drivers/media/dvb/frontends/drx397xD_fw.h -clean_kconfig drivers/media/dvb/frontends/Kconfig 'DVB_DRX397XD' -clean_mk CONFIG_DVB_DRX397XD drivers/media/dvb/frontends/Makefile - -announce DVB_NGENE - "Micronas nGene support" -reject_firmware drivers/media/dvb/ngene/ngene-core.c -clean_blob drivers/media/dvb/ngene/ngene-core.c -clean_kconfig drivers/media/dvb/ngene/Kconfig 'DVB_NGENE' -clean_mk CONFIG_DVB_NGENE drivers/media/dvb/ngene/Makefile - -announce DVB_PLUTO2 - "Pluto2 cards" -reject_firmware drivers/media/dvb/pluto2/pluto2.c - -announce SMS_SIANO_MDTV - "Siano SMS1xxx based MDTV receiver" -reject_firmware drivers/media/dvb/siano/smscoreapi.c -clean_blob drivers/media/dvb/siano/smscoreapi.c -clean_blob drivers/media/dvb/siano/sms-cards.c -clean_kconfig drivers/media/dvb/siano/Kconfig 'SMS_SIANO_MDTV' -clean_mk CONFIG_SMS_SIANO_MDTV drivers/media/dvb/siano/Makefile - -announce SMS_USB_DRV - "Siano's USB interface support" -reject_firmware drivers/media/dvb/siano/smsusb.c -clean_blob drivers/media/dvb/siano/smsusb.c -clean_kconfig drivers/media/dvb/siano/Kconfig 'SMS_USB_DRV' -clean_mk CONFIG_SMS_USB_DRV drivers/media/dvb/siano/Makefile - -announce DVB_TTUSB_BUDGET - "Technotrend/Hauppauge Nova-USB devices" -drop_fw_file firmware/ttusb-budget/dspbootcode.bin.ihex firmware/ttusb-budget/dspbootcode.bin -reject_firmware drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c -clean_blob drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c -clean_kconfig drivers/media/dvb/ttusb-budget/Kconfig 'DVB_TTUSB_BUDGET' -clean_mk CONFIG_DVB_TTUSB_BUDGET drivers/media/dvb/ttusb-budget/Makefile - -announce DVB_TTUSB_DEC - "Technotrend/Hauppauge USB DEC devices" -reject_firmware drivers/media/dvb/ttusb-dec/ttusb_dec.c -clean_blob drivers/media/dvb/ttusb-dec/ttusb_dec.c -clean_kconfig drivers/media/dvb/ttusb-dec/Kconfig 'DVB_TTUSB_DEC' -clean_mk CONFIG_DVB_TTUSB_DEC drivers/media/dvb/ttusb-dec/Makefile - -# video - -announce VIDEO_BT848 - "BT848 Video For Linux" -reject_firmware drivers/media/video/bt8xx/bttv-cards.c -clean_kconfig drivers/media/video/bt8xx/Kconfig 'VIDEO_BT848' -clean_mk CONFIG_VIDEO_BT848 drivers/media/video/bt8xx/Makefile - -announce VIDEO_CPIA2 - "CPiA2 Video For Linux" -clean_fw firmware/cpia2/stv0672_vp4.bin.ihex firmware/cpia2/stv0672_vp4.bin -reject_firmware drivers/media/video/cpia2/cpia2_core.c -clean_blob drivers/media/video/cpia2/cpia2_core.c -clean_kconfig drivers/media/video/cpia2/Kconfig 'VIDEO_CPIA2' -clean_mk CONFIG_VIDEO_CPIA2 drivers/media/video/cpia2/Makefile - -announce VIDEO_CX18 - "Conexant cx23418 MPEG encoder support" -reject_firmware drivers/media/video/cx18/cx18-av-firmware.c -reject_firmware drivers/media/video/cx18/cx18-dvb.c -reject_firmware drivers/media/video/cx18/cx18-firmware.c -clean_blob drivers/media/video/cx18/cx18-av-firmware.c -clean_blob drivers/media/video/cx18/cx18-dvb.c -clean_blob drivers/media/video/cx18/cx18-firmware.c -clean_kconfig drivers/media/video/cx18/Kconfig 'VIDEO_CX18' -clean_mk CONFIG_VIDEO_CX18 drivers/media/video/cx18/Makefile - -announce VIDEO_CX231XX - "Conexant cx231xx USB video capture support" -reject_firmware drivers/media/video/cx231xx/cx231xx-417.c -clean_blob drivers/media/video/cx231xx/cx231xx-417.c -clean_kconfig drivers/media/video/cx231xx/Kconfig 'VIDEO_CX231XX' -clean_mk CONFIG_VIDEO_CX231XX drivers/media/video/cx231xx/Makefile - -announce VIDEO_CX23885 - "Conexant cx23885 (2388x successor) support" -reject_firmware drivers/media/video/cx23885/cx23885-417.c -clean_blob drivers/media/video/cx23885/cx23885-417.c -clean_kconfig drivers/media/video/cx23885/Kconfig 'VIDEO_CX23885' -clean_mk CONFIG_VIDEO_CX23885 drivers/media/video/cx23885/Makefile - -announce VIDEO_CX25840 - "Conexant CX2584x audio/video decoders" -reject_firmware drivers/media/video/cx25840/cx25840-firmware.c -clean_blob drivers/media/video/cx25840/cx25840-firmware.c -clean_kconfig drivers/media/video/cx25840/Kconfig 'VIDEO_CX25840' -clean_mk CONFIG_VIDEO_CX25840 drivers/media/video/cx25840/Makefile - -announce VIDEO_CX88_BLACKBIRD - "Blackbird MPEG encoder support (cx2388x + cx23416)" -reject_firmware drivers/media/video/cx88/cx88-blackbird.c -clean_kconfig drivers/media/video/cx88/Kconfig 'VIDEO_CX88_BLACKBIRD' -clean_mk CONFIG_VIDEO_CX88_BLACKBIRD drivers/media/video/cx88/Makefile - -announce VIDEO_IVTV - "Conexant cx23416/cx23415 MPEG encoder/decoder support" -reject_firmware drivers/media/video/ivtv/ivtv-firmware.c -clean_blob drivers/media/video/ivtv/ivtv-firmware.c -clean_kconfig drivers/media/video/ivtv/Kconfig 'VIDEO_IVTV' -clean_mk CONFIG_VIDEO_IVTV drivers/media/video/ivtv/Makefile - -announce VIDEO_PVRUSB2 - "Hauppauge WinTV-PVR USB2 support" -reject_firmware drivers/media/video/pvrusb2/pvrusb2-hdw.c -clean_blob drivers/media/video/pvrusb2/pvrusb2-devattr.c -clean_kconfig drivers/media/video/pvrusb2/Kconfig 'VIDEO_PVRUSB2' -clean_mk CONFIG_VIDEO_PVRUSB2 drivers/media/video/pvrusb2/Makefile - -announce "VIDEO_CX23885, VIDEO_CX88_BLACKBIRD, VIDEO_IVTV, VIDEO_PVRUSB2" - "See above" -clean_blob include/media/cx2341x.h - -announce VIDEO_GO7007 - "Go 7007 support" -reject_firmware drivers/staging/go7007/go7007-driver.c -clean_blob drivers/staging/go7007/go7007-driver.c -reject_firmware drivers/staging/go7007/go7007-fw.c -clean_blob drivers/staging/go7007/go7007-usb.c -clean_blob drivers/staging/go7007/saa7134-go7007.c -clean_kconfig drivers/staging/go7007/Kconfig 'VIDEO_GO7007' -clean_mk CONFIG_VIDEO_GO7007 drivers/staging/go7007/Makefile - -announce VIDEO_GO7007_USB_S2250_BOARD - "Sensoray 2250/2251 support" -reject_firmware drivers/staging/go7007/s2250-loader.c -clean_blob drivers/staging/go7007/s2250-loader.c -clean_kconfig drivers/staging/go7007/Kconfig 'VIDEO_GO7007_USB_S2250_BOARD' -clean_mk CONFIG_VIDEO_GO7007_USB_S2250_BOARD drivers/staging/go7007/Makefile - -announce VIDEO_SAA7134_DVB - "DVB/ATSC Support for saa7134 based TV cards" -reject_firmware drivers/media/video/saa7134/saa7134-dvb.c -clean_kconfig drivers/media/video/saa7134/Kconfig 'VIDEO_SAA7134_DVB' -clean_mk CONFIG_VIDEO_SAA7134_DVB drivers/media/video/saa7134/Makefile - -announce VIDEO_SAA7164 - "NXP SAA7164 support" -reject_firmware drivers/media/video/saa7164/saa7164-fw.c -clean_blob drivers/media/video/saa7164/saa7164-fw.c -clean_kconfig drivers/media/video/saa7164/Kconfig 'VIDEO_SAA7164' -clean_mk CONFIG_VIDEO_SAA7164 drivers/media/video/saa7164/Makefile - -announce VIDEO_TLG2300 - "Telegent TLG2300 USB video capture support" -reject_firmware drivers/media/video/tlg2300/pd-main.c -clean_blob drivers/media/video/tlg2300/pd-main.c -clean_kconfig drivers/media/video/tlg2300/Kconfig 'VIDEO_TLG2300' -clean_mk CONFIG_VIDEO_TLG2300 drivers/media/video/tlg2300/Makefile - -announce USB_DABUSB - "DABUSB driver" -clean_fw firmware/dabusb/bitstream.bin.ihex firmware/dabusb/bitstream.bin -clean_fw firmware/dabusb/firmware.HEX firmware/dabusb/firmware.fw -reject_firmware drivers/media/video/dabusb.c -clean_blob drivers/media/video/dabusb.c -clean_kconfig drivers/media/Kconfig 'USB_DABUSB' -clean_mk CONFIG_USB_DABUSB drivers/media/video/Makefile - -announce USB_S2255 - "USB Sensoray 2255 video capture device" -reject_firmware drivers/media/video/s2255drv.c -clean_blob drivers/media/video/s2255drv.c -clean_kconfig drivers/media/video/Kconfig 'USB_S2255' -clean_mk CONFIG_USB_S2255 drivers/media/video/Makefile - -announce USB_VICAM - "USB 3com HomeConnect, AKA vicam" -drop_fw_file firmware/vicam/firmware.H16 firmware/vicam/firmware.fw -reject_firmware drivers/media/video/usbvideo/vicam.c -clean_blob drivers/media/video/usbvideo/vicam.c -clean_kconfig drivers/media/video/usbvideo/Kconfig 'USB_VICAM' -clean_mk CONFIG_USB_VICAM drivers/media/video/usbvideo/Makefile - - -####### -# net # -####### - -announce ACENIC - "Alteon AceNIC/3Com 3C985/NetGear GA620 Gigabit" -drop_fw_file firmware/acenic/tg1.bin.ihex firmware/acenic/tg1.bin -drop_fw_file firmware/acenic/tg2.bin.ihex firmware/acenic/tg2.bin -reject_firmware drivers/net/acenic.c -clean_blob drivers/net/acenic.c -clean_kconfig drivers/net/Kconfig 'ACENIC' -clean_mk CONFIG_ACENIC drivers/net/Makefile - -announce ADAPTEC_STARFIRE - "Adaptec Starfire/DuraLAN support" -clean_fw firmware/adaptec/starfire_rx.bin.ihex firmware/adaptec/starfire_rx.bin -clean_fw firmware/adaptec/starfire_tx.bin.ihex firmware/adaptec/starfire_tx.bin -reject_firmware drivers/net/starfire.c -clean_blob drivers/net/starfire.c -clean_kconfig drivers/net/Kconfig 'ADAPTEC_STARFIRE' -clean_mk CONFIG_ADAPTEC_STARFIRE drivers/net/Makefile - -announce CONFIG_BNA - "Brocade 1010/1020 10Gb Ethernet Driver support" -clean_blob drivers/net/bna/bnad.c -clean_blob drivers/net/bna/cna.h -reject_firmware drivers/net/bna/cna_fwimg.c -clean_kconfig drivers/net/Kconfig 'BNA' -clean_mk CONFIG_BNA drivers/net/bna/Makefile - -announce BNX2 - "Broadcom NetXtremeII" -drop_fw_file firmware/bnx2/bnx2-mips-09-6.0.17.fw.ihex firmware/bnx2/bnx2-mips-09-6.0.17.fw -drop_fw_file firmware/bnx2/bnx2-rv2p-09-6.0.17.fw.ihex firmware/bnx2/bnx2-rv2p-09-6.0.17.fw -drop_fw_file firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw.ihex firmware/bnx2/bnx2-rv2p-09ax-6.0.17.fw -drop_fw_file firmware/bnx2/bnx2-mips-06-6.0.15.fw.ihex firmware/bnx2/bnx2-mips-06-6.0.15.fw -drop_fw_file firmware/bnx2/bnx2-rv2p-06-6.0.15.fw.ihex firmware/bnx2/bnx2-rv2p-06-6.0.15.fw -reject_firmware drivers/net/bnx2.c -clean_blob drivers/net/bnx2.c -clean_kconfig drivers/net/Kconfig 'BNX2' -clean_mk CONFIG_BNX2 drivers/net/Makefile - -announce BNX2X - "Broadcom NetXtremeII 10Gb support" -drop_fw_file firmware/bnx2x/bnx2x-e1-6.0.34.0.fw.ihex firmware/bnx2x/bnx2x-e1-6.0.34.0.fw -drop_fw_file firmware/bnx2x/bnx2x-e1h-6.0.34.0.fw.ihex firmware/bnx2x/bnx2x-e1h-6.0.34.0.fw -drop_fw_file firmware/bnx2x/bnx2x-e2-6.0.34.0.fw.ihex firmware/bnx2x/bnx2x-e2-6.0.34.0.fw -reject_firmware drivers/net/bnx2x/bnx2x_main.c -clean_sed ' -/^#include "bnx2x_init\.h"/,/^$/{ - /^$/i\ -#define bnx2x_init_block(bp, start, end) \\\ - return (printk(KERN_ERR "%s: Missing Free firmware\\n", bp->dev->name),\\\ - -EINVAL) -}' drivers/net/bnx2x/bnx2x_main.c 'report missing Free firmware' -clean_blob drivers/net/bnx2x/bnx2x_main.c -clean_blob drivers/net/bnx2x/bnx2x_hsi.h -clean_blob drivers/net/bnx2x/bnx2x_init_ops.h -clean_kconfig drivers/net/Kconfig 'BNX2X' -clean_mk CONFIG_BNX2X drivers/net/Makefile - -announce CASSINI - "Sun Cassini" -drop_fw_file firmware/sun/cassini.bin.ihex firmware/sun/cassini.bin -reject_firmware drivers/net/cassini.c -clean_blob drivers/net/cassini.c -clean_kconfig drivers/net/Kconfig 'CASSINI' -clean_mk CONFIG_CASSINI drivers/net/Makefile - -announce CHELSIO_T3 - "Chelsio AEL 2005 support" -drop_fw_file firmware/cxgb3/t3b_psram-1.1.0.bin.ihex firmware/cxgb3/t3b_psram-1.1.0.bin -drop_fw_file firmware/cxgb3/t3c_psram-1.1.0.bin.ihex firmware/cxgb3/t3c_psram-1.1.0.bin -drop_fw_file firmware/cxgb3/t3fw-7.10.0.bin.ihex firmware/cxgb3/t3fw-7.10.0.bin -drop_fw_file firmware/cxgb3/ael2005_opt_edc.bin.ihex firmware/cxgb3/ael2005_opt_edc.bin -drop_fw_file firmware/cxgb3/ael2005_twx_edc.bin.ihex firmware/cxgb3/ael2005_twx_edc.bin -drop_fw_file firmware/cxgb3/ael2020_twx_edc.bin.ihex firmware/cxgb3/ael2020_twx_edc.bin -reject_firmware drivers/net/cxgb3/cxgb3_main.c -clean_blob drivers/net/cxgb3/cxgb3_main.c -clean_kconfig drivers/net/Kconfig 'CHELSIO_T3' -clean_mk CONFIG_CHELSIO_T3 drivers/net/cxgb3/Makefile - -announce CHELSIO_T4 - "Chelsio Communications T4 Ethernet support" -reject_firmware drivers/net/cxgb4/cxgb4_main.c -clean_blob drivers/net/cxgb4/cxgb4_main.c -clean_kconfig drivers/net/Kconfig 'CHELSIO_T4' -clean_mk CONFIG_CHELSIO_T4 drivers/net/cxgb4/Makefile - -announce E100 - "Intel PRO/100+" -drop_fw_file firmware/e100/d101m_ucode.bin.ihex firmware/e100/d101m_ucode.bin -drop_fw_file firmware/e100/d101s_ucode.bin.ihex firmware/e100/d101s_ucode.bin -drop_fw_file firmware/e100/d102e_ucode.bin.ihex firmware/e100/d102e_ucode.bin -reject_firmware drivers/net/e100.c -clean_sed ' -/^static const struct firmware \*e100_\(reject\|request\)_firmware(/,/^}$/{ - s:^\(.*\)return ERR_PTR(err);$:\1netif_err(nic, probe, nic->netdev, "Proceeding without firmware\\n");\n\1return NULL;: -}' drivers/net/e100.c 'proceed without firmware' -clean_blob drivers/net/e100.c -clean_kconfig drivers/net/Kconfig 'E100' -clean_mk CONFIG_E100 drivers/net/Makefile - -announce FT1000_PCMCIA - "Driver for ft1000 pcmcia device." -clean_file drivers/staging/ft1000/ft1000-pcmcia/ft1000.img -reject_firmware drivers/staging/ft1000/TODO -clean_blob drivers/staging/ft1000/ft1000-pcmcia/boot.h -clean_sed ' -/^static int ft1000_reset_card/,/^}$/ { - /card_bootload/i\ - return /*(DEBLOBBED)*/ FALSE; -} -' drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c \ - 'disabled non-Free firmware-loading machinery' -reject_firmware drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c -clean_blob drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c -clean_kconfig drivers/staging/ft1000/Kconfig 'FT1000_PCMCIA' -clean_mk CONFIG_FT1000_PCMCIA drivers/staging/ft1000/Makefile - -announce FT1000_USB - "Driver for ft1000 USB devices." -clean_file drivers/staging/ft1000/ft1000-usb/ft3000.img -reject_firmware drivers/staging/ft1000/ft1000-usb/ft1000_usb.c -clean_blob drivers/staging/ft1000/ft1000-usb/ft1000_usb.c -clean_kconfig drivers/staging/ft1000/Kconfig 'FT1000_USB' -clean_mk CONFIG_FT1000_USB drivers/staging/ft1000/Makefile - -announce MYRI_SBUS - "MyriCOM Gigabit Ethernet" -drop_fw_file firmware/myricom/lanai.bin.ihex firmware/myricom/lanai.bin -reject_firmware drivers/net/myri_sbus.c -clean_blob drivers/net/myri_sbus.c -clean_kconfig drivers/net/Kconfig 'MYRI_SBUS' -clean_mk CONFIG_MYRI_SBUS drivers/net/Makefile - -announce MYRI10GE - "Myricom Myri-10G Ethernet support" -reject_firmware drivers/net/myri10ge/myri10ge.c -clean_blob drivers/net/myri10ge/myri10ge.c -clean_kconfig drivers/net/Kconfig 'MYRI10GE' -clean_mk CONFIG_MYRI10GE drivers/net/myri10ge/Makefile - -announce NETXEN_NIC - "NetXen Multi port (1/10) Gigabit Ethernet NIC" -reject_firmware drivers/net/netxen/netxen_nic.h -reject_firmware drivers/net/netxen/netxen_nic_main.c -reject_firmware drivers/net/netxen/netxen_nic_init.c -clean_blob drivers/net/netxen/netxen_nic.h -clean_blob drivers/net/netxen/netxen_nic_main.c -clean_kconfig drivers/net/Kconfig 'NETXEN_NIC' -clean_mk CONFIG_NETXEN_NIC drivers/net/Makefile - -announce QLCNIC - "QLOGIC QLCNIC 1/10Gb Converged Ethernet NIC Support" -reject_firmware drivers/net/qlcnic/qlcnic.h -reject_firmware drivers/net/qlcnic/qlcnic_init.c -reject_firmware drivers/net/qlcnic/qlcnic_main.c -clean_blob drivers/net/qlcnic/qlcnic.h -clean_blob drivers/net/qlcnic/qlcnic_main.c -clean_kconfig drivers/net/Kconfig 'QLCNIC' -clean_mk CONFIG_QLCNIC drivers/net/qlcnic/Makefile - -announce R8169 - "Realtek 8169 gigabit ethernet support" -clean_sed ' -/^static void rtl_hw_phy_config(.*)$/,/^}$/{ - /rtl8168d_[12]_hw_phy_config([^,)]*);$/i\ - printk(KERN_ERR PFX "%s: Missing Free firmware\\n", dev->name); -} -' drivers/net/r8169.c 'report missing Free firmware' -clean_blob drivers/net/r8169.c -clean_kconfig drivers/net/Kconfig R8169 -clean_mk CONFIG_R8169 drivers/net/Makefile - -announce SLICOSS - "Alacritech Gigabit IS-NIC cards" -reject_firmware drivers/staging/slicoss/slicoss.c -clean_blob drivers/staging/slicoss/slicoss.c -clean_kconfig drivers/staging/slicoss/Kconfig 'SLICOSS' -clean_mk CONFIG_SLICOSS drivers/staging/slicoss/Makefile - -announce SPIDER_NET - "Spider Gigabit Ethernet driver" -reject_firmware drivers/net/spider_net.c -clean_sed 's,spider_fw\.bin,DEBLOBBED.bin,g' \ - drivers/net/spider_net.c 'removed non-Free firmware notes' -clean_blob drivers/net/spider_net.c -clean_blob drivers/net/spider_net.h -clean_kconfig drivers/net/Kconfig 'SPIDER_NET' -clean_mk CONFIG_SPIDER_NET drivers/net/Makefile - -announce TEHUTI - "Tehuti Networks 10G Ethernet" -drop_fw_file firmware/tehuti/bdx.bin.ihex firmware/tehuti/bdx.bin -reject_firmware drivers/net/tehuti.c -clean_blob drivers/net/tehuti.c -clean_kconfig drivers/net/Kconfig 'TEHUTI' -clean_mk CONFIG_TEHUTI drivers/net/Makefile - -announce TIGON3 - "Broadcom Tigon3" -drop_fw_file firmware/tigon/tg3.bin.ihex firmware/tigon/tg3.bin -drop_fw_file firmware/tigon/tg3_tso.bin.ihex firmware/tigon/tg3_tso.bin -drop_fw_file firmware/tigon/tg3_tso5.bin.ihex firmware/tigon/tg3_tso5.bin -reject_firmware drivers/net/tg3.c -clean_blob drivers/net/tg3.c -clean_kconfig drivers/net/Kconfig 'TIGON3' -clean_mk CONFIG_TIGON3 drivers/net/Makefile - -announce TYPHOON - "3cr990 series Typhoon" -drop_fw_file firmware/3com/typhoon.bin.ihex firmware/3com/typhoon.bin -reject_firmware drivers/net/typhoon.c -clean_blob drivers/net/typhoon.c -clean_kconfig drivers/net/Kconfig 'TYPHOON' -clean_mk CONFIG_TYPHOON drivers/net/Makefile - -# appletalk - -announce COPS - "COPS LocalTalk PC" -clean_sed ' -/sizeof(\(ff\|lt\)drv_code)/{ - i\ - printk(KERN_INFO "%s: Missing Free firmware.\\n", dev->name);\ - return; -} -/\(ff\|lt\)drv_code/d; -' drivers/net/appletalk/cops.c 'report missing Free firmware' -clean_blob drivers/net/appletalk/cops.c -clean_file drivers/net/appletalk/cops_ffdrv.h -clean_file drivers/net/appletalk/cops_ltdrv.h -clean_kconfig drivers/net/appletalk/Kconfig 'COPS' -clean_mk CONFIG_COPS drivers/net/appletalk/Makefile - -# hamradio - -announce YAM - "YAM driver for AX.25" -drop_fw_file firmware/yam/1200.bin.ihex firmware/yam/1200.bin -drop_fw_file firmware/yam/9600.bin.ihex firmware/yam/9600.bin -reject_firmware drivers/net/hamradio/yam.c -clean_blob drivers/net/hamradio/yam.c -clean_kconfig drivers/net/hamradio/Kconfig 'YAM' -clean_mk CONFIG_YAM drivers/net/hamradio/Makefile - -# irda - -announce USB_IRDA - "IrDA USB dongles" -reject_firmware drivers/net/irda/irda-usb.c -clean_blob drivers/net/irda/irda-usb.c -clean_kconfig drivers/net/irda/Kconfig 'USB_IRDA' -clean_mk CONFIG_USB_IRDA drivers/net/irda/Makefile - -# pcmcia - -announce PCMCIA_SMC91C92 - "SMC 91Cxx PCMCIA" -drop_fw_file firmware/ositech/Xilinx7OD.bin.ihex firmware/ositech/Xilinx7OD.bin -reject_firmware drivers/net/pcmcia/smc91c92_cs.c -clean_blob drivers/net/pcmcia/smc91c92_cs.c -clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_SMC91C92' -clean_mk CONFIG_PCMCIA_SMC91C92 drivers/net/pcmcia/Makefile - -# CIS files are not software. -# announce PCCARD - "PCCard (PCMCIA/CardBus) support" -# reject_firmware drivers/pcmcia/ds.c -# clean_kconfig drivers/pcmcia/Kconfig 'PCCARD' -# clean_mk CONFIG_PCCARD drivers/pcmcia/Makefile - -announce PCMCIA_3C574 - "3Com 3c574 PCMCIA support" -# This is not software; it's Free, but GPLed without in-tree sources. -drop_fw_file firmware/cis/3CCFEM556.cis.ihex firmware/cis/3CCFEM556.cis -# clean_blob drivers/net/pcmcia/3c574_cs.c -# clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_3C574' -# clean_mk CONFIG_PCMCIA_3C574 drivers/net/pcmcia/Makefile - -announce PCMCIA_3C589 - "3Com 3c589 PCMCIA support" -# This is not software; it's Free, but GPLed without in-tree sources. -drop_fw_file firmware/cis/3CXEM556.cis.ihex firmware/cis/3CXEM556.cis -# clean_blob drivers/net/pcmcia/3c589_cs.c -# clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_3C589' -# clean_mk CONFIG_PCMCIA_3C589 drivers/net/pcmcia/Makefile - -announce PCMCIA_PCNET - "NE2000 compatible PCMCIA support" -# These are not software; they're Free, but GPLed without in-tree sources. -drop_fw_file firmware/cis/LA-PCM.cis.ihex firmware/cis/LA-PCM.cis -drop_fw_file firmware/cis/PCMLM28.cis.ihex firmware/cis/PCMLM28.cis -drop_fw_file firmware/cis/DP83903.cis.ihex firmware/cis/DP83903.cis -drop_fw_file firmware/cis/NE2K.cis.ihex firmware/cis/NE2K.cis -drop_fw_file firmware/cis/tamarack.cis.ihex firmware/cis/tamarack.cis -drop_fw_file firmware/cis/PE-200.cis.ihex firmware/cis/PE-200.cis -drop_fw_file firmware/cis/PE520.cis.ihex firmware/cis/PE520.cis -# clean_blob drivers/net/pcmcia/pcnet_cs.c -# clean_kconfig drivers/net/pcmcia/Kconfig 'PCMCIA_PCNET' -# clean_mk CONFIG_PCMCIA_PCNET drivers/net/pcmcia/Makefile - -# tokenring - -announce 3C359 - "3Com 3C359 Token Link Velocity XL adapter" -drop_fw_file firmware/3com/3C359.bin.ihex firmware/3com/3C359.bin -clean_blob drivers/net/tokenring/3c359.c -clean_kconfig drivers/net/tokenring/Kconfig '3C359' -clean_mk CONFIG_3C359 drivers/net/tokenring/Makefile - -announce SMCTR - "SMC ISA/MCA adapter" -drop_fw_file firmware/tr_smctr.bin.ihex firmware/tr_smctr.bin -reject_firmware drivers/net/tokenring/smctr.c -clean_blob drivers/net/tokenring/smctr.c -clean_kconfig drivers/net/tokenring/Kconfig 'SMCTR' -clean_mk CONFIG_SMCTR drivers/net/tokenring/Makefile - -announce TMS380TR - "Generic TMS380 Token Ring ISA/PCI adapter support" -reject_firmware drivers/net/tokenring/tms380tr.c -clean_blob drivers/net/tokenring/tms380tr.c -clean_kconfig drivers/net/tokenring/Kconfig 'TMS380TR' -clean_mk CONFIG_TMS380TR drivers/net/tokenring/Makefile - -# usb - -announce USB_KAWETH - "USB KLSI KL5USB101-based ethernet device support" -drop_fw_file firmware/kaweth/new_code.bin.ihex firmware/kaweth/new_code.bin -drop_fw_file firmware/kaweth/new_code_fix.bin.ihex firmware/kaweth/new_code_fix.bin -drop_fw_file firmware/kaweth/trigger_code.bin.ihex firmware/kaweth/trigger_code.bin -drop_fw_file firmware/kaweth/trigger_code_fix.bin.ihex firmware/kaweth/trigger_code_fix.bin -reject_firmware drivers/net/usb/kaweth.c -clean_blob drivers/net/usb/kaweth.c -clean_kconfig drivers/net/usb/Kconfig 'USB_KAWETH' -clean_mk CONFIG_USB_KAWETH drivers/net/usb/Makefile - -# wireless - -announce ATMEL "Atmel at76c50x chipset 802.11b support" -reject_firmware drivers/net/wireless/atmel.c -clean_blob drivers/net/wireless/atmel.c -clean_kconfig drivers/net/wireless/Kconfig 'ATMEL' -clean_mk CONFIG_ATMEL drivers/net/wireless/Makefile - -announce AT76C50X_USB - "Atmel at76c503/at76c505/at76c505a USB cards" -reject_firmware drivers/net/wireless/at76c50x-usb.c -clean_blob drivers/net/wireless/at76c50x-usb.c -clean_kconfig drivers/net/wireless/Kconfig 'AT76C50X_USB' -clean_mk CONFIG_AT76C50X_USB drivers/net/wireless/Makefile - -announce B43 - "Broadcom 43xx wireless support (mac80211 stack)" -maybe_reject_firmware drivers/net/wireless/b43/main.c -clean_sed ' -/^static int b43_upload_microcode(/,/^}$/{ - / if (dev->fw\.opensource) {$/i\ - if (!dev->fw.opensource) {\ - b43err(dev->wl, "Rejected non-Free firmware\\n");\ - err = -EOPNOTSUPP;\ - goto error;\ - } -}' drivers/net/wireless/b43/main.c 'double-check and reject non-Free firmware' -# Major portions of firmware filenames not deblobbed. -clean_blob drivers/net/wireless/b43/main.c -clean_kconfig drivers/net/wireless/b43/Kconfig 'B43' -clean_mk CONFIG_B43 drivers/net/wireless/b43/Makefile - -announce B43LEGACY - "Broadcom 43xx-legacy wireless support (mac80211 stack)" -reject_firmware drivers/net/wireless/b43legacy/main.c -# Major portions of firwmare filenames not deblobbed. -clean_blob drivers/net/wireless/b43legacy/main.c -clean_kconfig drivers/net/wireless/b43legacy/Kconfig 'B43LEGACY' -clean_mk CONFIG_B43LEGACY drivers/net/wireless/b43legacy/Makefile - -announce BRCM80211_PCI - "Broadcom IEEE802.11n PCIe SoftMAC WLAN driver" -clean_blob drivers/staging/brcm80211/README -reject_firmware drivers/staging/brcm80211/sys/wl_mac80211.c -clean_blob drivers/staging/brcm80211/sys/wl_mac80211.c -clean_kconfig drivers/staging/brcm80211/Kconfig 'BRCM80211_PCI' -clean_mk CONFIG_BRCM80211_PCI drivers/staging/brcm80211/Makefile - -announce BRCMFMAC - "Broadcom IEEE802.11n embedded FullMAC WLAN driver" -clean_blob drivers/staging/brcm80211/brcmfmac/README -reject_firmware drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c -clean_blob drivers/staging/brcm80211/brcmfmac/wl_cfg80211.c -clean_kconfig drivers/staging/brcm80211/Kconfig 'BRCMFMAC' -clean_mk CONFIG_BRCMFMAC drivers/staging/brcm80211/Makefile - -announce HERMES - "Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)" -reject_firmware drivers/net/wireless/orinoco/fw.c -clean_blob drivers/net/wireless/orinoco/fw.c -clean_kconfig drivers/net/wireless/orinoco/Kconfig 'HERMES' -clean_mk CONFIG_HERMES drivers/net/wireless/orinoco/Makefile - -announce ORINOCO_USB - "Agere Orinoco USB support" -reject_firmware drivers/net/wireless/orinoco/orinoco_usb.c -clean_blob drivers/net/wireless/orinoco/orinoco_usb.c -clean_kconfig drivers/net/wireless/orinoco/Kconfig 'ORINOCO_USB' -clean_mk CONFIG_ORINOCO_USB drivers/net/wireless/orinoco/Makefile - -announce WLAGS49_H2 - 'Agere Systems HERMES II Wireless PC Card Model 0110' -# Some pieces of the firmware images are most definitely data, but -# others seem to be code. -clean_file drivers/staging/wlags49_h2/ap_h2.c -clean_file drivers/staging/wlags49_h2/sta_h2.c -clean_blob drivers/staging/wlags49_h2/wl_profile.c -clean_kconfig drivers/staging/wlags49_h2/Kconfig 'WLAGS49_H2' -clean_mk CONFIG_WLAGS49_H2 drivers/staging/Makefile - -announce WLAGS49_H25 - 'Linksys Systems HERMES II.5 Wireless-G_CompactFlash_Card' -clean_file drivers/staging/wlags49_h2/ap_h25.c -clean_file drivers/staging/wlags49_h2/sta_h25.c -clean_kconfig drivers/staging/wlags49_h25/Kconfig 'WLAGS49_H25' -clean_mk CONFIG_WLAGS49_H25 drivers/staging/Makefile - -announce IPW2100 - "Intel PRO/Wireless 2100 Network Connection" -reject_firmware drivers/net/wireless/ipw2x00/ipw2100.c -clean_blob drivers/net/wireless/ipw2x00/ipw2100.c -clean_kconfig drivers/net/wireless/Kconfig 'IPW2100' -clean_mk CONFIG_IPW2100 drivers/net/wireless/ipw2x00/Makefile - -announce IPW2200 - "Intel PRO/Wireless 2200BG and 2915ABG Network Connection" -reject_firmware drivers/net/wireless/ipw2x00/ipw2200.c -clean_blob drivers/net/wireless/ipw2x00/ipw2200.c -clean_kconfig drivers/net/wireless/Kconfig 'IPW2200' -clean_mk CONFIG_IPW2200 drivers/net/wireless/ipw2x00/Makefile - -announce IWL3945 - "Intel PRO/Wireless 3945ABG/BG Network Connection" -reject_firmware drivers/net/wireless/iwlwifi/iwl3945-base.c -clean_blob drivers/net/wireless/iwlwifi/iwl3945-base.c -clean_blob drivers/net/wireless/iwlwifi/iwl-3945.h -clean_kconfig drivers/net/wireless/iwlwifi/Kconfig 'IWL3945' -clean_mk CONFIG_IWL3945 drivers/net/wireless/iwlwifi/Makefile - -announce IWLAGN - "Intel Wireless WiFi Next Gen AGN" -reject_firmware drivers/net/wireless/iwlwifi/iwl-agn.c -clean_blob drivers/net/wireless/iwlwifi/iwl-agn.c -clean_kconfig drivers/net/wireless/iwlwifi/Kconfig 'IWLAGN' -clean_mk CONFIG_IWLAGN drivers/net/wireless/iwlwifi/Makefile - -announce IWL4965 - "Intel Wireless WiFi 4965AGN" -clean_blob drivers/net/wireless/iwlwifi/iwl-4965.c -clean_kconfig drivers/net/wireless/iwlwifi/Kconfig 'IWL4965' -clean_mk CONFIG_IWL4965 drivers/net/wireless/iwlwifi/Makefile - -announce IWL5000 - "Intel Wireless WiFi 5000AGN" -clean_blob drivers/net/wireless/iwlwifi/iwl-5000.c -clean_blob drivers/net/wireless/iwlwifi/iwl-6000.c -clean_blob drivers/net/wireless/iwlwifi/iwl-1000.c -clean_kconfig drivers/net/wireless/iwlwifi/Kconfig 'IWL5000' -clean_mk CONFIG_IWL5000 drivers/net/wireless/iwlwifi/Makefile - -announce IWM - "Intel Wireless Multicomm 3200 WiFi driver" -reject_firmware drivers/net/wireless/iwmc3200wifi/fw.c -clean_blob drivers/net/wireless/iwmc3200wifi/sdio.c -clean_kconfig drivers/net/wireless/iwmc3200wifi/Kconfig 'IWM' -clean_mk CONFIG_IWM drivers/net/wireless/iwmc3200wifi/Makefile - -announce IWMC3200TOP - "Intel Wireless MultiCom Top Driver" -reject_firmware drivers/misc/iwmc3200top/fw-download.c -undefine_macro '_FW_NAME(api)' '"/*(DEBLOBBED)*/"' \ - 'removed non-Free firmware name' drivers/misc/iwmc3200top/iwmc3200top.h -clean_blob drivers/misc/iwmc3200top/main.c -clean_kconfig drivers/misc/iwmc3200top/Kconfig 'IWMC3200TOP' -clean_mk CONFIG_IWMC3200TOP drivers/misc/iwmc3200top/Makefile - -announce LIBERTAS - "Marvell 8xxx Libertas WLAN driver support" -reject_firmware drivers/net/wireless/libertas/main.c ' -/Try user-specified firmware first/{ - :end1 - /request_firmware(helper, user_helper/! {N; b end1;}; - :end2 - /request_firmware(helper, user_helper.*request_firmware(mainfw, user_mainfw/! {N; b end2;}; - /request_firmware(helper, user_helper.*request_firmware(mainfw, user_mainfw/{ - /request_firmware.*request_firmware.*request_firmware/!{p; d;}; - } -} -' -clean_kconfig drivers/net/wireless/Kconfig 'LIBERTAS' -clean_mk CONFIG_LIBERTAS drivers/net/wireless/libertas/Makefile - -announce LIBERTAS_CS - "Marvell Libertas 8385 CompactFlash 802.11b/g cards" -clean_blob drivers/net/wireless/libertas/if_cs.c -clean_kconfig drivers/net/wireless/Kconfig 'LIBERTAS_CS' -clean_mk CONFIG_LIBERTAS_CS drivers/net/wireless/libertas/Makefile - -announce LIBERTAS_SDIO - "Marvell Libertas 8385 and 8686 SDIO 802.11b/g cards" -clean_blob drivers/net/wireless/libertas/if_sdio.c -clean_kconfig drivers/net/wireless/Kconfig 'LIBERTAS_SDIO' -clean_mk CONFIG_LIBERTAS_SDIO drivers/net/wireless/libertas/Makefile - -announce LIBERTAS_SPI - "Marvell Libertas 8686 SPI 802.11b/g cards" -clean_blob drivers/net/wireless/libertas/if_spi.c -clean_kconfig drivers/net/wireless/Kconfig 'LIBERTAS_SPI' -clean_mk CONFIG_LIBERTAS_SPI drivers/net/wireless/libertas/Makefile - -announce LIBERTAS_USB - "Marvell Libertas 8388 USB 802.11b/g cards" -reject_firmware drivers/net/wireless/libertas/if_usb.c ' -/Try user-specified firmware first/{ - /request_firmware/!N; - /request_firmware/!N; - /request_firmware/{p; d;}; -} -' -clean_blob drivers/net/wireless/libertas/if_usb.c -clean_blob drivers/net/wireless/libertas/README -clean_kconfig drivers/net/wireless/Kconfig 'LIBERTAS_USB' -clean_mk CONFIG_LIBERTAS_USB drivers/net/wireless/libertas/Makefile - -announce LIBERTAS_THINFIRM_USB - "Marvell Libertas 8388 USB 802.11b/g cards with thin firmware" -reject_firmware drivers/net/wireless/libertas_tf/if_usb.c -clean_blob drivers/net/wireless/libertas_tf/if_usb.c -clean_kconfig drivers/net/wireless/Kconfig 'LIBERTAS_THINFIRM_USB' -clean_mk CONFIG_LIBERTAS_THINFIRM_USB drivers/net/wireless/libertas_tf/Makefile - -announce MWL8K - 'Marvell 88W8xxx PCI/PCIe Wireless support' -reject_firmware drivers/net/wireless/mwl8k.c -clean_blob drivers/net/wireless/mwl8k.c -clean_kconfig drivers/net/wireless/Kconfig 'MWL8K' -clean_mk CONFIG_MWL8K drivers/net/wireless/Makefile - -announce ATH6K_LEGACY - "Atheros AR6003 support (non mac80211)" -reject_firmware drivers/staging/ath6kl/os/linux/ar6000_android.c -reject_firmware drivers/staging/ath6kl/os/linux/include/osapi_linux.h -clean_sed ' -/\*firmware_p = firmware = kzalloc/ i\ - return -1; -' drivers/staging/ath6kl/os/linux/ar6000_android.c \ - 'disabled non-Free firmware loading machinery' -clean_blob drivers/staging/ath6kl/os/linux/include/ar6000_drv.h -clean_kconfig drivers/staging/ath6kl/Kconfig 'ATH6K_LEGACY' -clean_mk CONFIG_ATH6K_LEGACY drivers/staging/ath6kl/Makefile - -announce ATH9K_HTC - "Atheros HTC based wireless cards support" -reject_firmware drivers/net/wireless/ath/ath9k/hif_usb.c -clean_blob drivers/net/wireless/ath/ath9k/hif_usb.c -clean_kconfig drivers/net/wireless/ath/ath9k/Kconfig 'ATH9K_HTC' -clean_mk CONFIG_ATH9K_HTC drivers/net/wireless/ath/ath9k/Makefile - -announce PRISM2_USB - "Prism2.5/3 USB driver" -reject_firmware drivers/staging/wlan-ng/prism2fw.c -clean_blob drivers/staging/wlan-ng/prism2fw.c -clean_kconfig drivers/staging/wlan-ng/Kconfig PRISM2_USB -clean_mk CONFIG_PRISM2_USB drivers/staging/wlan-ng/Makefile - -announce P54_PCI - "Prism54 PCI support" -reject_firmware drivers/net/wireless/p54/p54pci.c -clean_blob drivers/net/wireless/p54/p54pci.c -clean_kconfig drivers/net/wireless/p54/Kconfig 'P54_PCI' -clean_mk CONFIG_P54_PCI drivers/net/wireless/p54/Makefile - -announce P54_SPI - "Prism54 SPI (stlc45xx) support" -# There's support for loading custom 3826.eeprom here, with a default -# eeprom that is clearly pure data. Without Free 3826.arm, there's -# little point in trying to retain the ability to load 3826.eeprom, so -# we drop it altogether. -reject_firmware drivers/net/wireless/p54/p54spi.c -clean_blob drivers/net/wireless/p54/p54spi.c -clean_kconfig drivers/net/wireless/p54/Kconfig 'P54_SPI' -clean_mk CONFIG_P54_SPI drivers/net/wireless/p54/Makefile - -announce P54_USB - "Prism54 USB support" -reject_firmware drivers/net/wireless/p54/p54usb.c -clean_blob drivers/net/wireless/p54/p54usb.c -clean_blob drivers/net/wireless/p54/p54usb.h -clean_kconfig drivers/net/wireless/p54/Kconfig 'P54_USB' -clean_mk CONFIG_P54_USB drivers/net/wireless/p54/Makefile - -announce PRISM54 - 'Intersil Prism GT/Duette/Indigo PCI/Cardbus' -reject_firmware drivers/net/wireless/prism54/islpci_dev.c -clean_blob drivers/net/wireless/prism54/islpci_dev.c -clean_kconfig drivers/net/wireless/Kconfig 'PRISM54' -clean_mk CONFIG_PRISM54 drivers/net/wireless/prism54/Makefile - -announce RT2X00_LIB_FIRMWARE - "Ralink driver firmware support" -reject_firmware drivers/net/wireless/rt2x00/rt2x00firmware.c -clean_kconfig drivers/net/wireless/rt2x00/Kconfig 'RT2X00_LIB_FIRMWARE' -clean_mk CONFIG_RT2X00_LIB_FIRMWARE drivers/net/wireless/rt2x00/Makefile - -announce RT61PCI - "Ralink rt2501/rt61 (PCI/PCMCIA) support" -clean_blob drivers/net/wireless/rt2x00/rt61pci.h -clean_blob drivers/net/wireless/rt2x00/rt61pci.c -clean_kconfig drivers/net/wireless/rt2x00/Kconfig 'RT61PCI' -clean_mk CONFIG_RT61PCI drivers/net/wireless/rt2x00/Makefile - -announce RT73USB - "Ralink rt2501/rt73 (USB) support" -clean_blob drivers/net/wireless/rt2x00/rt73usb.h -clean_blob drivers/net/wireless/rt2x00/rt73usb.c -clean_kconfig drivers/net/wireless/rt2x00/Kconfig 'RT73USB' -clean_mk CONFIG_RT73USB drivers/net/wireless/rt2x00/Makefile - -announce RT2800PCI - "Ralink rt2800 (PCI/PCMCIA) support" -clean_blob drivers/net/wireless/rt2x00/rt2800pci.h -clean_blob drivers/net/wireless/rt2x00/rt2800pci.c -clean_kconfig drivers/net/wireless/rt2x00/Kconfig RT2800PCI -clean_mk CONFIG_RT2800PCI drivers/net/wireless/rt2x00/Makefile - -announce RT2800USB - "Ralink rt2800 (USB) support" -clean_blob drivers/net/wireless/rt2x00/rt2800usb.h -clean_blob drivers/net/wireless/rt2x00/rt2800usb.c -clean_kconfig drivers/net/wireless/rt2x00/Kconfig RT2800USB -clean_mk CONFIG_RT2800USB drivers/net/wireless/rt2x00/Makefile - -announce RT2860 - "Ralink 2860/3090 wireless support" -reject_firmware drivers/staging/rt2860/common/rtmp_mcu.c -clean_blob drivers/staging/rt2860/common/rtmp_mcu.c -clean_blob drivers/staging/rt2860/rtmp_def.h -clean_blob drivers/staging/rt2860/common/ee_efuse.c -clean_kconfig drivers/staging/rt2860/Kconfig RT2860 -clean_mk CONFIG_RT2860 drivers/staging/rt2860/Makefile - -announce RT2870 - "Ralink 2870/3070 wireless support" -clean_kconfig drivers/staging/rt2870/Kconfig RT2870 -clean_mk CONFIG_RT2870 drivers/staging/rt2870/Makefile - -announce RTL8192E - "RealTek RTL8192E Wireless LAN NIC driver" -reject_firmware drivers/staging/rtl8192e/r819xE_firmware.c -clean_blob drivers/staging/rtl8192e/r819xE_firmware.c -clean_kconfig drivers/staging/rtl8192e/Kconfig RTL8192E -clean_mk CONFIG_RTL8192E drivers/staging/rtl8192e/Makefile - -announce RTL8192U - "RealTek RTL8192U Wireless LAN NIC driver" -reject_firmware drivers/staging/rtl8192u/r819xU_firmware.c -clean_blob drivers/staging/rtl8192u/r819xU_firmware.c -clean_blob drivers/staging/rtl8192u/r819xU_firmware_img.c -clean_kconfig drivers/staging/rtl8192u/Kconfig 'RTL8192U' -clean_mk CONFIG_RTL8192U drivers/staging/rtl8192u/Makefile - -announce R8712U - "RealTek RTL8712U (RTL8192SU) Wireless LAN NIC driver" -clean_blob drivers/staging/rtl8712/farray.h -clean_sed ' -/^static u32 rtl871x_open_fw(/i\ -#define rtl871x_open_fw(a,b,c) 0 -' drivers/staging/rtl8712/hal_init.c \ - 'disabling non-Free firmware loading machinery' -clean_blob drivers/staging/rtl8712/hal_init.c -clean_kconfig drivers/staging/rtl8712/Kconfig 'R8712U' -clean_mk CONFIG_R8712U drivers/staging/rtl8712/Makefile - -announce VT6656 - "VIA Technologies VT6656 support" -clean_sed ' -/^FIRMWAREbDownload($/,/^}$/ { - /PBYTE.*pBuffer/ i\ - PBYTE abyFirmware[1] = { 0 }; - /-->Download firmware/ i\ - printk("vt6656: missing Free firmware\\n");\ - return (FALSE); -}' drivers/staging/vt6656/firmware.c 'report missing Free firmware' -clean_blob drivers/staging/vt6656/firmware.c -clean_kconfig drivers/staging/vt6656/Kconfig 'VT6656' -clean_mk CONFIG_VT6656 drivers/staging/vt6656/Makefile - -announce WL1251 - "TI wl1251 support" -reject_firmware drivers/net/wireless/wl1251/main.c -clean_blob drivers/net/wireless/wl1251/main.c -clean_blob drivers/net/wireless/wl1251/wl1251.h -clean_kconfig drivers/net/wireless/wl1251/Kconfig 'WL1251' -clean_mk CONFIG_WL1251 drivers/net/wireless/wl1251/Makefile - -announce WL1271 - "TI wl1271 support" -reject_firmware drivers/net/wireless/wl12xx/wl1271_main.c -clean_blob drivers/net/wireless/wl12xx/wl1271.h -clean_kconfig drivers/net/wireless/wl12xx/Kconfig 'WL1271' -clean_mk CONFIG_WL1271 drivers/net/wireless/wl12xx/Makefile - -announce WL1271_SDIO - "TI wl1271 SDIO support" -clean_blob drivers/net/wireless/wl12xx/wl1271_sdio.c -clean_kconfig drivers/net/wireless/wl12xx/Kconfig 'WL1271_SDIO' -clean_mk CONFIG_WL1271_SDIO drivers/net/wireless/wl12xx/Makefile - -announce WL1271_SPI - "TI wl1271 SPI support" -clean_blob drivers/net/wireless/wl12xx/wl1271_spi.c -clean_kconfig drivers/net/wireless/wl12xx/Kconfig 'WL1271_SPI' -clean_mk CONFIG_WL1271_SPI drivers/net/wireless/wl12xx/Makefile - -announce USB_ZD1201 - "USB ZD1201 based Wireless device support" -reject_firmware drivers/net/wireless/zd1201.c -clean_blob drivers/net/wireless/zd1201.c -clean_kconfig drivers/net/wireless/Kconfig 'USB_ZD1201' -clean_mk CONFIG_USB_ZD1201 drivers/net/wireless/Makefile - -announce ZD1211RW - "ZyDAS ZD1211/ZD1211B USB-wireless support" -reject_firmware drivers/net/wireless/zd1211rw/zd_usb.c -clean_blob drivers/net/wireless/zd1211rw/zd_usb.c -clean_kconfig drivers/net/wireless/zd1211rw/Kconfig 'ZD1211RW' -clean_mk CONFIG_ZD1211RW drivers/net/wireless/zd1211rw/Makefile - -# bluetooth - -announce BT_ATH3K - "Atheros firmware download driver" -reject_firmware drivers/bluetooth/ath3k.c -clean_blob drivers/bluetooth/ath3k.c -clean_kconfig drivers/bluetooth/Kconfig 'BT_ATH3K' -clean_mk CONFIG_BT_ATH3K drivers/bluetooth/Makefile - -announce BT_HCIBCM203X - "HCI BCM203x USB driver" -reject_firmware drivers/bluetooth/bcm203x.c -clean_blob drivers/bluetooth/bcm203x.c -clean_kconfig drivers/bluetooth/Kconfig 'BT_HCIBCM203X' -clean_mk CONFIG_BT_HCIBCM203X drivers/bluetooth/Makefile - -announce BT_HCIBFUSB - "HCI BlueFRITZ! USB driver" -reject_firmware drivers/bluetooth/bfusb.c -clean_blob drivers/bluetooth/bfusb.c -clean_kconfig drivers/bluetooth/Kconfig 'BT_HCIBFUSB' -clean_mk CONFIG_BT_HCIBFUSB drivers/bluetooth/Makefile - -announce BT_HCIBT3C - "HCI BT3C (PC Card) driver" -reject_firmware drivers/bluetooth/bt3c_cs.c -clean_blob drivers/bluetooth/bt3c_cs.c -clean_kconfig drivers/bluetooth/Kconfig 'BT_HCIBT3C' -clean_mk CONFIG_BT_HCIBT3C drivers/bluetooth/Makefile - -announce BT_MRVL_SDIO - "Marvell BT-over-SDIO driver" -reject_firmware drivers/bluetooth/btmrvl_sdio.c -clean_blob drivers/bluetooth/btmrvl_sdio.c -clean_blob Documentation/btmrvl.txt -clean_kconfig drivers/bluetooth/Kconfig 'BT_MRVL_SDIO' -clean_mk CONFIG_BT_MRVL_SDIO drivers/bluetooth/Makefile - -announce TI_ST - "Texas Instruments shared transport line discipline" -reject_firmware drivers/misc/ti-st/st_kim.c -clean_blob drivers/misc/ti-st/st_kim.c -clean_kconfig drivers/misc/ti-st/Kconfig 'TI_ST' -clean_mk CONFIG_TI_ST drivers/misc/ti-st/Makefile - -# wimax - -announce WIMAX_I2400M - "Intel Wireless WiMAX Connection 2400" -reject_firmware drivers/net/wimax/i2400m/fw.c -clean_blob drivers/net/wimax/i2400m/sdio.c -clean_blob drivers/net/wimax/i2400m/usb.c -clean_blob Documentation/wimax/README.i2400m -clean_kconfig drivers/net/wimax/i2400m/Kconfig 'WIMAX_I2400M' -clean_mk CONFIG_WIMAX_I2400M drivers/net/wimax/i2400m/Makefile - -announce BCM_WIMAX - "Beceem BCS200/BCS220-3 and BCSM250 wimax support" -clean_blob drivers/staging/bcm/Macros.h -# This disables loading of the .cfg file as well, but it's useless without -# the firmware proper. -clean_sed ' -/^static inline struct file \*open_firmware_file/,/^}$/ { - /oldfs=get_fs();/i\ - return /*(DEBLOBBED)*/ NULL; -}' drivers/staging/bcm/Misc.c 'disabled non-Free firmware loading machinery' -clean_kconfig drivers/staging/bcm/Kconfig 'BCM_WIMAX' -clean_mk CONFIG_BCM_WIMAX drivers/staging/bcm/Makefile - -# infiniband - -announce INFINIBAND_QIB - "QLogic PCIe HCA support" -drop_fw_file firmware/qlogic/sd7220.fw.ihex firmware/qlogic/sd7220.fw -reject_firmware drivers/infiniband/hw/qib/qib_sd7220.c -clean_blob drivers/infiniband/hw/qib/qib_sd7220.c -clean_kconfig drivers/infiniband/hw/qib/Kconfig 'INFINIBAND_QIB' -clean_mk CONFIG_INFINIBAND_QIB drivers/infiniband/hw/qib/Makefile - -######## -# ISDN # -######## - -announce ISDN_DIVAS - "Support Eicon DIVA Server cards" -clean_blob drivers/isdn/hardware/eicon/cardtype.h -clean_blob drivers/isdn/hardware/eicon/dsp_defs.h -clean_kconfig drivers/isdn/hardware/eicon/Kconfig 'ISDN_DIVAS' -clean_mk CONFIG_ISDN_DIVAS drivers/isdn/hardware/eicon/Makefile - -announce MISDN_SPEEDFAX - "Support for Sedlbauer Speedfax+" -reject_firmware drivers/isdn/hardware/mISDN/speedfax.c -clean_blob drivers/isdn/hardware/mISDN/speedfax.c -clean_kconfig drivers/isdn/hardware/mISDN/Kconfig 'MISDN_SPEEDFAX' -clean_mk CONFIG_MISDN_SPEEDFAX drivers/isdn/hardware/mISDN/Makefile - -########## -# Serial # -########## - -announce SERIAL_8250_CS - "8250/16550 PCMCIA device support" -# These are not software; they're Free, but GPLed without in-tree sources. -drop_fw_file firmware/cis/MT5634ZLX.cis.ihex firmware/cis/MT5634ZLX.cis -drop_fw_file firmware/cis/RS-COM-2P.cis.ihex firmware/cis/RS-COM-2P.cis -drop_fw_file firmware/cis/COMpad2.cis.ihex firmware/cis/COMpad2.cis -drop_fw_file firmware/cis/COMpad4.cis.ihex firmware/cis/COMpad4.cis -# These are not software; they're Free, but GPLed without textual sources. -# It could be assumed that these binaries *are* sources, since they -# can be trivially converted back to a textual form, without loss, -# but we're better off safe than sorry, so remove them from our tree. -drop_fw_file firmware/cis/SW_555_SER.cis.ihex firmware/cis/SW_555_SER.cis -drop_fw_file firmware/cis/SW_7xx_SER.cis.ihex firmware/cis/SW_7xx_SER.cis -drop_fw_file firmware/cis/SW_8xx_SER.cis.ihex firmware/cis/SW_8xx_SER.cis -# clean_blob drivers/serial/serial_cs.c -# clean_kconfig drivers/serial/Kconfig 'SERIAL_8250_CS' -# clean_mk CONFIG_SERIAL_8250_CS drivers/serial/Makefile - -announce SERIAL_ICOM - "IBM Multiport Serial Adapter" -reject_firmware drivers/serial/icom.c -clean_blob drivers/serial/icom.c -clean_kconfig drivers/serial/Kconfig 'SERIAL_ICOM' -clean_mk CONFIG_SERIAL_ICOM drivers/serial/Makefile - -announce SERIAL_QE - "Freescale QUICC Engine serial port support" -reject_firmware drivers/serial/ucc_uart.c -clean_blob drivers/serial/ucc_uart.c -clean_kconfig drivers/serial/Kconfig 'SERIAL_QE' -clean_mk CONFIG_SERIAL_QE drivers/serial/Makefile - -######### -# input # -######### - -announce TOUCHSCREEN_QT602240 - "QT602240 I2C Touchscreen" -reject_firmware drivers/input/touchscreen/qt602240_ts.c -clean_blob drivers/input/touchscreen/qt602240_ts.c -clean_kconfig drivers/net/Kconfig 'TOUCHSCREEN_QT602240' -clean_mk CONFIG_TOUCHSCREEN_QT602240 drivers/input/touchscreen/Makefile - -announce LIRC_ZILOG - "Zilog/Hauppauge IR Transmitter" -reject_firmware drivers/staging/lirc/lirc_zilog.c -clean_blob drivers/staging/lirc/lirc_zilog.c -clean_kconfig drivers/staging/lirc/Kconfig 'LIRC_ZILOG' -clean_mk CONFIG_LIRC_ZILOG drivers/staging/lirc/Makefile - -#################### -# Data acquisition # -#################### - -announce COMEDI_PCI_DRIVERS - "Data acquisition support Comedi PCI drivers" -reject_firmware drivers/staging/comedi/drivers/jr3_pci.c -clean_blob drivers/staging/comedi/drivers/jr3_pci.c -clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_PCI_DRIVERS' -clean_mk CONFIG_COMEDI_PCI_DRIVERS drivers/staging/comedi/drivers/Makefile - -announce COMEDI_USBDUX - "ITL USBDUX support" -reject_firmware drivers/staging/comedi/drivers/usbdux.c -clean_blob drivers/staging/comedi/drivers/usbdux.c -clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_USBDUX' -clean_mk CONFIG_COMEDI_USBDUX drivers/staging/comedi/drivers/Makefile - -announce COMEDI_USBDUXFAST - "ITL USB-DUXfast support" -reject_firmware drivers/staging/comedi/drivers/usbduxfast.c -clean_blob drivers/staging/comedi/drivers/usbduxfast.c -clean_kconfig drivers/staging/comedi/Kconfig 'COMEDI_USBDUXFAST' -clean_mk CONFIG_COMEDI_USBDUXFAST drivers/staging/comedi/drivers/Makefile - - -######## -# SCSI # -######## - -announce SCSI_QLOGICPTI - "PTI Qlogic, ISP Driver" -drop_fw_file firmware/qlogic/isp1000.bin.ihex firmware/qlogic/isp1000.bin -reject_firmware drivers/scsi/qlogicpti.c -clean_blob drivers/scsi/qlogicpti.c -clean_kconfig drivers/scsi/Kconfig 'SCSI_QLOGICPTI' -clean_mk CONFIG_SCSI_QLOGICPTI drivers/scsi/Makefile - -announce SCSI_ADVANSYS - "AdvanSys SCSI" -drop_fw_file firmware/advansys/mcode.bin.ihex firmware/advansys/mcode.bin -drop_fw_file firmware/advansys/3550.bin.ihex firmware/advansys/3550.bin -drop_fw_file firmware/advansys/38C0800.bin.ihex firmware/advansys/38C0800.bin -drop_fw_file firmware/advansys/38C1600.bin.ihex firmware/advansys/38C1600.bin -reject_firmware drivers/scsi/advansys.c -clean_blob drivers/scsi/advansys.c -clean_kconfig drivers/scsi/Kconfig 'SCSI_ADVANSYS' -clean_mk CONFIG_SCSI_ADVANSYS drivers/scsi/Makefile - -announce SCSI_QLOGIC_1280 - "Qlogic QLA 1240/1x80/1x160 SCSI" -drop_fw_file firmware/qlogic/1040.bin.ihex firmware/qlogic/1040.bin -drop_fw_file firmware/qlogic/1280.bin.ihex firmware/qlogic/1280.bin -drop_fw_file firmware/qlogic/12160.bin.ihex firmware/qlogic/12160.bin -reject_firmware drivers/scsi/qla1280.c -clean_blob drivers/scsi/qla1280.c -clean_kconfig drivers/scsi/Kconfig 'SCSI_QLOGIC_1280' -clean_mk CONFIG_SCSI_QLOGIC_1280 drivers/scsi/Makefile - -announce SCSI_AIC94XX - "Adaptec AIC94xx SAS/SATA support" -reject_firmware drivers/scsi/aic94xx/aic94xx_seq.c -clean_blob drivers/scsi/aic94xx/aic94xx_seq.c -clean_blob drivers/scsi/aic94xx/aic94xx_seq.h -clean_kconfig drivers/scsi/aic94xx/Kconfig 'SCSI_AIC94XX' -clean_mk CONFIG_SCSI_AIC94XX drivers/scsi/aic94xx/Makefile - -announce SCSI_BFA_FC - "Brocade BFA Fibre Channel Support" -clean_blob drivers/scsi/bfa/bfad_im.h -reject_firmware drivers/scsi/bfa/bfad.c -clean_blob drivers/scsi/bfa/bfad.c -clean_kconfig drivers/scsi/Kconfig 'SCSI_BFA_FC' -clean_mk CONFIG_SCSI_BFA_FC drivers/scsi/bfa/Makefile - -announce SCSI_QLA_FC - "QLogic QLA2XXX Fibre Channel Support" -reject_firmware drivers/scsi/qla2xxx/qla_gbl.h -reject_firmware drivers/scsi/qla2xxx/qla_init.c -reject_firmware drivers/scsi/qla2xxx/qla_os.c -reject_firmware drivers/scsi/qla2xxx/qla_nx.c -clean_sed ' -/^config SCSI_QLA_FC$/,/^config /{ - /^ By default, firmware/i\ - /*(DEBLOBBED)*/ - /^ By default, firmware/,/ftp:[/][/].*firmware[/]/d -}' drivers/scsi/qla2xxx/Kconfig 'removed firmware notes' -clean_blob drivers/scsi/qla2xxx/qla_os.c -clean_kconfig drivers/scsi/qla2xxx/Kconfig 'SCSI_QLA_FC' -clean_mk CONFIG_SCSI_QLA_FC drivers/scsi/qla2xxx/Makefile - - -####### -# USB # -####### - -# atm - -announce USB_CXACRU - "Conexant AccessRunner USB support" -reject_firmware drivers/usb/atm/cxacru.c -clean_blob drivers/usb/atm/cxacru.c -clean_kconfig drivers/usb/atm/Kconfig 'USB_CXACRU' -clean_mk CONFIG_USB_CXACRU drivers/usb/atm/Makefile - -announce USB_SPEEDTOUCH - "Speedtouch USB support" -reject_firmware drivers/usb/atm/speedtch.c -clean_blob drivers/usb/atm/speedtch.c -clean_kconfig drivers/usb/atm/Kconfig 'USB_SPEEDTOUCH' -clean_mk CONFIG_USB_SPEEDTOUCH drivers/usb/atm/Makefile - -announce USB_UEAGLEATM - "ADI 930 and eagle USB DSL modem" -reject_firmware drivers/usb/atm/ueagle-atm.c -clean_blob drivers/usb/atm/ueagle-atm.c -clean_kconfig drivers/usb/atm/Kconfig 'USB_UEAGLEATM' -clean_mk CONFIG_USB_UEAGLEATM drivers/usb/atm/Makefile - -# misc - -announce USB_EMI26 - "EMI 2|6 USB Audio interface" -# These files are not under the GPL, better remove them all. -drop_fw_file firmware/emi26/bitstream.HEX firmware/emi26/bitstream.fw -drop_fw_file firmware/emi26/firmware.HEX firmware/emi26/firmware.fw -drop_fw_file firmware/emi26/loader.HEX firmware/emi26/loader.fw -reject_firmware drivers/usb/misc/emi26.c -clean_blob drivers/usb/misc/emi26.c -clean_kconfig drivers/usb/misc/Kconfig 'USB_EMI26' -clean_mk CONFIG_USB_EMI26 drivers/usb/misc/Makefile - -announce USB_EMI62 - "EMI 6|2m USB Audio interface" -# These files are probably not under the GPL, better remove them all. -drop_fw_file firmware/emi62/bitstream.HEX firmware/emi62/bitstream.fw -drop_fw_file firmware/emi62/loader.HEX firmware/emi62/loader.fw -drop_fw_file firmware/emi62/midi.HEX firmware/emi62/midi.fw -drop_fw_file firmware/emi62/spdif.HEX firmware/emi62/spdif.fw -reject_firmware drivers/usb/misc/emi62.c -clean_blob drivers/usb/misc/emi62.c -clean_kconfig drivers/usb/misc/Kconfig 'USB_EMI62' -clean_mk CONFIG_USB_EMI62 drivers/usb/misc/Makefile - -announce USB_ISIGHTFW - "iSight firmware loading support" -reject_firmware drivers/usb/misc/isight_firmware.c -clean_blob drivers/usb/misc/isight_firmware.c -clean_kconfig drivers/usb/misc/Kconfig 'USB_ISIGHTFW' -clean_mk CONFIG_USB_ISIGHTFW drivers/usb/misc/Makefile - -# storage - -announce USB_ENESTORAGE - "USB ENE card reader support" -clean_blob drivers/staging/keucr/init.h -clean_sed ' -/^int ENE_LoadBinCode(/,/^}$/ { - /kmalloc/i\ - return /*(DEBLOBBED)*/ USB_STOR_TRANSPORT_ERROR; -} -' drivers/staging/keucr/init.c 'disable non-Free firmware loading machinery' -clean_kconfig drivers/staging/keucr/Kconfig 'USB_ENESTORAGE' -clean_mk 'CONFIG_USB_ENESTORAGE' drivers/staging/keucr/Makefile - -# serial - -announce USB_SERIAL_KEYSPAN - "USB Keyspan USA-xxx Serial Driver" -drop_fw_file firmware/keyspan/mpr.HEX firmware/keyspan/mpr.fw -clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_MPR' -drop_fw_file firmware/keyspan/usa18x.HEX firmware/keyspan/usa18x.fw -clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA18X' -drop_fw_file firmware/keyspan/usa19.HEX firmware/keyspan/usa19.fw -clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA19' -drop_fw_file firmware/keyspan/usa19qi.HEX firmware/keyspan/usa19qi.fw -clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA19QI' -drop_fw_file firmware/keyspan/usa19qw.HEX firmware/keyspan/usa19qw.fw -clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA19QW' -drop_fw_file firmware/keyspan/usa19w.HEX firmware/keyspan/usa19w.fw -clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA19W' -drop_fw_file firmware/keyspan/usa28.HEX firmware/keyspan/usa28.fw -clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA28' -drop_fw_file firmware/keyspan/usa28xa.HEX firmware/keyspan/usa28xa.fw -clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA28XA' -drop_fw_file firmware/keyspan/usa28xb.HEX firmware/keyspan/usa28xb.fw -clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA28XB' -drop_fw_file firmware/keyspan/usa28x.HEX firmware/keyspan/usa28x.fw -clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA28X' -drop_fw_file firmware/keyspan/usa49w.HEX firmware/keyspan/usa49w.fw -clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA49W' -drop_fw_file firmware/keyspan/usa49wlc.HEX firmware/keyspan/usa49wlc.fw -clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN_USA49WLC' -reject_firmware drivers/usb/serial/keyspan.c -clean_blob drivers/usb/serial/keyspan.c -clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_KEYSPAN' -clean_mk CONFIG_USB_SERIAL_KEYSPAN drivers/usb/serial/Makefile - -announce USB_SERIAL_KEYSPAN_PDA - "USB Keyspan PDA Single Port Serial Driver" -clean_sed ' -s,request_ihex_firmware,/*KEYSPAN_PDA*/&, -' drivers/usb/serial/keyspan_pda.c 'accept Free firmware' - -announce USB_SERIAL_EDGEPORT - "USB Inside Out Edgeport Serial Driver" -clean_fw firmware/edgeport/boot.H16 firmware/edgeport/boot.fw -clean_fw firmware/edgeport/boot2.H16 firmware/edgeport/boot2.fw -clean_fw firmware/edgeport/down.H16 firmware/edgeport/down.fw -clean_fw firmware/edgeport/down2.H16 firmware/edgeport/down2.fw -reject_firmware drivers/usb/serial/io_edgeport.c -clean_blob drivers/usb/serial/io_edgeport.c -clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_EDGEPORT' -clean_mk CONFIG_USB_SERIAL_EDGEPORT drivers/usb/serial/Makefile - -announce USB_SERIAL_EDGEPORT_TI - "USB Inside Out Edgeport Serial Driver (TI devices)" -clean_fw firmware/edgeport/down3.bin.ihex firmware/edgeport/down3.bin -reject_firmware drivers/usb/serial/io_ti.c -clean_blob drivers/usb/serial/io_ti.c -clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_EDGEPORT_TI' -clean_mk CONFIG_USB_SERIAL_EDGEPORT_TI drivers/usb/serial/Makefile - -announce USB_SERIAL_TI - "USB TI 3410/5052 Serial Driver" -drop_fw_file firmware/ti_3410.fw.ihex firmware/ti_3410.fw -drop_fw_file firmware/ti_5052.fw.ihex firmware/ti_5052.fw -drop_fw_file firmware/mts_cdma.fw.ihex firmware/mts_cdma.fw -drop_fw_file firmware/mts_gsm.fw.ihex firmware/mts_gsm.fw -drop_fw_file firmware/mts_edge.fw.ihex firmware/mts_edge.fw -reject_firmware drivers/usb/serial/ti_usb_3410_5052.c -clean_blob drivers/usb/serial/ti_usb_3410_5052.c -clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_TI' -clean_mk CONFIG_USB_SERIAL_TI drivers/usb/serial/Makefile - -announce USB_SERIAL_WHITEHEAT - "USB ConnectTech WhiteHEAT Serial Driver" -clean_fw firmware/whiteheat.HEX firmware/whiteheat.fw -clean_fw firmware/whiteheat_loader.HEX firmware/whiteheat_loader.fw -clean_fw firmware/whiteheat_loader_debug.HEX firmware/whiteheat_loader_debug.fw -reject_firmware drivers/usb/serial/whiteheat.c -clean_blob drivers/usb/serial/whiteheat.c -clean_kconfig drivers/usb/serial/Kconfig 'USB_SERIAL_WHITEHEAT' -clean_mk CONFIG_USB_SERIAL_WHITEHEAT drivers/usb/serial/Makefile - -# uwb - -announce UWB_I1480U - Support for Intel Wireless UWB Link 1480 HWA -reject_firmware drivers/uwb/i1480/dfu/i1480-dfu.h -reject_firmware drivers/uwb/i1480/dfu/mac.c -reject_firmware drivers/uwb/i1480/dfu/phy.c -clean_blob drivers/uwb/i1480/dfu/usb.c -clean_kconfig drivers/uwb/Kconfig 'UWB_I1480U' -clean_mk CONFIG_UWB_I1480U drivers/uwb/i1480/dfu/Makefile - - - -######### -# Sound # -######### - -announce SND_ASIHPI - "AudioScience ASIxxxx" -reject_firmware sound/pci/asihpi/hpidspcd.c -clean_blob sound/pci/asihpi/hpidspcd.c -clean_blob sound/pci/asihpi/hpioctl.c -clean_kconfig sound/pci/Kconfig 'SND_ASIHPI' -clean_mk CONFIG_SND_ASIHPI sound/pci/asihpi/Makefile - -announce SND_CS46XX - "Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x" -# This appears to have been extracted from some non-Free driver -clean_file sound/pci/cs46xx/cs46xx_image.h -# The following blobs are definitely extracted from non-Free drivers. -clean_file sound/pci/cs46xx/imgs/cwc4630.h -clean_file sound/pci/cs46xx/imgs/cwcasync.h -clean_file sound/pci/cs46xx/imgs/cwcsnoop.h -clean_sed ' -/^\(int \)\?snd_cs46xx_download_image([^;]*$/,/^}$/{ - /for.*BA1_MEMORY_COUNT/i\ -#if 0 - /^}$/{ - i\ -#else\ - snd_printk(KERN_ERR "cs46xx: Missing Free firmware\\n");\ - return -EINVAL;\ -#endif - } -} -s/cs46xx_dsp_load_module(chip, [&]cwc\(4630\|async\|snoop\)_module)/(snd_printk(KERN_ERR "cs46xx: Missing Free firmware\\n"),-EINVAL)/ -' sound/pci/cs46xx/cs46xx_lib.c 'report missing Free firmware' -clean_blob sound/pci/cs46xx/cs46xx_lib.c -clean_kconfig sound/pci/Kconfig 'SND_CS46XX' -clean_mk 'CONFIG_SND_CS46XX' sound/pci/cs46xx/Makefile - -announce SND_INTEL_SST - "Intel SST (LPE) Driver" -clean_blob drivers/staging/intel_sst/intel_sst_common.h -reject_firmware drivers/staging/intel_sst/intel_sst_drv_interface.c -reject_firmware drivers/staging/intel_sst/intel_sst_dsp.c -clean_kconfig drivers/staging/intel_sst/Kconfig 'SND_INTEL_SST' -clean_mk 'CONFIG_SND_INTEL_SST' drivers/staging/intel_sst/Makefile - -announce SND_KORG1212 - "Korg 1212 IO" -drop_fw_file firmware/korg/k1212.dsp.ihex firmware/korg/k1212.dsp -reject_firmware sound/pci/korg1212/korg1212.c -clean_blob sound/pci/korg1212/korg1212.c -clean_kconfig sound/pci/Kconfig 'SND_KORG1212' -clean_mk 'CONFIG_SND_KORG1212' sound/pci/korg1212/Makefile - -announce SND_MAESTRO3 - "ESS Allegro/Maestro3" -drop_fw_file firmware/ess/maestro3_assp_kernel.fw.ihex firmware/ess/maestro3_assp_kernel.fw -drop_fw_file firmware/ess/maestro3_assp_minisrc.fw.ihex firmware/ess/maestro3_assp_minisrc.fw -reject_firmware sound/pci/maestro3.c -clean_blob sound/pci/maestro3.c -clean_kconfig sound/pci/Kconfig 'SND_MAESTRO3' -clean_mk 'CONFIG_SND_MAESTRO3' sound/pci/Makefile - -announce SND_YMFPCI - "Yamaha YMF724/740/744/754" -drop_fw_file firmware/yamaha/ds1_ctrl.fw.ihex firmware/yamaha/ds1_ctrl.fw -drop_fw_file firmware/yamaha/ds1_dsp.fw.ihex firmware/yamaha/ds1_dsp.fw -drop_fw_file firmware/yamaha/ds1e_ctrl.fw.ihex firmware/yamaha/ds1e_ctrl.fw -reject_firmware sound/pci/ymfpci/ymfpci_main.c -clean_blob sound/pci/ymfpci/ymfpci_main.c -clean_kconfig sound/pci/Kconfig 'SND_YMFPCI' -clean_mk 'CONFIG_SND_YMFPCI' sound/pci/ymfpci/Makefile - -announce SND_SB16_CSP - "SB16 Advanced Signal Processor" -drop_fw_file firmware/sb16/alaw_main.csp.ihex firmware/sb16/alaw_main.csp -drop_fw_file firmware/sb16/mulaw_main.csp.ihex firmware/sb16/mulaw_main.csp -drop_fw_file firmware/sb16/ima_adpcm_init.csp.ihex firmware/sb16/ima_adpcm_init.csp -drop_fw_file firmware/sb16/ima_adpcm_capture.csp.ihex firmware/sb16/ima_adpcm_capture.csp -drop_fw_file firmware/sb16/ima_adpcm_playback.csp.ihex firmware/sb16/ima_adpcm_playback.csp -reject_firmware sound/isa/sb/sb16_csp.c -clean_blob sound/isa/sb/sb16_csp.c -clean_kconfig sound/isa/Kconfig 'SND_SB16_CSP' -clean_mk 'CONFIG_SND_SB16_CSP' sound/isa/sb/Makefile - -announce SND_WAVEFRONT - "Turtle Beach Maui,Tropez,Tropez+ (Wavefront)" -drop_fw_file firmware/yamaha/yss225_registers.bin.ihex firmware/yamaha/yss225_registers.bin -reject_firmware sound/isa/wavefront/wavefront_fx.c -clean_blob sound/isa/wavefront/wavefront_fx.c -reject_firmware sound/isa/wavefront/wavefront_synth.c -clean_blob sound/isa/wavefront/wavefront_synth.c -clean_kconfig sound/isa/Kconfig 'SND_WAVEFRONT' -clean_mk 'CONFIG_SND_WAVEFRONT' sound/isa/wavefront/Makefile - -announce SND_VX_LIB - Digigram VX soundcards -reject_firmware sound/drivers/vx/vx_hwdep.c -clean_blob sound/drivers/vx/vx_hwdep.c -clean_kconfig sound/drivers/Kconfig 'SND_VX_LIB' -clean_mk CONFIG_SND_VX_LIB sound/drivers/vx/Makefile - -announce SND_DARLA20 - "(Echoaudio) Darla20" -clean_blob sound/pci/echoaudio/darla20.c -clean_kconfig sound/pci/Kconfig 'SND_DARLA20' -clean_mk CONFIG_SND_DARLA20 sound/pci/echoaudio/Makefile - -announce SND_DARLA24 - "(Echoaudio) Darla24" -clean_blob sound/pci/echoaudio/darla24.c -clean_kconfig sound/pci/Kconfig 'SND_DARLA24' -clean_mk CONFIG_SND_DARLA24 sound/pci/echoaudio/Makefile - -announce SND_ECHO3G - "(Echoaudio) 3G cards" -clean_blob sound/pci/echoaudio/echo3g.c -clean_kconfig sound/pci/Kconfig 'SND_ECHO3G' -clean_mk CONFIG_SND_ECHO3G sound/pci/echoaudio/Makefile - -announce SND_GINA20 - "(Echoaudio) Gina20" -clean_blob sound/pci/echoaudio/gina20.c -clean_kconfig sound/pci/Kconfig 'SND_GINA20' -clean_mk CONFIG_SND_GINA20 sound/pci/echoaudio/Makefile - -announce SND_GINA24 - "(Echoaudio) Gina24" -clean_blob sound/pci/echoaudio/gina24.c -clean_kconfig sound/pci/Kconfig 'SND_GINA24' -clean_mk CONFIG_SND_GINA24 sound/pci/echoaudio/Makefile - -announce SND_INDIGO - "(Echoaudio) Indigo" -clean_blob sound/pci/echoaudio/indigo.c -clean_kconfig sound/pci/Kconfig 'SND_INDIGO' -clean_mk CONFIG_SND_INDIGO sound/pci/echoaudio/Makefile - -announce SND_INDIGODJ - "(Echoaudio) Indigo DJ" -clean_blob sound/pci/echoaudio/indigodj.c -clean_kconfig sound/pci/Kconfig 'SND_INDIGODJ' -clean_mk CONFIG_SND_INDIGODJ sound/pci/echoaudio/Makefile - -announce SND_INDIGODJX - "(Echoaudio) Indigo DJx" -clean_blob sound/pci/echoaudio/indigodjx.c -clean_kconfig sound/pci/Kconfig 'SND_INDIGODJX' -clean_mk CONFIG_SND_INDIGODJX sound/pci/echoaudio/Makefile - -announce SND_INDIGOIO - "(Echoaudio) Indigo IO" -clean_blob sound/pci/echoaudio/indigoio.c -clean_kconfig sound/pci/Kconfig 'SND_INDIGOIO' -clean_mk CONFIG_SND_INDIGOIO sound/pci/echoaudio/Makefile - -announce SND_INDIGOIOX - "(Echoaudio) Indigo IOx" -clean_blob sound/pci/echoaudio/indigoiox.c -clean_kconfig sound/pci/Kconfig 'SND_INDIGOIOX' -clean_mk CONFIG_SND_INDIGOIOX sound/pci/echoaudio/Makefile - -announce SND_LAYLA20 - "(Echoaudio) Layla20" -clean_blob sound/pci/echoaudio/layla20.c -clean_kconfig sound/pci/Kconfig 'SND_LAYLA20' -clean_mk CONFIG_SND_LAYLA20 sound/pci/echoaudio/Makefile - -announce SND_LAYLA24 - "(Echoaudio) Layla24" -clean_blob sound/pci/echoaudio/layla24.c -clean_kconfig sound/pci/Kconfig 'SND_LAYLA24' -clean_mk CONFIG_SND_LAYLA24 sound/pci/echoaudio/Makefile - -announce SND_MIA - "(Echoaudio) Mia" -clean_blob sound/pci/echoaudio/mia.c -clean_kconfig sound/pci/Kconfig 'SND_MIA' -clean_mk CONFIG_SND_MIA sound/pci/echoaudio/Makefile - -announce SND_MONA - "(Echoaudio) Mona" -clean_blob sound/pci/echoaudio/mona.c -clean_kconfig sound/pci/Kconfig 'SND_MONA' -clean_mk CONFIG_SND_MONA sound/pci/echoaudio/Makefile - -announce SND_'<(Echoaudio)>' - "(Echoaudio) all of the above " -reject_firmware sound/pci/echoaudio/echoaudio.c -clean_blob sound/pci/echoaudio/echoaudio.c - -announce SND_EMU10K1 - "Emu10k1 (SB Live!, Audigy, E-mu APS)" -reject_firmware sound/pci/emu10k1/emu10k1_main.c -clean_blob sound/pci/emu10k1/emu10k1_main.c -clean_kconfig sound/pci/Kconfig 'SND_EMU10K1' -clean_mk CONFIG_SND_EMU10K1 sound/pci/emu10k1/Makefile - -announce SND_MIXART - "Digigram miXart" -reject_firmware sound/pci/mixart/mixart_hwdep.c -clean_blob sound/pci/mixart/mixart_hwdep.c -clean_kconfig sound/pci/Kconfig 'SND_MIXART' -clean_mk CONFIG_SND_MIXART sound/pci/mixart/Makefile - -announce SND_PCXHR - "Digigram PCXHR" -reject_firmware sound/pci/pcxhr/pcxhr_hwdep.c -clean_blob sound/pci/pcxhr/pcxhr_hwdep.c -clean_kconfig sound/pci/Kconfig 'SND_PCXHR' -clean_mk CONFIG_SND_PCXHR sound/pci/pcxhr/Makefile - -announce SND_RIPTIDE - "Conexant Riptide" -reject_firmware sound/pci/riptide/riptide.c -clean_blob sound/pci/riptide/riptide.c -clean_kconfig sound/pci/Kconfig 'SND_RIPTIDE' -clean_mk CONFIG_SND_RIPTIDE sound/pci/riptide/Makefile - -# This is ok, patch filenames are supplied as module parameters, and -# they are text files with patch instructions. -#announce SND_HDA_PATCH_LOADER - "Support initialization patch loading for HD-audio" -#reject_firmware sound/pci/hda/hda_hwdep.c -#clean_kconfig sound/pci/hda/Kconfig 'SND_HDA_PATCH_LOADER' - -announce SND_HDSP - "RME Hammerfall DSP Audio" -reject_firmware sound/pci/rme9652/hdsp.c -clean_blob sound/pci/rme9652/hdsp.c -clean_kconfig sound/pci/Kconfig 'SND_HDSP' -clean_mk CONFIG_SND_HDSP sound/pci/rme9652/Makefile - -announce SND_AICA - "Dreamcast Yamaha AICA sound" -reject_firmware sound/sh/aica.c -clean_blob sound/sh/aica.c -clean_kconfig sound/sh/Kconfig 'SND_AICA' -clean_mk CONFIG_SND_AICA sound/sh/Makefile - -announce SND_MSND_PINNACLE - "Support for Turtle Beach MultiSound Pinnacle" -clean_blob sound/isa/msnd/msnd_pinnacle.h -reject_firmware sound/isa/msnd/msnd_pinnacle.c -clean_blob sound/isa/msnd/msnd_pinnacle.c -clean_kconfig sound/isa/Kconfig 'SND_MSND_PINNACLE' -clean_mk CONFIG_SND_MSND_PINNACLE sound/isa/msnd/Makefile - -announce SND_MSND_CLASSIC - "Support for Turtle Beach MultiSound Classic, Tahiti, Monterey" -clean_blob sound/isa/msnd/msnd_classic.h -clean_kconfig sound/isa/Kconfig 'SND_MSND_CLASSIC' -clean_mk CONFIG_SND_MSND_CLASSIC sound/isa/msnd/Makefile - -announce SOUND_MSNDCLAS - "Support for Turtle Beach MultiSound Classic, Tahiti, Monterey (oss)" -clean_blob sound/oss/msnd_classic.h -clean_kconfig sound/oss/Kconfig 'SOUND_MSNDCLAS' -clean_sed ' -/^config MSNDCLAS_INIT_FILE$/, /^config / { - /^ default.*msndinit\.bin/ s,".*","/*(DEBLOBBED)*/",; -} -/^config MSNDCLAS_PERM_FILE$/, /^config / { - /^ default.*msndperm\.bin/ s,".*","/*(DEBLOBBED)*/",; -}' sound/oss/Kconfig 'removed default firmware' -clean_mk CONFIG_SOUND_MSNDCLAS sound/oss/Makefile - -announce SOUND_MSNDPIN - "Support for Turtle Beach MultiSound Pinnacle (oss)" -clean_blob sound/oss/msnd_pinnacle.h -clean_kconfig sound/oss/Kconfig 'SOUND_MSNDPIN' -clean_sed ' -/^config MSNDPIN_INIT_FILE$/, /^config / { - /^ default.*pndspini\.bin/ s,".*","/*(DEBLOBBED)*/",; -} -/^config MSNDPIN_PERM_FILE$/, /^config / { - /^ default.*pndsperm\.bin/ s,".*","/*(DEBLOBBED)*/",; -}' sound/oss/Kconfig 'removed default firmware' -clean_mk CONFIG_SOUND_MSNDPIN sound/oss/Makefile - -announce SND_SSCAPE - "Ensoniq SoundScape driver" -reject_firmware sound/isa/sscape.c -clean_blob sound/isa/sscape.c -clean_sed ' -/^config SND_SSCAPE$/, /^config / { - s,"\(scope\|sndscape\)\.co[d?]","/*(DEBLOBBED)*/",g; -}' sound/isa/Kconfig 'removed firmware names' -clean_kconfig sound/isa/Kconfig 'SND_SSCAPE' -clean_mk CONFIG_SND_SSCAPE sound/isa/Makefile - -# It's not clear that wm2000_anc.bin is pure data. -# Check with developer, clean up for now. -announce SND_SOC_WM2000 - "WM2000 ALSA Soc Audio driver" -reject_firmware sound/soc/codecs/wm2000.c -clean_blob sound/soc/codecs/wm2000.c -clean_kconfig sound/soc/codecs/Kconfig 'SND_SOC_WM2000' -clean_mk CONFIG_SND_SOC_WM2000 sound/soc/codecs/Makefile - -announce SND_SOC_SH4_SIU - "ALSA SoC driver for Renesas SH7343, SH7722 SIU peripheral" -reject_firmware sound/soc/sh/siu_dai.c -clean_blob sound/soc/sh/siu_dai.c -clean_kconfig sound/soc/sh/Kconfig 'SND_SOC_SH4_SIU' -clean_mk CONFIG_SND_SOC_SH4_SIU sound/soc/sh/Makefile - -announce SOUND_TRIX - "MediaTrix AudioTrix Pro support" -clean_blob sound/oss/trix.c -clean_kconfig sound/oss/Kconfig 'SOUND_TRIX' -clean_sed ' -/^config TRIX_BOOT_FILE$/, /^config / { - /^ default.*trxpro\.hex/ s,".*","/*(DEBLOBBED)*/",; -}' sound/oss/Kconfig 'removed default firmware' -clean_mk CONFIG_SOUND_TRIX sound/oss/Makefile - -announce SOUND_TRIX - "See above," -announce SOUND_PAS - "ProAudioSpectrum 16 support," -announce SOUND_SB - "100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support" -clean_blob sound/oss/sb_common.c -clean_kconfig sound/oss/Kconfig 'SOUND_PAS' -clean_kconfig sound/oss/Kconfig 'SOUND_SB' -clean_mk CONFIG_SOUND_PAS sound/oss/Makefile -clean_mk CONFIG_SOUND_SB sound/oss/Makefile - -announce SOUND_PSS - "PSS (AD1848, ADSP-2115, ESC614) support" -clean_sed 's,^\( [*] .*synth"\)\.$,\1/*.,' sound/oss/pss.c 'avoid nested comments' -clean_blob sound/oss/pss.c -clean_kconfig sound/oss/Kconfig 'SOUND_PSS' -clean_sed ' -/^config PSS_BOOT_FILE$/, /^config / { - /^ default.*dsp001\.ld/ s,".*","/*(DEBLOBBED)*/",; -}' sound/oss/Kconfig 'removed default firmware' -clean_mk CONFIG_SOUND_PSS sound/oss/Makefile - -################# -# Documentation # -################# - -announce Documentation - "non-Free firmware scripts and documentation" -clean_blob Documentation/dvb/avermedia.txt -clean_blob Documentation/dvb/opera-firmware.txt -clean_blob Documentation/dvb/ttusb-dec.txt -clean_blob Documentation/sound/alsa/ALSA-Configuration.txt -clean_blob Documentation/sound/oss/MultiSound -clean_blob Documentation/sound/oss/PSS -clean_blob Documentation/sound/oss/PSS-updates -clean_blob Documentation/sound/oss/README.OSS -clean_file Documentation/dvb/get_dvb_firmware -clean_file Documentation/video4linux/extract_xc3028.pl -clean_sed s,usb8388,whatever,g drivers/base/Kconfig 'removed blob name' -clean_blob firmware/README.AddingFirmware -clean_blob firmware/WHENCE - -if $errors; then - echo errors above were ignored because of --force >&2 -fi - -exit 0 diff --git a/freed-ora/current/master/deblob-2.6.38 b/freed-ora/current/master/deblob-2.6.38 index 807076ee8..9132ddc8c 100755 --- a/freed-ora/current/master/deblob-2.6.38 +++ b/freed-ora/current/master/deblob-2.6.38 @@ -44,7 +44,7 @@ # For each kver release, start extra with an empty string, then count # from 1 if changes are needed that require rebuilding the tarball. -kver=2.6.38 extra=0- +kver=2.6.38 extra= case $1 in --force) diff --git a/freed-ora/current/master/deblob-check b/freed-ora/current/master/deblob-check index ec4fdf5a8..0d44ffa2e 100755 --- a/freed-ora/current/master/deblob-check +++ b/freed-ora/current/master/deblob-check @@ -1,6 +1,6 @@ #! /bin/sh -# deblob-check version 2011-02-24.2 +# deblob-check version 2011-03-15 # Inspired in gNewSense's find-firmware script. # Written by Alexandre Oliva <lxoliva@fsfla.org> @@ -1907,7 +1907,7 @@ set_except () { initnc '[ ]static[ ]unsigned[ ]char[ ]static_pad\[\][ ]=' initnc '[ ]static[ ]unsigned[ ]char[ ]table_alaw2ulaw\[\][ ]=' initnc '[ ]static[ ]unsigned[ ]char[ ]table_ulaw2alaw\[\][ ]=' - defsnc '[ ]u32[ ]reg_boundaries\[\][ ]=' drivers/net/bnx2.c + defsnc '[ ]\(static[ ]const[ ]\)\?u32[ ]reg_boundaries\[\][ ]=' drivers/net/bnx2.c initnc '[ ]u8[ ]b\[\][ ]=' initnc '[ ]uint8_t[ ]tx\[\][ ]=' initnc '[ ]unsigned[ ]char[ ]saa7111_regs\[\][ ]=' @@ -2833,7 +2833,7 @@ set_except () { defsnc 'static[ ]u8[ ]\(init\|c\)_table\[\]=' drivers/media/dvb/frontends/s921_core.c defsnc 'static[ ]\(u16\|struct[ ]i2c_reg_u16\)[ ]\(bridge\|mt9\(v\(11[12]\|011\)\|m001\)\)_init\[\]\(\[2\]\)\?[ ]=' drivers/media/video/gspca/sn9c20x.c defsnc '[ ]static[ ]const[ ]struct[ ]struct_initData[ ]initData\[\][ ]=' drivers/media/video/usbvideo/ibmcam.c - defsnc '[ ]u32[ ]reg_boundaries\[\][ ]=' drivers/net/bnx2.c + defsnc '[ ]\(static[ ]const[ ]\)\?u32[ ]reg_boundaries\[\][ ]=' drivers/net/bnx2.c initnc 'static[ ]const[ ]struct[ ]ath5k_ini_mode[ ]rf\(5413\|24\(13\|25\)\)_ini_mode_end\[\][ ]=' drivers/net/wireless/ath5k/initvals.c defsnc 'static[ ]u32[ ]\(h_prescale\|v_gain\)\[64\][ ]=' drivers/staging/stradis/stradis.c ;; diff --git a/freed-ora/current/master/drm-i915-gen4-has-non-power-of-two-strides.patch b/freed-ora/current/master/drm-i915-gen4-has-non-power-of-two-strides.patch new file mode 100644 index 000000000..f111614bc --- /dev/null +++ b/freed-ora/current/master/drm-i915-gen4-has-non-power-of-two-strides.patch @@ -0,0 +1,69 @@ +From bea96046b4245e9abd65ed7acfed9adfd5f6c639 Mon Sep 17 00:00:00 2001 +From: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu, 3 Mar 2011 23:43:02 +0000 +Subject: [PATCH] drm/i915: Gen4+ has non-power-of-two strides + +In c2e0eb16707, we started checking that the buffer was the correct size +for tiled access by ensuring that the size was a multiple of tiles. +However, gen4+ complicates the issue by allowing any multiple of 4096 +bytes for the stride and so the simple check based on a power-of-two +stride was failing for valid bo. + +Reported-by: Dan Williams <dcbw@redhat.com> +Reported-by: Robert Hooker <sarvatt@gmail.com> +Cc: Daniel Vetter <daniel.vetter@ffwll.ch> +Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> +--- + drivers/gpu/drm/i915/i915_gem_tiling.c | 29 ++++++++++++++--------------- + 1 files changed, 14 insertions(+), 15 deletions(-) + +diff --git a/drivers/gpu/drm/i915/i915_gem_tiling.c b/drivers/gpu/drm/i915/i915_gem_tiling.c +index 79a04fd..654f350 100644 +--- a/drivers/gpu/drm/i915/i915_gem_tiling.c ++++ b/drivers/gpu/drm/i915/i915_gem_tiling.c +@@ -215,6 +215,19 @@ i915_tiling_ok(struct drm_device *dev, int stride, int size, int tiling_mode) + } + } + ++ if (INTEL_INFO(dev)->gen >= 4) { ++ /* 965+ just needs multiples of tile width */ ++ if (stride & (tile_width - 1)) ++ return false; ++ } else { ++ /* Pre-965 needs power of two tile widths */ ++ if (stride < tile_width) ++ return false; ++ ++ if (stride & (stride - 1)) ++ return false; ++ } ++ + if (IS_GEN2(dev) || + (tiling_mode == I915_TILING_Y && HAS_128_BYTE_Y_TILING(dev))) + tile_height = 32; +@@ -226,21 +239,7 @@ i915_tiling_ok(struct drm_device *dev, int stride, int size, int tiling_mode) + tile_height *= 2; + + /* Size needs to be aligned to a full tile row */ +- if (size & (tile_height * stride - 1)) +- return false; +- +- /* 965+ just needs multiples of tile width */ +- if (INTEL_INFO(dev)->gen >= 4) { +- if (stride & (tile_width - 1)) +- return false; +- return true; +- } +- +- /* Pre-965 needs power of two tile widths */ +- if (stride < tile_width) +- return false; +- +- if (stride & (stride - 1)) ++ if (size % (tile_height * stride)) + return false; + + return true; +-- +1.7.4.1 + diff --git a/freed-ora/current/master/drm-nouveau-updates.patch b/freed-ora/current/master/drm-nouveau-updates.patch index d012a1c34..3bd652fa6 100644 --- a/freed-ora/current/master/drm-nouveau-updates.patch +++ b/freed-ora/current/master/drm-nouveau-updates.patch @@ -1,24 +1,30 @@ drivers/gpu/drm/nouveau/nouveau_bios.c | 25 +-- drivers/gpu/drm/nouveau/nouveau_bo.c | 6 +- drivers/gpu/drm/nouveau/nouveau_channel.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_display.c | 2 +- drivers/gpu/drm/nouveau/nouveau_dp.c | 2 - - drivers/gpu/drm/nouveau/nouveau_drv.h | 13 +- + drivers/gpu/drm/nouveau/nouveau_drv.h | 15 +- drivers/gpu/drm/nouveau/nouveau_fence.c | 190 ++++++++++------ - drivers/gpu/drm/nouveau/nouveau_mem.c | 16 +- + drivers/gpu/drm/nouveau/nouveau_mem.c | 50 +++- drivers/gpu/drm/nouveau/nouveau_object.c | 22 ++- - drivers/gpu/drm/nouveau/nouveau_sgdma.c | 342 +++++++++++++++++++++++++---- + drivers/gpu/drm/nouveau/nouveau_sgdma.c | 341 +++++++++++++++++++++++++---- drivers/gpu/drm/nouveau/nouveau_state.c | 10 +- drivers/gpu/drm/nouveau/nouveau_temp.c | 4 +- - drivers/gpu/drm/nouveau/nv04_fifo.c | 17 ++- + drivers/gpu/drm/nouveau/nouveau_util.c | 23 ++- + drivers/gpu/drm/nouveau/nouveau_util.h | 4 + + drivers/gpu/drm/nouveau/nouveau_vm.c | 13 +- + drivers/gpu/drm/nouveau/nv04_fifo.c | 19 ++- drivers/gpu/drm/nouveau/nv40_fb.c | 59 +++++- drivers/gpu/drm/nouveau/nv50_display.c | 7 +- + drivers/gpu/drm/nouveau/nv50_fb.c | 150 ++++++++++++- drivers/gpu/drm/nouveau/nv50_fifo.c | 3 +- drivers/gpu/drm/nouveau/nv50_gpio.c | 13 +- - drivers/gpu/drm/nouveau/nv50_graph.c | 8 +- + drivers/gpu/drm/nouveau/nv50_graph.c | 142 +++++++----- drivers/gpu/drm/nouveau/nv50_vm.c | 1 - + drivers/gpu/drm/nouveau/nv84_crypt.c | 2 +- drivers/gpu/drm/nouveau/nvc0_fifo.c | 15 +- drivers/gpu/drm/nouveau/nvc0_graph.c | 2 - - 20 files changed, 567 insertions(+), 190 deletions(-) + 26 files changed, 841 insertions(+), 281 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c index 6bdab89..b8ff1e7 100644 @@ -64,10 +70,10 @@ index 6bdab89..b8ff1e7 100644 if (cte->type == 0xff) continue; diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c -index d38a4d9..bf260af 100644 +index a521840..53a8000 100644 --- a/drivers/gpu/drm/nouveau/nouveau_bo.c +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c -@@ -382,7 +382,8 @@ nouveau_bo_create_ttm_backend_entry(struct ttm_bo_device *bdev) +@@ -385,7 +385,8 @@ nouveau_bo_create_ttm_backend_entry(struct ttm_bo_device *bdev) case NOUVEAU_GART_AGP: return ttm_agp_backend_init(bdev, dev->agp->bridge); #endif @@ -77,7 +83,7 @@ index d38a4d9..bf260af 100644 return nouveau_sgdma_init_ttm(dev); default: NV_ERROR(dev, "Unknown GART type %d\n", -@@ -436,7 +437,8 @@ nouveau_bo_init_mem_type(struct ttm_bo_device *bdev, uint32_t type, +@@ -439,7 +440,8 @@ nouveau_bo_init_mem_type(struct ttm_bo_device *bdev, uint32_t type, TTM_PL_FLAG_WC; man->default_caching = TTM_PL_FLAG_WC; break; @@ -100,6 +106,19 @@ index 3960d66..3d7b316 100644 if (dev_priv->card_type >= NV_50) { if (dev_priv->card_type < NV_C0) { +diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c +index 505c6bf..566466b 100644 +--- a/drivers/gpu/drm/nouveau/nouveau_display.c ++++ b/drivers/gpu/drm/nouveau/nouveau_display.c +@@ -244,7 +244,7 @@ nouveau_crtc_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb, + + /* Initialize a page flip struct */ + *s = (struct nouveau_page_flip_state) +- { { }, s->event, nouveau_crtc(crtc)->index, ++ { { }, event, nouveau_crtc(crtc)->index, + fb->bits_per_pixel, fb->pitch, crtc->x, crtc->y, + new_bo->bo.offset }; + diff --git a/drivers/gpu/drm/nouveau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c index 38d5995..7beb82a 100644 --- a/drivers/gpu/drm/nouveau/nouveau_dp.c @@ -121,7 +140,7 @@ index 38d5995..7beb82a 100644 ret = auxch_rd(encoder, DP_ADJUST_REQUEST_LANE0_1, request, 2); if (ret) diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h -index 9821fca..2e3d7fb 100644 +index 982d70b..2cae8e7 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drv.h +++ b/drivers/gpu/drm/nouveau/nouveau_drv.h @@ -652,7 +652,6 @@ struct drm_nouveau_private { @@ -156,6 +175,15 @@ index 9821fca..2e3d7fb 100644 struct nouveau_gpuobj *sg_ctxdma; struct nouveau_vma vma; } gart_info; +@@ -1076,7 +1083,7 @@ extern void nv40_fb_set_tile_region(struct drm_device *dev, int i); + /* nv50_fb.c */ + extern int nv50_fb_init(struct drm_device *); + extern void nv50_fb_takedown(struct drm_device *); +-extern void nv50_fb_vm_trap(struct drm_device *, int display, const char *); ++extern void nv50_fb_vm_trap(struct drm_device *, int display); + + /* nvc0_fb.c */ + extern int nvc0_fb_init(struct drm_device *); diff --git a/drivers/gpu/drm/nouveau/nouveau_fence.c b/drivers/gpu/drm/nouveau/nouveau_fence.c index 221b846..8b46392 100644 --- a/drivers/gpu/drm/nouveau/nouveau_fence.c @@ -476,7 +504,7 @@ index 221b846..8b46392 100644 if (ret) return ret; diff --git a/drivers/gpu/drm/nouveau/nouveau_mem.c b/drivers/gpu/drm/nouveau/nouveau_mem.c -index 26347b7..30bd230 100644 +index b0fb9bd..5b769eb 100644 --- a/drivers/gpu/drm/nouveau/nouveau_mem.c +++ b/drivers/gpu/drm/nouveau/nouveau_mem.c @@ -393,11 +393,17 @@ nouveau_mem_vram_init(struct drm_device *dev) @@ -502,6 +530,47 @@ index 26347b7..30bd230 100644 ret = pci_set_dma_mask(dev->pdev, DMA_BIT_MASK(dma_bits)); if (ret) +@@ -419,14 +425,32 @@ nouveau_mem_vram_init(struct drm_device *dev) + } + + /* reserve space at end of VRAM for PRAMIN */ +- if (dev_priv->chipset == 0x40 || dev_priv->chipset == 0x47 || +- dev_priv->chipset == 0x49 || dev_priv->chipset == 0x4b) +- dev_priv->ramin_rsvd_vram = (2 * 1024 * 1024); +- else +- if (dev_priv->card_type >= NV_40) +- dev_priv->ramin_rsvd_vram = (1 * 1024 * 1024); +- else +- dev_priv->ramin_rsvd_vram = (512 * 1024); ++ if (dev_priv->card_type >= NV_50) { ++ dev_priv->ramin_rsvd_vram = 1 * 1024 * 1024; ++ } else ++ if (dev_priv->card_type >= NV_40) { ++ u32 vs = hweight8((nv_rd32(dev, 0x001540) & 0x0000ff00) >> 8); ++ u32 rsvd; ++ ++ /* estimate grctx size, the magics come from nv40_grctx.c */ ++ if (dev_priv->chipset == 0x40) rsvd = 0x6aa0 * vs; ++ else if (dev_priv->chipset < 0x43) rsvd = 0x4f00 * vs; ++ else if (nv44_graph_class(dev)) rsvd = 0x4980 * vs; ++ else rsvd = 0x4a40 * vs; ++ rsvd += 16 * 1024; ++ rsvd *= dev_priv->engine.fifo.channels; ++ ++ /* pciegart table */ ++ if (drm_device_is_pcie(dev)) ++ rsvd += 512 * 1024; ++ ++ /* object storage */ ++ rsvd += 512 * 1024; ++ ++ dev_priv->ramin_rsvd_vram = round_up(rsvd, 4096); ++ } else { ++ dev_priv->ramin_rsvd_vram = 512 * 1024; ++ } + + ret = dev_priv->engine.vram.init(dev); + if (ret) diff --git a/drivers/gpu/drm/nouveau/nouveau_object.c b/drivers/gpu/drm/nouveau/nouveau_object.c index 30b6544..3c12461 100644 --- a/drivers/gpu/drm/nouveau/nouveau_object.c @@ -538,7 +607,7 @@ index 30b6544..3c12461 100644 } diff --git a/drivers/gpu/drm/nouveau/nouveau_sgdma.c b/drivers/gpu/drm/nouveau/nouveau_sgdma.c -index 9a250eb..bdbaa54 100644 +index 9a250eb..a26383b 100644 --- a/drivers/gpu/drm/nouveau/nouveau_sgdma.c +++ b/drivers/gpu/drm/nouveau/nouveau_sgdma.c @@ -74,8 +74,24 @@ nouveau_sgdma_clear(struct ttm_backend *be) @@ -833,7 +902,7 @@ index 9a250eb..bdbaa54 100644 return &nvbe->backend; } -@@ -210,21 +414,71 @@ nouveau_sgdma_init(struct drm_device *dev) +@@ -210,21 +414,70 @@ nouveau_sgdma_init(struct drm_device *dev) { struct drm_nouveau_private *dev_priv = dev->dev_private; struct nouveau_gpuobj *gpuobj = NULL; @@ -842,8 +911,7 @@ index 9a250eb..bdbaa54 100644 + u32 aper_size, align; + int ret; + -+ if (dev_priv->card_type >= NV_50 || -+ dev_priv->ramin_rsvd_vram >= 2 * 1024 * 1024) ++ if (dev_priv->card_type >= NV_50 || drm_device_is_pcie(dev)) + aper_size = 512 * 1024 * 1024; + else + aper_size = 64 * 1024 * 1024; @@ -883,7 +951,7 @@ index 9a250eb..bdbaa54 100644 + dev_priv->gart_info.type = NOUVEAU_GART_HW; + dev_priv->gart_info.func = &nv50_sgdma_backend; + } else -+ if (drm_device_is_pcie(dev) && ++ if (0 && drm_device_is_pcie(dev) && + dev_priv->chipset != 0x40 && dev_priv->chipset != 0x45) { + if (nv44_graph_class(dev)) { + dev_priv->gart_info.func = &nv44_sgdma_backend; @@ -917,7 +985,7 @@ index 9a250eb..bdbaa54 100644 if (ret) { NV_ERROR(dev, "Error creating sgdma object: %d\n", ret); return ret; -@@ -236,25 +490,14 @@ nouveau_sgdma_init(struct drm_device *dev) +@@ -236,25 +489,14 @@ nouveau_sgdma_init(struct drm_device *dev) (0 << 14) /* RW */ | (2 << 16) /* PCI */); nv_wo32(gpuobj, 4, aper_size - 1); @@ -945,7 +1013,7 @@ index 9a250eb..bdbaa54 100644 return 0; } -@@ -265,6 +508,13 @@ nouveau_sgdma_takedown(struct drm_device *dev) +@@ -265,6 +507,13 @@ nouveau_sgdma_takedown(struct drm_device *dev) nouveau_gpuobj_ref(NULL, &dev_priv->gart_info.sg_ctxdma); nouveau_vm_put(&dev_priv->gart_info.vma); @@ -1011,8 +1079,90 @@ index 8d9968e..649b041 100644 client = i2c_new_device(&i2c->adapter, info); if (!client) +diff --git a/drivers/gpu/drm/nouveau/nouveau_util.c b/drivers/gpu/drm/nouveau/nouveau_util.c +index fbe0fb1..e51b515 100644 +--- a/drivers/gpu/drm/nouveau/nouveau_util.c ++++ b/drivers/gpu/drm/nouveau/nouveau_util.c +@@ -47,18 +47,27 @@ nouveau_bitfield_print(const struct nouveau_bitfield *bf, u32 value) + printk(" (unknown bits 0x%08x)", value); + } + +-void +-nouveau_enum_print(const struct nouveau_enum *en, u32 value) ++const struct nouveau_enum * ++nouveau_enum_find(const struct nouveau_enum *en, u32 value) + { + while (en->name) { +- if (value == en->value) { +- printk("%s", en->name); +- return; +- } +- ++ if (en->value == value) ++ return en; + en++; + } + ++ return NULL; ++} ++ ++void ++nouveau_enum_print(const struct nouveau_enum *en, u32 value) ++{ ++ en = nouveau_enum_find(en, value); ++ if (en) { ++ printk("%s", en->name); ++ return; ++ } ++ + printk("(unknown enum 0x%08x)", value); + } + +diff --git a/drivers/gpu/drm/nouveau/nouveau_util.h b/drivers/gpu/drm/nouveau/nouveau_util.h +index d9ceaea..b97719f 100644 +--- a/drivers/gpu/drm/nouveau/nouveau_util.h ++++ b/drivers/gpu/drm/nouveau/nouveau_util.h +@@ -36,10 +36,14 @@ struct nouveau_bitfield { + struct nouveau_enum { + u32 value; + const char *name; ++ void *data; + }; + + void nouveau_bitfield_print(const struct nouveau_bitfield *, u32 value); + void nouveau_enum_print(const struct nouveau_enum *, u32 value); ++const struct nouveau_enum * ++nouveau_enum_find(const struct nouveau_enum *, u32 value); ++ + int nouveau_ratelimit(void); + + #endif +diff --git a/drivers/gpu/drm/nouveau/nouveau_vm.c b/drivers/gpu/drm/nouveau/nouveau_vm.c +index 97d82ae..b4658f7 100644 +--- a/drivers/gpu/drm/nouveau/nouveau_vm.c ++++ b/drivers/gpu/drm/nouveau/nouveau_vm.c +@@ -311,18 +311,7 @@ nouveau_vm_new(struct drm_device *dev, u64 offset, u64 length, u64 mm_offset, + vm->spg_shift = 12; + vm->lpg_shift = 17; + pgt_bits = 27; +- +- /* Should be 4096 everywhere, this is a hack that's +- * currently necessary to avoid an elusive bug that +- * causes corruption when mixing small/large pages +- */ +- if (length < (1ULL << 40)) +- block = 4096; +- else { +- block = (1 << pgt_bits); +- if (length < block) +- block = length; +- } ++ block = 4096; + } else { + kfree(vm); + return -ENOSYS; diff --git a/drivers/gpu/drm/nouveau/nv04_fifo.c b/drivers/gpu/drm/nouveau/nv04_fifo.c -index f89d104..dfa600c 100644 +index f89d104..db465a3 100644 --- a/drivers/gpu/drm/nouveau/nv04_fifo.c +++ b/drivers/gpu/drm/nouveau/nv04_fifo.c @@ -379,6 +379,15 @@ out: @@ -1055,6 +1205,15 @@ index f89d104..dfa600c 100644 if (dma_get != dma_put) nv_wr32(dev, 0x003244, dma_put); +@@ -505,7 +516,7 @@ nv04_fifo_isr(struct drm_device *dev) + + if (dev_priv->card_type == NV_50) { + if (status & 0x00000010) { +- nv50_fb_vm_trap(dev, 1, "PFIFO_BAR_FAULT"); ++ nv50_fb_vm_trap(dev, nouveau_ratelimit()); + status &= ~0x00000010; + nv_wr32(dev, 0x002100, 0x00000010); + } diff --git a/drivers/gpu/drm/nouveau/nv40_fb.c b/drivers/gpu/drm/nouveau/nv40_fb.c index f3d9c05..f0ac2a7 100644 --- a/drivers/gpu/drm/nouveau/nv40_fb.c @@ -1170,6 +1329,185 @@ index 7cc94ed..a804a35 100644 delayed |= clock; intr1 &= ~clock; } +diff --git a/drivers/gpu/drm/nouveau/nv50_fb.c b/drivers/gpu/drm/nouveau/nv50_fb.c +index 50290de..efc8cd4 100644 +--- a/drivers/gpu/drm/nouveau/nv50_fb.c ++++ b/drivers/gpu/drm/nouveau/nv50_fb.c +@@ -95,12 +95,109 @@ nv50_fb_takedown(struct drm_device *dev) + kfree(priv); + } + ++static struct nouveau_enum vm_dispatch_subclients[] = { ++ { 0x00000000, "GRCTX", NULL }, ++ { 0x00000001, "NOTIFY", NULL }, ++ { 0x00000002, "QUERY", NULL }, ++ { 0x00000003, "COND", NULL }, ++ { 0x00000004, "M2M_IN", NULL }, ++ { 0x00000005, "M2M_OUT", NULL }, ++ { 0x00000006, "M2M_NOTIFY", NULL }, ++ {} ++}; ++ ++static struct nouveau_enum vm_ccache_subclients[] = { ++ { 0x00000000, "CB", NULL }, ++ { 0x00000001, "TIC", NULL }, ++ { 0x00000002, "TSC", NULL }, ++ {} ++}; ++ ++static struct nouveau_enum vm_prop_subclients[] = { ++ { 0x00000000, "RT0", NULL }, ++ { 0x00000001, "RT1", NULL }, ++ { 0x00000002, "RT2", NULL }, ++ { 0x00000003, "RT3", NULL }, ++ { 0x00000004, "RT4", NULL }, ++ { 0x00000005, "RT5", NULL }, ++ { 0x00000006, "RT6", NULL }, ++ { 0x00000007, "RT7", NULL }, ++ { 0x00000008, "ZETA", NULL }, ++ { 0x00000009, "LOCAL", NULL }, ++ { 0x0000000a, "GLOBAL", NULL }, ++ { 0x0000000b, "STACK", NULL }, ++ { 0x0000000c, "DST2D", NULL }, ++ {} ++}; ++ ++static struct nouveau_enum vm_pfifo_subclients[] = { ++ { 0x00000000, "PUSHBUF", NULL }, ++ { 0x00000001, "SEMAPHORE", NULL }, ++ {} ++}; ++ ++static struct nouveau_enum vm_bar_subclients[] = { ++ { 0x00000000, "FB", NULL }, ++ { 0x00000001, "IN", NULL }, ++ {} ++}; ++ ++static struct nouveau_enum vm_client[] = { ++ { 0x00000000, "STRMOUT", NULL }, ++ { 0x00000003, "DISPATCH", vm_dispatch_subclients }, ++ { 0x00000004, "PFIFO_WRITE", NULL }, ++ { 0x00000005, "CCACHE", vm_ccache_subclients }, ++ { 0x00000006, "PPPP", NULL }, ++ { 0x00000007, "CLIPID", NULL }, ++ { 0x00000008, "PFIFO_READ", NULL }, ++ { 0x00000009, "VFETCH", NULL }, ++ { 0x0000000a, "TEXTURE", NULL }, ++ { 0x0000000b, "PROP", vm_prop_subclients }, ++ { 0x0000000c, "PVP", NULL }, ++ { 0x0000000d, "PBSP", NULL }, ++ { 0x0000000e, "PCRYPT", NULL }, ++ { 0x0000000f, "PCOUNTER", NULL }, ++ { 0x00000011, "PDAEMON", NULL }, ++ {} ++}; ++ ++static struct nouveau_enum vm_engine[] = { ++ { 0x00000000, "PGRAPH", NULL }, ++ { 0x00000001, "PVP", NULL }, ++ { 0x00000004, "PEEPHOLE", NULL }, ++ { 0x00000005, "PFIFO", vm_pfifo_subclients }, ++ { 0x00000006, "BAR", vm_bar_subclients }, ++ { 0x00000008, "PPPP", NULL }, ++ { 0x00000009, "PBSP", NULL }, ++ { 0x0000000a, "PCRYPT", NULL }, ++ { 0x0000000b, "PCOUNTER", NULL }, ++ { 0x0000000c, "SEMAPHORE_BG", NULL }, ++ { 0x0000000d, "PCOPY", NULL }, ++ { 0x0000000e, "PDAEMON", NULL }, ++ {} ++}; ++ ++static struct nouveau_enum vm_fault[] = { ++ { 0x00000000, "PT_NOT_PRESENT", NULL }, ++ { 0x00000001, "PT_TOO_SHORT", NULL }, ++ { 0x00000002, "PAGE_NOT_PRESENT", NULL }, ++ { 0x00000003, "PAGE_SYSTEM_ONLY", NULL }, ++ { 0x00000004, "PAGE_READ_ONLY", NULL }, ++ { 0x00000006, "NULL_DMAOBJ", NULL }, ++ { 0x00000007, "WRONG_MEMTYPE", NULL }, ++ { 0x0000000b, "VRAM_LIMIT", NULL }, ++ { 0x0000000f, "DMAOBJ_LIMIT", NULL }, ++ {} ++}; ++ + void +-nv50_fb_vm_trap(struct drm_device *dev, int display, const char *name) ++nv50_fb_vm_trap(struct drm_device *dev, int display) + { + struct drm_nouveau_private *dev_priv = dev->dev_private; ++ const struct nouveau_enum *en, *cl; + unsigned long flags; + u32 trap[6], idx, chinst; ++ u8 st0, st1, st2, st3; + int i, ch; + + idx = nv_rd32(dev, 0x100c90); +@@ -117,8 +214,8 @@ nv50_fb_vm_trap(struct drm_device *dev, int display, const char *name) + if (!display) + return; + ++ /* lookup channel id */ + chinst = (trap[2] << 16) | trap[1]; +- + spin_lock_irqsave(&dev_priv->channels.lock, flags); + for (ch = 0; ch < dev_priv->engine.fifo.channels; ch++) { + struct nouveau_channel *chan = dev_priv->channels.ptr[ch]; +@@ -131,9 +228,48 @@ nv50_fb_vm_trap(struct drm_device *dev, int display, const char *name) + } + spin_unlock_irqrestore(&dev_priv->channels.lock, flags); + +- NV_INFO(dev, "%s - VM: Trapped %s at %02x%04x%04x status %08x " +- "channel %d (0x%08x)\n", +- name, (trap[5] & 0x100 ? "read" : "write"), +- trap[5] & 0xff, trap[4] & 0xffff, trap[3] & 0xffff, +- trap[0], ch, chinst); ++ /* decode status bits into something more useful */ ++ if (dev_priv->chipset < 0xa3 || ++ dev_priv->chipset == 0xaa || dev_priv->chipset == 0xac) { ++ st0 = (trap[0] & 0x0000000f) >> 0; ++ st1 = (trap[0] & 0x000000f0) >> 4; ++ st2 = (trap[0] & 0x00000f00) >> 8; ++ st3 = (trap[0] & 0x0000f000) >> 12; ++ } else { ++ st0 = (trap[0] & 0x000000ff) >> 0; ++ st1 = (trap[0] & 0x0000ff00) >> 8; ++ st2 = (trap[0] & 0x00ff0000) >> 16; ++ st3 = (trap[0] & 0xff000000) >> 24; ++ } ++ ++ NV_INFO(dev, "VM: trapped %s at 0x%02x%04x%04x on ch %d [0x%08x] ", ++ (trap[5] & 0x00000100) ? "read" : "write", ++ trap[5] & 0xff, trap[4] & 0xffff, trap[3] & 0xffff, ch, chinst); ++ ++ en = nouveau_enum_find(vm_engine, st0); ++ if (en) ++ printk("%s/", en->name); ++ else ++ printk("%02x/", st0); ++ ++ cl = nouveau_enum_find(vm_client, st2); ++ if (cl) ++ printk("%s/", cl->name); ++ else ++ printk("%02x/", st2); ++ ++ if (cl && cl->data) cl = nouveau_enum_find(cl->data, st3); ++ else if (en && en->data) cl = nouveau_enum_find(en->data, st3); ++ else cl = NULL; ++ if (cl) ++ printk("%s", cl->name); ++ else ++ printk("%02x", st3); ++ ++ printk(" reason: "); ++ en = nouveau_enum_find(vm_fault, st1); ++ if (en) ++ printk("%s\n", en->name); ++ else ++ printk("0x%08x\n", st1); + } diff --git a/drivers/gpu/drm/nouveau/nv50_fifo.c b/drivers/gpu/drm/nouveau/nv50_fifo.c index 8dd04c5..c34a074 100644 --- a/drivers/gpu/drm/nouveau/nv50_fifo.c @@ -1246,10 +1584,195 @@ index 6b149c0..d4f4206 100644 spin_unlock(&priv->lock); } diff --git a/drivers/gpu/drm/nouveau/nv50_graph.c b/drivers/gpu/drm/nouveau/nv50_graph.c -index 37e21d2..c75cff1 100644 +index 37e21d2..a32b301 100644 --- a/drivers/gpu/drm/nouveau/nv50_graph.c +++ b/drivers/gpu/drm/nouveau/nv50_graph.c -@@ -912,10 +912,10 @@ nv50_pgraph_trap_handler(struct drm_device *dev, u32 display, u64 inst, u32 chid +@@ -95,13 +95,41 @@ nv50_graph_init_regs__nv(struct drm_device *dev) + } + + static void +-nv50_graph_init_regs(struct drm_device *dev) ++nv50_graph_init_zcull(struct drm_device *dev) + { ++ struct drm_nouveau_private *dev_priv = dev->dev_private; ++ int i; ++ + NV_DEBUG(dev, "\n"); + +- nv_wr32(dev, NV04_PGRAPH_DEBUG_3, +- (1 << 2) /* HW_CONTEXT_SWITCH_ENABLED */); +- nv_wr32(dev, 0x402ca8, 0x800); ++ switch (dev_priv->chipset & 0xf0) { ++ case 0x50: ++ case 0x80: ++ case 0x90: ++ nv_wr32(dev, 0x402ca8, 0x00000800); ++ break; ++ case 0xa0: ++ default: ++ nv_wr32(dev, 0x402cc0, 0x00000000); ++ if (dev_priv->chipset == 0xa0 || ++ dev_priv->chipset == 0xaa || ++ dev_priv->chipset == 0xac) { ++ nv_wr32(dev, 0x402ca8, 0x00000802); ++ } else { ++ nv_wr32(dev, 0x402cc0, 0x00000000); ++ nv_wr32(dev, 0x402ca8, 0x00000002); ++ } ++ ++ break; ++ } ++ ++ /* zero out zcull regions */ ++ for (i = 0; i < 8; i++) { ++ nv_wr32(dev, 0x402c20 + (i * 8), 0x00000000); ++ nv_wr32(dev, 0x402c24 + (i * 8), 0x00000000); ++ nv_wr32(dev, 0x402c28 + (i * 8), 0x00000000); ++ nv_wr32(dev, 0x402c2c + (i * 8), 0x00000000); ++ } + } + + static int +@@ -136,6 +164,7 @@ nv50_graph_init_ctxctl(struct drm_device *dev) + } + kfree(cp); + ++ nv_wr32(dev, 0x40008c, 0x00000004); /* HW_CTX_SWITCH_ENABLED */ + nv_wr32(dev, 0x400320, 4); + nv_wr32(dev, NV40_PGRAPH_CTXCTL_CUR, 0); + nv_wr32(dev, NV20_PGRAPH_CHANNEL_CTX_POINTER, 0); +@@ -151,7 +180,7 @@ nv50_graph_init(struct drm_device *dev) + + nv50_graph_init_reset(dev); + nv50_graph_init_regs__nv(dev); +- nv50_graph_init_regs(dev); ++ nv50_graph_init_zcull(dev); + + ret = nv50_graph_init_ctxctl(dev); + if (ret) +@@ -526,11 +555,11 @@ nv86_graph_tlb_flush(struct drm_device *dev) + + static struct nouveau_enum nv50_mp_exec_error_names[] = + { +- { 3, "STACK_UNDERFLOW" }, +- { 4, "QUADON_ACTIVE" }, +- { 8, "TIMEOUT" }, +- { 0x10, "INVALID_OPCODE" }, +- { 0x40, "BREAKPOINT" }, ++ { 3, "STACK_UNDERFLOW", NULL }, ++ { 4, "QUADON_ACTIVE", NULL }, ++ { 8, "TIMEOUT", NULL }, ++ { 0x10, "INVALID_OPCODE", NULL }, ++ { 0x40, "BREAKPOINT", NULL }, + {} + }; + +@@ -558,47 +587,47 @@ static struct nouveau_bitfield nv50_graph_trap_ccache[] = { + + /* There must be a *lot* of these. Will take some time to gather them up. */ + struct nouveau_enum nv50_data_error_names[] = { +- { 0x00000003, "INVALID_QUERY_OR_TEXTURE" }, +- { 0x00000004, "INVALID_VALUE" }, +- { 0x00000005, "INVALID_ENUM" }, +- { 0x00000008, "INVALID_OBJECT" }, +- { 0x00000009, "READ_ONLY_OBJECT" }, +- { 0x0000000a, "SUPERVISOR_OBJECT" }, +- { 0x0000000b, "INVALID_ADDRESS_ALIGNMENT" }, +- { 0x0000000c, "INVALID_BITFIELD" }, +- { 0x0000000d, "BEGIN_END_ACTIVE" }, +- { 0x0000000e, "SEMANTIC_COLOR_BACK_OVER_LIMIT" }, +- { 0x0000000f, "VIEWPORT_ID_NEEDS_GP" }, +- { 0x00000010, "RT_DOUBLE_BIND" }, +- { 0x00000011, "RT_TYPES_MISMATCH" }, +- { 0x00000012, "RT_LINEAR_WITH_ZETA" }, +- { 0x00000015, "FP_TOO_FEW_REGS" }, +- { 0x00000016, "ZETA_FORMAT_CSAA_MISMATCH" }, +- { 0x00000017, "RT_LINEAR_WITH_MSAA" }, +- { 0x00000018, "FP_INTERPOLANT_START_OVER_LIMIT" }, +- { 0x00000019, "SEMANTIC_LAYER_OVER_LIMIT" }, +- { 0x0000001a, "RT_INVALID_ALIGNMENT" }, +- { 0x0000001b, "SAMPLER_OVER_LIMIT" }, +- { 0x0000001c, "TEXTURE_OVER_LIMIT" }, +- { 0x0000001e, "GP_TOO_MANY_OUTPUTS" }, +- { 0x0000001f, "RT_BPP128_WITH_MS8" }, +- { 0x00000021, "Z_OUT_OF_BOUNDS" }, +- { 0x00000023, "XY_OUT_OF_BOUNDS" }, +- { 0x00000027, "CP_MORE_PARAMS_THAN_SHARED" }, +- { 0x00000028, "CP_NO_REG_SPACE_STRIPED" }, +- { 0x00000029, "CP_NO_REG_SPACE_PACKED" }, +- { 0x0000002a, "CP_NOT_ENOUGH_WARPS" }, +- { 0x0000002b, "CP_BLOCK_SIZE_MISMATCH" }, +- { 0x0000002c, "CP_NOT_ENOUGH_LOCAL_WARPS" }, +- { 0x0000002d, "CP_NOT_ENOUGH_STACK_WARPS" }, +- { 0x0000002e, "CP_NO_BLOCKDIM_LATCH" }, +- { 0x00000031, "ENG2D_FORMAT_MISMATCH" }, +- { 0x0000003f, "PRIMITIVE_ID_NEEDS_GP" }, +- { 0x00000044, "SEMANTIC_VIEWPORT_OVER_LIMIT" }, +- { 0x00000045, "SEMANTIC_COLOR_FRONT_OVER_LIMIT" }, +- { 0x00000046, "LAYER_ID_NEEDS_GP" }, +- { 0x00000047, "SEMANTIC_CLIP_OVER_LIMIT" }, +- { 0x00000048, "SEMANTIC_PTSZ_OVER_LIMIT" }, ++ { 0x00000003, "INVALID_QUERY_OR_TEXTURE", NULL }, ++ { 0x00000004, "INVALID_VALUE", NULL }, ++ { 0x00000005, "INVALID_ENUM", NULL }, ++ { 0x00000008, "INVALID_OBJECT", NULL }, ++ { 0x00000009, "READ_ONLY_OBJECT", NULL }, ++ { 0x0000000a, "SUPERVISOR_OBJECT", NULL }, ++ { 0x0000000b, "INVALID_ADDRESS_ALIGNMENT", NULL }, ++ { 0x0000000c, "INVALID_BITFIELD", NULL }, ++ { 0x0000000d, "BEGIN_END_ACTIVE", NULL }, ++ { 0x0000000e, "SEMANTIC_COLOR_BACK_OVER_LIMIT", NULL }, ++ { 0x0000000f, "VIEWPORT_ID_NEEDS_GP", NULL }, ++ { 0x00000010, "RT_DOUBLE_BIND", NULL }, ++ { 0x00000011, "RT_TYPES_MISMATCH", NULL }, ++ { 0x00000012, "RT_LINEAR_WITH_ZETA", NULL }, ++ { 0x00000015, "FP_TOO_FEW_REGS", NULL }, ++ { 0x00000016, "ZETA_FORMAT_CSAA_MISMATCH", NULL }, ++ { 0x00000017, "RT_LINEAR_WITH_MSAA", NULL }, ++ { 0x00000018, "FP_INTERPOLANT_START_OVER_LIMIT", NULL }, ++ { 0x00000019, "SEMANTIC_LAYER_OVER_LIMIT", NULL }, ++ { 0x0000001a, "RT_INVALID_ALIGNMENT", NULL }, ++ { 0x0000001b, "SAMPLER_OVER_LIMIT", NULL }, ++ { 0x0000001c, "TEXTURE_OVER_LIMIT", NULL }, ++ { 0x0000001e, "GP_TOO_MANY_OUTPUTS", NULL }, ++ { 0x0000001f, "RT_BPP128_WITH_MS8", NULL }, ++ { 0x00000021, "Z_OUT_OF_BOUNDS", NULL }, ++ { 0x00000023, "XY_OUT_OF_BOUNDS", NULL }, ++ { 0x00000027, "CP_MORE_PARAMS_THAN_SHARED", NULL }, ++ { 0x00000028, "CP_NO_REG_SPACE_STRIPED", NULL }, ++ { 0x00000029, "CP_NO_REG_SPACE_PACKED", NULL }, ++ { 0x0000002a, "CP_NOT_ENOUGH_WARPS", NULL }, ++ { 0x0000002b, "CP_BLOCK_SIZE_MISMATCH", NULL }, ++ { 0x0000002c, "CP_NOT_ENOUGH_LOCAL_WARPS", NULL }, ++ { 0x0000002d, "CP_NOT_ENOUGH_STACK_WARPS", NULL }, ++ { 0x0000002e, "CP_NO_BLOCKDIM_LATCH", NULL }, ++ { 0x00000031, "ENG2D_FORMAT_MISMATCH", NULL }, ++ { 0x0000003f, "PRIMITIVE_ID_NEEDS_GP", NULL }, ++ { 0x00000044, "SEMANTIC_VIEWPORT_OVER_LIMIT", NULL }, ++ { 0x00000045, "SEMANTIC_COLOR_FRONT_OVER_LIMIT", NULL }, ++ { 0x00000046, "LAYER_ID_NEEDS_GP", NULL }, ++ { 0x00000047, "SEMANTIC_CLIP_OVER_LIMIT", NULL }, ++ { 0x00000048, "SEMANTIC_PTSZ_OVER_LIMIT", NULL }, + {} + }; + +@@ -678,7 +707,6 @@ nv50_pgraph_tp_trap(struct drm_device *dev, int type, uint32_t ustatus_old, + tps++; + switch (type) { + case 6: /* texture error... unknown for now */ +- nv50_fb_vm_trap(dev, display, name); + if (display) { + NV_ERROR(dev, "magic set %d:\n", i); + for (r = ustatus_addr + 4; r <= ustatus_addr + 0x10; r += 4) +@@ -701,7 +729,6 @@ nv50_pgraph_tp_trap(struct drm_device *dev, int type, uint32_t ustatus_old, + uint32_t e1c = nv_rd32(dev, ustatus_addr + 0x14); + uint32_t e20 = nv_rd32(dev, ustatus_addr + 0x18); + uint32_t e24 = nv_rd32(dev, ustatus_addr + 0x1c); +- nv50_fb_vm_trap(dev, display, name); + /* 2d engine destination */ + if (ustatus & 0x00000010) { + if (display) { +@@ -912,10 +939,10 @@ nv50_pgraph_trap_handler(struct drm_device *dev, u32 display, u64 inst, u32 chid printk("\n"); NV_INFO(dev, "PGRAPH - TRAP_CCACHE %08x %08x %08x %08x" " %08x %08x %08x\n", @@ -1264,8 +1787,16 @@ index 37e21d2..c75cff1 100644 } +@@ -1044,6 +1071,7 @@ nv50_graph_isr(struct drm_device *dev) + NV_INFO(dev, "PGRAPH - ch %d (0x%010llx) subc %d " + "class 0x%04x mthd 0x%04x data 0x%08x\n", + chid, inst, subc, class, mthd, data); ++ nv50_fb_vm_trap(dev, 1); + } + } + diff --git a/drivers/gpu/drm/nouveau/nv50_vm.c b/drivers/gpu/drm/nouveau/nv50_vm.c -index 459ff08..03c1a63 100644 +index 6144156..1f47c75 100644 --- a/drivers/gpu/drm/nouveau/nv50_vm.c +++ b/drivers/gpu/drm/nouveau/nv50_vm.c @@ -31,7 +31,6 @@ void @@ -1276,6 +1807,17 @@ index 459ff08..03c1a63 100644 u64 phys = 0xdeadcafe00000000ULL; u32 coverage = 0; +diff --git a/drivers/gpu/drm/nouveau/nv84_crypt.c b/drivers/gpu/drm/nouveau/nv84_crypt.c +index ec18ae1..fabc7fd 100644 +--- a/drivers/gpu/drm/nouveau/nv84_crypt.c ++++ b/drivers/gpu/drm/nouveau/nv84_crypt.c +@@ -136,5 +136,5 @@ nv84_crypt_isr(struct drm_device *dev) + nv_wr32(dev, 0x102130, stat); + nv_wr32(dev, 0x10200c, 0x10); + +- nv50_fb_vm_trap(dev, show, "PCRYPT"); ++ nv50_fb_vm_trap(dev, show); + } diff --git a/drivers/gpu/drm/nouveau/nvc0_fifo.c b/drivers/gpu/drm/nouveau/nvc0_fifo.c index e6f92c5..e9f8643 100644 --- a/drivers/gpu/drm/nouveau/nvc0_fifo.c diff --git a/freed-ora/current/master/kernel.spec b/freed-ora/current/master/kernel.spec index 852e3b746..81465de70 100644 --- a/freed-ora/current/master/kernel.spec +++ b/freed-ora/current/master/kernel.spec @@ -6,7 +6,7 @@ Summary: The Linux kernel # For a stable, released kernel, released_kernel should be 1. For rawhide # and/or a kernel built from an rc or git snapshot, released_kernel should # be 0. -%global released_kernel 0 +%global released_kernel 1 # Save original buildid for later if it's defined %if 0%{?buildid:1} @@ -57,7 +57,7 @@ Summary: The Linux kernel # base_sublevel is the kernel version we're starting with and patching # on top of -- for example, 2.6.22-rc7-git1 starts with a 2.6.21 base, # which yields a base_sublevel of 21. -%define base_sublevel 37 +%define base_sublevel 38 # librev starts empty, then 1, etc, as the linux-libre tarball # changes. This is only used to determine which tarball to use. @@ -65,7 +65,7 @@ Summary: The Linux kernel # To be inserted between "patch" and "-2.6.". #define stablelibre -libre -%define rcrevlibre -libre +#define rcrevlibre -libre #define gitrevlibre -libre # libres (s for suffix) may be bumped for rebuilds in which patches @@ -96,9 +96,9 @@ Summary: The Linux kernel # The next upstream release sublevel (base_sublevel+1) %define upstream_sublevel %(echo $((%{base_sublevel} + 1))) # The rc snapshot level -%define rcrev 6 +%define rcrev 8 # The git snapshot level -%define gitrev 2 +%define gitrev 4 # Set rpm version accordingly %define rpmversion 2.6.%{upstream_sublevel} %endif @@ -550,7 +550,6 @@ Source0: http://linux-libre.fsfla.org/pub/linux-libre/freed-ora/src/linux-%{kver Source3: deblob-main Source4: deblob-%{kversion} Source5: deblob-check -Source6: deblob-2.6.%{upstream_sublevel} Source11: genkey Source14: find-provides @@ -638,12 +637,13 @@ Patch09: linux-2.6-upstream-reverts.patch # Standalone patches Patch20: linux-2.6-hotfixes.patch - +Patch29: linux-2.6-utrace-revert-make-ptrace-functions-static.patch Patch30: linux-2.6-tracehook.patch Patch31: linux-2.6-utrace.patch Patch32: linux-2.6-utrace-ptrace.patch Patch150: linux-2.6.29-sparc-IOC_TYPECHECK.patch +Patch151: sparc64_fix_build_errors_with_gcc460.patch Patch160: linux-2.6-32bit-mmap-exec-randomization.patch Patch161: linux-2.6-i386-nx-emulation.patch @@ -699,6 +699,7 @@ Patch1824: drm-intel-next.patch # make sure the lvds comes back on lid open Patch1825: drm-intel-make-lvds-work.patch Patch1826: drm-intel-edp-fixes.patch +Patch1827: drm-i915-gen4-has-non-power-of-two-strides.patch Patch1900: linux-2.6-intel-iommu-igfx.patch @@ -755,8 +756,6 @@ Patch12303: dmar-disable-when-ricoh-multifunction.patch Patch12421: fs-call-security_d_instantiate-in-d_obtain_alias.patch -Patch12438: ath5k-fix-fast-channel-change.patch - %endif BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root @@ -828,6 +827,20 @@ Group: Development/System License: GPLv2 %description -n perf-libre This package provides the perf tool and the supporting documentation. + +%package -n perf-libre-debuginfo +Summary: Debug information for package perf +Group: Development/Debug +Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release} +AutoReqProv: no +%description -n perf-libre-debuginfo +This package provides debug information for package perf. + +# Note that this pattern only works right to match the .build-id +# symlinks because of the trailing nonmatching alternation and +# the leading .*, because of find-debuginfo.sh's buggy handling +# of matching the pattern against the symlinks file. +%{expand:%%global debuginfo_args %{?debuginfo_args} -p '.*%%{_bindir}/perf(\.debug)?|.*%%{_libexecdir}/perf-core/.*|XXX' -o perf-debuginfo.list} %endif @@ -1118,20 +1131,16 @@ perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION =%{?stablelibre:-libre%{?librev}}/ %endif ApplyPatch patch%{?rcrevlibre}-2.6.%{upstream_sublevel}-rc%{rcrev}.bz2 %if 0%{?gitrev} -%if "%{rcrevlibre}" != "%{gitrevlibre}" perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -rc%{rcrev}%{?gitrevlibre:-libre%{?librev}}/" Makefile -%endif ApplyPatch patch%{?gitrevlibre}-2.6.%{upstream_sublevel}-rc%{rcrev}-git%{gitrev}.bz2 %endif %else # pre-{base_sublevel+1}-rc1 case -%if 0%{?gitrev} -%if "%{stablerevlibre}" != "%{gitrevlibre}" - perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -rc%{rcrev}%{?gitrevlibre:-libre%{?librev}}/" Makefile +%if "%{?stablelibre}" != "%{?gitrevlibre}" + perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION =%{?rcrevlibre:-libre%{?librev}}/" Makefile %endif ApplyPatch patch%{?gitrevlibre}-2.6.%{base_sublevel}-git%{gitrev}.bz2 %endif -%endif cd .. @@ -1218,6 +1227,7 @@ ApplyOptionalPatch linux-2.6-upstream-reverts.patch -R ApplyPatch linux-2.6-hotfixes.patch # Roland's utrace ptrace replacement. +ApplyPatch linux-2.6-utrace-revert-make-ptrace-functions-static.patch ApplyPatch linux-2.6-tracehook.patch ApplyPatch linux-2.6-utrace.patch ApplyPatch linux-2.6-utrace-ptrace.patch @@ -1237,6 +1247,7 @@ ApplyPatch linux-2.6-utrace-ptrace.patch # SPARC64 # ApplyPatch linux-2.6.29-sparc-IOC_TYPECHECK.patch +ApplyPatch sparc64_fix_build_errors_with_gcc460.patch # # Exec shield @@ -1350,6 +1361,9 @@ ApplyPatch drm-intel-big-hammer.patch ApplyPatch drm-intel-make-lvds-work.patch ApplyPatch linux-2.6-intel-iommu-igfx.patch ApplyPatch drm-intel-edp-fixes.patch +# rhbz#681285 (i965: crash in brw_wm_surface_state.c::prepare_wm_surfaces() +# where intelObj->mt == NULL) +#ApplyPatch drm-i915-gen4-has-non-power-of-two-strides.patch # linux1394 git patches #ApplyPatch linux-2.6-firewire-git-update.patch @@ -1404,9 +1418,6 @@ ApplyPatch dmar-disable-when-ricoh-multifunction.patch # rhbz#662344,600690 ApplyPatch fs-call-security_d_instantiate-in-d_obtain_alias.patch -# rhbz#672778 -ApplyPatch ath5k-fix-fast-channel-change.patch - # END OF PATCH APPLICATIONS %endif @@ -1725,7 +1736,7 @@ BuildKernel %make_target %kernel_image smp %if %{with_doc} # Make the HTML and man pages. -make %{?_smp_mflags} htmldocs mandocs || %{doc_build_fail} +make htmldocs mandocs || %{doc_build_fail} # sometimes non-world-readable files sneak into the kernel source tree chmod -R a=rX Documentation @@ -1946,6 +1957,11 @@ fi %dir %{_libexecdir}/perf-core %{_libexecdir}/perf-core/* %{_mandir}/man[1-8]/* + +%if %{with_debuginfo} +%files -f perf-debuginfo.list -n perf-libre-debuginfo +%defattr(-,root,root) +%endif %endif # This is %%{image_install_path} on an arch where that includes ELF files, @@ -2010,11 +2026,80 @@ fi # and build. %changelog +* Wed Mar 16 2011 Alexandre Oliva <lxoliva@fsfla.org> -libre +- Deblobbed to 2.6.38-libre. + +* Tue Mar 15 2011 Chuck Ebbert <cebbert@redhat.com> 2.6.38-1 +- Linux 2.6.38 + +* Mon Mar 14 2011 Alexandre Oliva <lxoliva@fsfla.org> -libre +- Deblobbed patch-libre-2.6.38-rc8-git4 by hand. + +* Mon Mar 13 2011 Chuck Ebbert <cebbert@redhat.com> 2.6.38-0.rc8.git4.1 +- Linux 2.6.38-rc8-git4 + +* Thu Mar 10 2011 Chuck Ebbert <cebbert@redhat.com> +- Linux 2.6.38-rc8-git3 + +* Thu Mar 10 2011 Alexandre Oliva <lxoliva@fsfla.org> -libre +- Created patch-libre-2.6.38-rc8 by diffing deblobbed trees. + +* Thu Mar 10 2011 Chuck Ebbert <cebbert@redhat.com> 2.6.38-0.rc8.git2.1 +- Linux 2.6.38-rc8-git2 + +* Wed Mar 09 2011 Chuck Ebbert <cebbert@redhat.com> +- Linux 2.6.38-rc8-git1 + +* Wed Mar 09 2011 Dennis Gilmore <dennis@ausil.us> +- apply sparc64 gcc-4.6.0 buildfix patch + +* Wed Mar 09 2011 Ben Skeggs <bskeggs@redhat.com> 2.6.38-0.rc8.git0.2 +- nouveau: allow max clients on nv4x (679629), better error reporting + +* Tue Mar 08 2011 Chuck Ebbert <cebbert@redhat.com> 2.6.38-0.rc8.git0.1 +- Linux 2.6.38-rc8 + +* Mon Mar 7 2011 Alexandre Oliva <lxoliva@fsfla.org> -libre +- Created patch-libre-2.6.38-rc7 by diffing deblobbed trees. + +* Sat Mar 05 2011 Chuck Ebbert <cebbert@redhat.com> 2.6.38-0.rc7.git4.1 +- Linux 2.6.38-rc7-git4 +- Revert upstream commit e3e89cc535223433a619d0969db3fa05cdd946b8 + for now to fix utrace build. + +* Fri Mar 04 2011 Roland McGrath <roland@redhat.com> - 2.6.38-0.rc7.git2.3 +- Split out perf-debuginfo subpackage. + +* Fri Mar 04 2011 Kyle McMartin <kmcmartin@redhat.com> 2.6.38-0.rc7.git2.2 +- Disable drm-i915-gen4-has-non-power-of-two-strides.patch for now, breaks + my mutter. + +* Fri Mar 04 2011 Kyle McMartin <kmcmartin@redhat.com> 2.6.38-0.rc7.git2.1 +- Linux 2.6.38-rc7-git2 +- drm-i915-gen4-has-non-power-of-two-strides.patch (#681285) + +* Thu Mar 03 2011 Chuck Ebbert <cebbert@redhat.com> 2.6.38-0.rc7.git1.1 +- Linux 2.6.38-rc7-git1 + +* Tue Mar 01 2011 Kyle McMartin <kmcmartin@redhat.com> 2.6.38-0.rc7.git0.1 +- Linux 2.6.38-rc7 + +* Fri Feb 25 2011 Chuck Ebbert <cebbert@redhat.com> 2.6.38-0.rc6.git6.1 +- Linux 2.6.38-rc6-git6 +- Build in virtio_pci driver so virtio_console will be built-in (#677713) + +* Thu Feb 24 2011 Chuck Ebbert <cebbert@redhat.com> 2.6.38-0.rc6.git4.1 +- Linux 2.6.38-rc6-git4 + +* Thu Feb 24 2011 Matthew Garrett <mjg@redhat.com> 2.6.38-0.rc6.git2.2 +- linux-2.6-acpi-fix-implicit-notify.patch: Fix implicit notify when there's + more than one device per GPE + * Wed Feb 23 2011 Chuck Ebbert <cebbert@redhat.com> 2.6.38-0.rc6.git2.1 - Linux 2.6.38-rc6-git2 * Wed Feb 23 2011 Alexandre Oliva <lxoliva@fsfla.org> -libre Thu Feb 24 -- Deblobbed patch-libre-2.6.38-rc6. +- Created patch-libre-2.6.38-rc6 by diffing deblobbed trees. * Wed Feb 23 2011 Ben Skeggs <bskeggs@redhat.com> 2.6.38-0.rc6.git0.2 - nouveau: nv4x pciegart fixes, nvc0 accel improvements diff --git a/freed-ora/current/master/linux-2.6-utrace-revert-make-ptrace-functions-static.patch b/freed-ora/current/master/linux-2.6-utrace-revert-make-ptrace-functions-static.patch new file mode 100644 index 000000000..5e3dcc21d --- /dev/null +++ b/freed-ora/current/master/linux-2.6-utrace-revert-make-ptrace-functions-static.patch @@ -0,0 +1,47 @@ +Revert: +commit e3e89cc535223433a619d0969db3fa05cdd946b8 +("Mark ptrace_{traceme,attach,detach} static") + +--- b/include/linux/ptrace.h ++++ a/include/linux/ptrace.h +@@ -102,8 +102,11 @@ + + extern long arch_ptrace(struct task_struct *child, long request, + unsigned long addr, unsigned long data); ++extern int ptrace_traceme(void); + extern int ptrace_readdata(struct task_struct *tsk, unsigned long src, char __user *dst, int len); + extern int ptrace_writedata(struct task_struct *tsk, char __user *src, unsigned long dst, int len); ++extern int ptrace_attach(struct task_struct *tsk); ++extern int ptrace_detach(struct task_struct *, unsigned int); + extern void ptrace_disable(struct task_struct *); + extern int ptrace_check_attach(struct task_struct *task, int kill); + extern int ptrace_request(struct task_struct *child, long request, +--- b/kernel/ptrace.c ++++ a/kernel/ptrace.c +@@ -163,7 +163,7 @@ + return !err; + } + ++int ptrace_attach(struct task_struct *task) +-static int ptrace_attach(struct task_struct *task) + { + int retval; + +@@ -219,7 +219,7 @@ + * Performs checks and sets PT_PTRACED. + * Should be used by all ptrace implementations for PTRACE_TRACEME. + */ ++int ptrace_traceme(void) +-static int ptrace_traceme(void) + { + int ret = -EPERM; + +@@ -293,7 +293,7 @@ + return false; + } + ++int ptrace_detach(struct task_struct *child, unsigned int data) +-static int ptrace_detach(struct task_struct *child, unsigned int data) + { + bool dead = false; + diff --git a/freed-ora/current/master/linux-2.6.37-libre.tar.bz2.sign b/freed-ora/current/master/linux-2.6.37-libre.tar.bz2.sign deleted file mode 100644 index 86cb2925a..000000000 --- a/freed-ora/current/master/linux-2.6.37-libre.tar.bz2.sign +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.16 (GNU/Linux) - -iEYEABECAAYFAk0j6U8ACgkQvLfPh359R6c4AgCfZiHKtOWZUgZDiIqgfsJEFZ8A -Xn8AnRlyv7V5f73YIKJOLDklYsq5LXYq -=wyA+ ------END PGP SIGNATURE----- diff --git a/freed-ora/current/master/linux-2.6.37-libre.xdelta.bz2 b/freed-ora/current/master/linux-2.6.37-libre.xdelta.bz2 Binary files differdeleted file mode 100644 index 0609241f1..000000000 --- a/freed-ora/current/master/linux-2.6.37-libre.xdelta.bz2 +++ /dev/null diff --git a/freed-ora/current/master/linux-2.6.37-libre.xdelta.bz2.sign b/freed-ora/current/master/linux-2.6.37-libre.xdelta.bz2.sign deleted file mode 100644 index 07c6363ba..000000000 --- a/freed-ora/current/master/linux-2.6.37-libre.xdelta.bz2.sign +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.16 (GNU/Linux) - -iEYEABECAAYFAk0j6VUACgkQvLfPh359R6e4OQCgm5WqFF4ZCs1Yy2zDfBuADZfT -apsAnAyTyQT5Tl4cGwyPdGAIGTRUAwOs -=lJor ------END PGP SIGNATURE----- diff --git a/freed-ora/current/master/linux-2.6.38-libre.tar.bz2.sign b/freed-ora/current/master/linux-2.6.38-libre.tar.bz2.sign new file mode 100644 index 000000000..53a66c705 --- /dev/null +++ b/freed-ora/current/master/linux-2.6.38-libre.tar.bz2.sign @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.16 (GNU/Linux) + +iEYEABECAAYFAk1/yJYACgkQvLfPh359R6esiQCfQU+hGDR5+Y4qIn5AxNFmwrTE +tu0An01vh9eBRhhXmFPV0w1pU787Ylmn +=RgIS +-----END PGP SIGNATURE----- diff --git a/freed-ora/current/master/linux-2.6.38-libre.xdelta.bz2 b/freed-ora/current/master/linux-2.6.38-libre.xdelta.bz2 Binary files differnew file mode 100644 index 000000000..f4f98bd00 --- /dev/null +++ b/freed-ora/current/master/linux-2.6.38-libre.xdelta.bz2 diff --git a/freed-ora/current/master/linux-2.6.38-libre.xdelta.bz2.sign b/freed-ora/current/master/linux-2.6.38-libre.xdelta.bz2.sign new file mode 100644 index 000000000..0c8c9b85b --- /dev/null +++ b/freed-ora/current/master/linux-2.6.38-libre.xdelta.bz2.sign @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.16 (GNU/Linux) + +iEYEABECAAYFAk1/yKAACgkQvLfPh359R6dsogCgnVNE1Y3HR27pqObXfEF1c0zO +UwgAn3fMhz8q3ngzvlcssV+4owyjZJqQ +=QCZA +-----END PGP SIGNATURE----- diff --git a/freed-ora/current/master/patch-libre-2.6.38-rc6.bz2.sign b/freed-ora/current/master/patch-libre-2.6.38-rc6.bz2.sign deleted file mode 100644 index da2d4db96..000000000 --- a/freed-ora/current/master/patch-libre-2.6.38-rc6.bz2.sign +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.16 (GNU/Linux) - -iEYEABECAAYFAk1mB5IACgkQvLfPh359R6dTnACglBfQJWCGbz2wReSQqOlH01ek -XIMAn0KFMlJ9OiINUKmM70BHgoBs6ilF -=8ZlE ------END PGP SIGNATURE----- diff --git a/freed-ora/current/master/patch-libre-2.6.38-rc6.xdelta b/freed-ora/current/master/patch-libre-2.6.38-rc6.xdelta Binary files differdeleted file mode 100644 index 0c00e77e6..000000000 --- a/freed-ora/current/master/patch-libre-2.6.38-rc6.xdelta +++ /dev/null diff --git a/freed-ora/current/master/patch-libre-2.6.38-rc6.xdelta.sign b/freed-ora/current/master/patch-libre-2.6.38-rc6.xdelta.sign deleted file mode 100644 index 3a5fd7504..000000000 --- a/freed-ora/current/master/patch-libre-2.6.38-rc6.xdelta.sign +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.16 (GNU/Linux) - -iEYEABECAAYFAk1mB48ACgkQvLfPh359R6eN5wCbBcGcUn9Naj031WvSlNKV5rtZ -8aAAoJprIXaAyOY72SyBKmwIGZ2RpiTt -=3+ej ------END PGP SIGNATURE----- diff --git a/freed-ora/current/master/scripts/rebase.sh b/freed-ora/current/master/scripts/rebase.sh index fc3157b24..ac6522a4c 100755 --- a/freed-ora/current/master/scripts/rebase.sh +++ b/freed-ora/current/master/scripts/rebase.sh @@ -1,15 +1,19 @@ #!/bin/bash +KORG26="http://ftp.kernel.org/pub/linux/kernel/v2.6" +KORG26SNAPS="${KORG26}/snapshots" +KORG26TESTING="${KORG26}/testing" + if [ ! -f /usr/bin/curl ]; then echo yum install curl exit 0 fi # Current kernel bits -if [ `grep -c ^patch upstream` -ge 1 ]; then - export OLD=`grep ^patch upstream | tail -n1 | sed s/patch-// | sed s/\.bz2//` +if [ `grep -c patch-2.6 sources` -ge 1 ]; then + export OLD=`grep patch-2.6 sources | awk '{print $2}' | tail -n1 | sed s/patch-// | sed s/\.bz2//` else - export OLD=`grep linux-2.6 upstream | tail -n1 | sed s/linux-// | sed s/\.tar\.bz2//` + export OLD=`grep linux-2.6 sources | awk '{print $2}' | tail -n1 | sed s/linux-// | sed s/\.tar\.bz2//` fi export OLDBASE=`echo $OLD | sed s/-/\ /g | sed s/2\.6\.// | awk '{ print $1 }'` if [ `echo $OLD | grep -c rc` -ge 1 ]; then @@ -97,58 +101,39 @@ if [ "$NEWRC" -eq 0 -a "$NEWGIT" -eq 0 ]; then perl -p -i -e 's/^%define\ rcrev.*/\%define\ rcrev\ 0/' kernel.spec perl -p -i -e 's/^%define\ gitrev.*/\%define\ gitrev\ 0/' kernel.spec - grep -v kernel-2.6.$OLD_TARBALL_BASE .cvsignore >.cvsignore.tmp ; mv .cvsignore.tmp .cvsignore - echo kernel-2.6.$NEWBASE >> .cvsignore + grep -v kernel-2.6.$OLD_TARBALL_BASE .gitignore >.gitignore.tmp ; mv .gitignore.tmp .gitignore + echo kernel-2.6.$NEWBASE >> .gitignore - for i in upstream sources .cvsignore + for i in sources .gitignore do grep -v linux-2.6.$OLD_TARBALL_BASE.tar.bz2 $i > .$i.tmp; mv .$i.tmp $i grep -v patch-2.6.$OLDBASE-rc$OLDRC.bz2 $i > .$i.tmp; mv .$i.tmp $i grep -v patch-2.6.$OLDBASE-rc$OLDRC-git$OLDGIT.bz2 $i > .$i.tmp; mv .$i.tmp $i done - echo linux-2.6.$NEWBASE.tar.bz2 >> upstream - rm -f linux-2.6.$OLD_TARBALL_BASE.tar.bz2 - rm -f linux-2.6.$OLD_TARBALL_BASE.tar.bz2.sign rm -f patch-2.6.$OLDBASE-rc$OLDRC.bz2 - rm -f patch-2.6.$OLDBASE-rc$OLDRC.bz2.sign rm -f patch-2.6.$OLDBASE-rc$OLDRC-git$OLDGIT.bz2 - rm -f patch-2.6.$OLDBASE-rc$OLDRC-git$OLDGIT.bz2.sign - - cvs remove linux-2.6.$OLD_TARBALL_BASE.tar.bz2.sign - cvs remove patch-2.6.$OLDBASE-rc$OLDRC.bz2.sign - cvs remove patch-2.6.$OLDBASE-rc$OLDRC-git$OLDGIT.bz2.sign - make download - make upload FILES=linux-$NEW.tar.bz2 + curl -O $KORG26/linux-$NEW.tar.bz2 + fedpkg upload linux-$NEW.tar.bz2 - cvs add linux-$NEW.tar.bz2.sign - - bumpspecfile.py kernel.spec "- $NEW" - make clog - echo FIXME! Fix up fedora_cvs_origin - make verrel exit 1 fi if [ "$OLDRC" != "$NEWRC" ]; then echo "Different rc. Rebasing from $OLDRC to $NEWRC" perl -p -i -e 's/^%define\ rcrev.*/\%define\ rcrev\ $ENV{"NEWRC"}/' kernel.spec - perl -p -i -e 's/$ENV{OLDBASE}-rc$ENV{OLDRC}.bz2/$ENV{NEWBASE}-rc$ENV{NEWRC}.bz2/' .cvsignore - perl -p -i -e 's/$ENV{OLDBASE}-rc$ENV{OLDRC}.bz2/$ENV{NEWBASE}-rc$ENV{NEWRC}.bz2/' upstream + perl -p -i -e 's/$ENV{OLDBASE}-rc$ENV{OLDRC}.bz2/$ENV{NEWBASE}-rc$ENV{NEWRC}.bz2/' .gitignore grep -v patch-2.6.$OLDBASE-rc$OLDRC.bz2 sources > .sources.tmp; mv .sources.tmp sources - grep -v patch-2.6.$OLDBASE-rc$OLDRC-git$OLDGIT.bz2 .cvsignore >.cvsignore.tmp ; mv .cvsignore.tmp .cvsignore - if [ `grep -c patch-2.6.$NEWBASE-rc$NEWRC.bz2 upstream` -eq 0 ]; then - echo patch-2.6.$NEWBASE-rc$NEWRC.bz2 >> .cvsignore - echo patch-2.6.$NEWBASE-rc$NEWRC.bz2 >> upstream + grep -v patch-2.6.$OLDBASE-rc$OLDRC-git$OLDGIT.bz2 .gitignore >.gitignore.tmp ; mv .gitignore.tmp .gitignore + if [ `grep -c patch-2.6.$NEWBASE-rc$NEWRC.bz2 sources` -eq 0 ]; then + echo patch-2.6.$NEWBASE-rc$NEWRC.bz2 >> .gitignore fi rm -f patch-2.6.$OLDBASE-rc$OLDRC.bz2 - rm -f patch-2.6.$OLDBASE-rc$OLDRC.bz2.sign - cvs remove patch-2.6.$OLDBASE-rc$OLDRC.bz2.sign - make download - make upload FILES=patch-2.6.$NEWBASE-rc$NEWRC.bz2 - cvs add patch-2.6.$NEWBASE-rc$NEWRC.bz2.sign + + curl -O $KORG26TESTING/patch-2.6.$NEWBASE-rc$NEWRC.bz2 + fedpkg upload FILES=patch-2.6.$NEWBASE-rc$NEWRC.bz2 # Another awkward (albeit unlikely) corner case. # Moving from say 26-rc3-git1 to 26-rc4-git1 @@ -167,32 +152,27 @@ if [ "$OLDGIT" != "$NEWGIT" ]; then perl -p -i -e 's/^%define\ gitrev.*/\%define\ gitrev\ $ENV{"NEWGIT"}/' kernel.spec if [ "$OLDGIT" -ne 0 ]; then if [ "$NEWGIT" -ne 0 ]; then - perl -p -i -e 's/$ENV{OLD}/$ENV{NEW}/' .cvsignore - perl -p -i -e 's/$ENV{OLD}/$ENV{NEW}/' upstream + perl -p -i -e 's/$ENV{OLD}/$ENV{NEW}/' .gitignore fi grep -v patch-$OLD.bz2 sources > .sources.tmp; mv .sources.tmp sources - grep -v patch-$OLD.bz2 upstream > .upstream.tmp; mv .upstream.tmp upstream else - echo patch-$NEW.bz2 >> .cvsignore - echo patch-$NEW.bz2 >> upstream + echo patch-$NEW.bz2 >> .gitignore fi - make download - make upload FILES=patch-$NEW.bz2 + if [ "$NEWGIT" -ne 0 ]; then + curl -O $KORG26SNAPS/patch-$NEW.bz2 + fi + fedpkg upload patch-$NEW.bz2 - cvs add patch-$NEW.bz2.sign if [ "$OLDGIT" -ne 0 ]; then rm -f patch-$OLD.bz2 - rm -f patch-$OLD.bz2.sign - cvs remove patch-$OLD.bz2.sign fi fi if [ "$OLDRC" != "$NEWRC" -o "$OLDGIT" != "$NEWGIT" ]; then perl -p -i -e 's|^ApplyPatch\ git-linus.diff|#ApplyPatch\ git-linus.diff|' kernel.spec > git-linus.diff - bumpspecfile.py kernel.spec "- $NEW" - make clog + fedpkg clog exit 1 else exit 0 diff --git a/freed-ora/current/master/sources b/freed-ora/current/master/sources index 46741dc56..bc34d6106 100644 --- a/freed-ora/current/master/sources +++ b/freed-ora/current/master/sources @@ -1,3 +1 @@ -3e80c55a0927b4439f3aad4f973f05cc linux-2.6.37-libre.tar.bz2 -35ff89b92aa6b26ff9dd982ca0beb86b patch-libre-2.6.38-rc6.bz2 -3ddbe38f2ca6ae526dd0017fafdf846a patch-2.6.38-rc6-git2.bz2 +21911d61ac22d66e71697a3d5ae092ba linux-2.6.38-libre.tar.bz2 diff --git a/freed-ora/current/master/sparc64_fix_build_errors_with_gcc460.patch b/freed-ora/current/master/sparc64_fix_build_errors_with_gcc460.patch new file mode 100644 index 000000000..807032c83 --- /dev/null +++ b/freed-ora/current/master/sparc64_fix_build_errors_with_gcc460.patch @@ -0,0 +1,305 @@ +From dbb988cf34a62e69c8863f212be212c6841004ba Mon Sep 17 00:00:00 2001 +From: David S. Miller <davem@davemloft.net> +Date: Sat, 26 Feb 2011 23:40:02 -0800 +Subject: [PATCH] sparc64: Fix build errors with gcc-4.6.0 + +Most of the warnings emitted (we fail arch/sparc file +builds with -Werror) were legitimate but harmless, however +one case (n2_pcr_write) was a genuine bug. + +Based almost entirely upon a patch by Sam Ravnborg. + +Reported-by: Dennis Gilmore <dennis@ausil.us> +Signed-off-by: David S. Miller <davem@davemloft.net> +--- + arch/sparc/kernel/iommu.c | 3 --- + arch/sparc/kernel/ldc.c | 28 ++++++++++++++++++---------- + arch/sparc/kernel/pci.c | 1 + + arch/sparc/kernel/pci_common.c | 11 +++++++---- + arch/sparc/kernel/pci_fire.c | 2 -- + arch/sparc/kernel/pci_schizo.c | 4 +--- + arch/sparc/kernel/pci_sun4v.c | 3 +-- + arch/sparc/kernel/pcr.c | 2 +- + arch/sparc/kernel/ptrace_64.c | 3 ++- + arch/sparc/kernel/smp_64.c | 11 ++++------- + arch/sparc/kernel/traps_64.c | 3 +-- + 11 files changed, 36 insertions(+), 35 deletions(-) + +diff --git a/arch/sparc/kernel/iommu.c b/arch/sparc/kernel/iommu.c +index 72509d0..6f01e8c 100644 +--- a/arch/sparc/kernel/iommu.c ++++ b/arch/sparc/kernel/iommu.c +@@ -333,13 +333,10 @@ static void dma_4u_free_coherent(struct device *dev, size_t size, + void *cpu, dma_addr_t dvma) + { + struct iommu *iommu; +- iopte_t *iopte; + unsigned long flags, order, npages; + + npages = IO_PAGE_ALIGN(size) >> IO_PAGE_SHIFT; + iommu = dev->archdata.iommu; +- iopte = iommu->page_table + +- ((dvma - iommu->page_table_map_base) >> IO_PAGE_SHIFT); + + spin_lock_irqsave(&iommu->lock, flags); + +diff --git a/arch/sparc/kernel/ldc.c b/arch/sparc/kernel/ldc.c +index df39a0f..732b0bc 100644 +--- a/arch/sparc/kernel/ldc.c ++++ b/arch/sparc/kernel/ldc.c +@@ -790,16 +790,20 @@ static void send_events(struct ldc_channel *lp, unsigned int event_mask) + static irqreturn_t ldc_rx(int irq, void *dev_id) + { + struct ldc_channel *lp = dev_id; +- unsigned long orig_state, hv_err, flags; ++ unsigned long orig_state, flags; + unsigned int event_mask; + + spin_lock_irqsave(&lp->lock, flags); + + orig_state = lp->chan_state; +- hv_err = sun4v_ldc_rx_get_state(lp->id, +- &lp->rx_head, +- &lp->rx_tail, +- &lp->chan_state); ++ ++ /* We should probably check for hypervisor errors here and ++ * reset the LDC channel if we get one. ++ */ ++ sun4v_ldc_rx_get_state(lp->id, ++ &lp->rx_head, ++ &lp->rx_tail, ++ &lp->chan_state); + + ldcdbg(RX, "RX state[0x%02lx:0x%02lx] head[0x%04lx] tail[0x%04lx]\n", + orig_state, lp->chan_state, lp->rx_head, lp->rx_tail); +@@ -904,16 +908,20 @@ out: + static irqreturn_t ldc_tx(int irq, void *dev_id) + { + struct ldc_channel *lp = dev_id; +- unsigned long flags, hv_err, orig_state; ++ unsigned long flags, orig_state; + unsigned int event_mask = 0; + + spin_lock_irqsave(&lp->lock, flags); + + orig_state = lp->chan_state; +- hv_err = sun4v_ldc_tx_get_state(lp->id, +- &lp->tx_head, +- &lp->tx_tail, +- &lp->chan_state); ++ ++ /* We should probably check for hypervisor errors here and ++ * reset the LDC channel if we get one. ++ */ ++ sun4v_ldc_tx_get_state(lp->id, ++ &lp->tx_head, ++ &lp->tx_tail, ++ &lp->chan_state); + + ldcdbg(TX, " TX state[0x%02lx:0x%02lx] head[0x%04lx] tail[0x%04lx]\n", + orig_state, lp->chan_state, lp->tx_head, lp->tx_tail); +diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c +index 4137579..f255382 100644 +--- a/arch/sparc/kernel/pci.c ++++ b/arch/sparc/kernel/pci.c +@@ -675,6 +675,7 @@ static void __devinit pci_bus_register_of_sysfs(struct pci_bus *bus) + * humanoid. + */ + err = sysfs_create_file(&dev->dev.kobj, &dev_attr_obppath.attr); ++ (void) err; + } + list_for_each_entry(child_bus, &bus->children, node) + pci_bus_register_of_sysfs(child_bus); +diff --git a/arch/sparc/kernel/pci_common.c b/arch/sparc/kernel/pci_common.c +index 6c7a33a..6e3874b 100644 +--- a/arch/sparc/kernel/pci_common.c ++++ b/arch/sparc/kernel/pci_common.c +@@ -295,14 +295,17 @@ static int sun4v_write_pci_cfg(struct pci_bus *bus_dev, unsigned int devfn, + unsigned int bus = bus_dev->number; + unsigned int device = PCI_SLOT(devfn); + unsigned int func = PCI_FUNC(devfn); +- unsigned long ret; + + if (config_out_of_range(pbm, bus, devfn, where)) { + /* Do nothing. */ + } else { +- ret = pci_sun4v_config_put(devhandle, +- HV_PCI_DEVICE_BUILD(bus, device, func), +- where, size, value); ++ /* We don't check for hypervisor errors here, but perhaps ++ * we should and influence our return value depending upon ++ * what kind of error is thrown. ++ */ ++ pci_sun4v_config_put(devhandle, ++ HV_PCI_DEVICE_BUILD(bus, device, func), ++ where, size, value); + } + return PCIBIOS_SUCCESSFUL; + } +diff --git a/arch/sparc/kernel/pci_fire.c b/arch/sparc/kernel/pci_fire.c +index efb896d..75dfeb6 100644 +--- a/arch/sparc/kernel/pci_fire.c ++++ b/arch/sparc/kernel/pci_fire.c +@@ -214,11 +214,9 @@ static int pci_fire_msi_setup(struct pci_pbm_info *pbm, unsigned long msiqid, + + static int pci_fire_msi_teardown(struct pci_pbm_info *pbm, unsigned long msi) + { +- unsigned long msiqid; + u64 val; + + val = upa_readq(pbm->pbm_regs + MSI_MAP(msi)); +- msiqid = (val & MSI_MAP_EQNUM); + + val &= ~MSI_MAP_VALID; + +diff --git a/arch/sparc/kernel/pci_schizo.c b/arch/sparc/kernel/pci_schizo.c +index 445a47a..4620eb7 100644 +--- a/arch/sparc/kernel/pci_schizo.c ++++ b/arch/sparc/kernel/pci_schizo.c +@@ -1313,7 +1313,7 @@ static int __devinit schizo_pbm_init(struct pci_pbm_info *pbm, + const struct linux_prom64_registers *regs; + struct device_node *dp = op->dev.of_node; + const char *chipset_name; +- int is_pbm_a, err; ++ int err; + + switch (chip_type) { + case PBM_CHIP_TYPE_TOMATILLO: +@@ -1343,8 +1343,6 @@ static int __devinit schizo_pbm_init(struct pci_pbm_info *pbm, + */ + regs = of_get_property(dp, "reg", NULL); + +- is_pbm_a = ((regs[0].phys_addr & 0x00700000) == 0x00600000); +- + pbm->next = pci_pbm_root; + pci_pbm_root = pbm; + +diff --git a/arch/sparc/kernel/pci_sun4v.c b/arch/sparc/kernel/pci_sun4v.c +index 743344a..859abfd 100644 +--- a/arch/sparc/kernel/pci_sun4v.c ++++ b/arch/sparc/kernel/pci_sun4v.c +@@ -580,7 +580,7 @@ static int __devinit pci_sun4v_iommu_init(struct pci_pbm_info *pbm) + { + static const u32 vdma_default[] = { 0x80000000, 0x80000000 }; + struct iommu *iommu = pbm->iommu; +- unsigned long num_tsb_entries, sz, tsbsize; ++ unsigned long num_tsb_entries, sz; + u32 dma_mask, dma_offset; + const u32 *vdma; + +@@ -596,7 +596,6 @@ static int __devinit pci_sun4v_iommu_init(struct pci_pbm_info *pbm) + + dma_mask = (roundup_pow_of_two(vdma[1]) - 1UL); + num_tsb_entries = vdma[1] / IO_PAGE_SIZE; +- tsbsize = num_tsb_entries * sizeof(iopte_t); + + dma_offset = vdma[0]; + +diff --git a/arch/sparc/kernel/pcr.c b/arch/sparc/kernel/pcr.c +index 7c2ced6..8ac23e6 100644 +--- a/arch/sparc/kernel/pcr.c ++++ b/arch/sparc/kernel/pcr.c +@@ -81,7 +81,7 @@ static void n2_pcr_write(u64 val) + unsigned long ret; + + ret = sun4v_niagara2_setperf(HV_N2_PERF_SPARC_CTL, val); +- if (val != HV_EOK) ++ if (ret != HV_EOK) + write_pcr(val); + } + +diff --git a/arch/sparc/kernel/ptrace_64.c b/arch/sparc/kernel/ptrace_64.c +index 9ccc812..96ee50a 100644 +--- a/arch/sparc/kernel/ptrace_64.c ++++ b/arch/sparc/kernel/ptrace_64.c +@@ -1086,6 +1086,7 @@ asmlinkage int syscall_trace_enter(struct pt_regs *regs) + + asmlinkage void syscall_trace_leave(struct pt_regs *regs) + { ++#ifdef CONFIG_AUDITSYSCALL + if (unlikely(current->audit_context)) { + unsigned long tstate = regs->tstate; + int result = AUDITSC_SUCCESS; +@@ -1095,7 +1096,7 @@ asmlinkage void syscall_trace_leave(struct pt_regs *regs) + + audit_syscall_exit(result, regs->u_regs[UREG_I0]); + } +- ++#endif + if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT))) + trace_sys_exit(regs, regs->u_regs[UREG_G1]); + +diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c +index 555a76d..3e94a8c 100644 +--- a/arch/sparc/kernel/smp_64.c ++++ b/arch/sparc/kernel/smp_64.c +@@ -189,7 +189,7 @@ static inline long get_delta (long *rt, long *master) + void smp_synchronize_tick_client(void) + { + long i, delta, adj, adjust_latency = 0, done = 0; +- unsigned long flags, rt, master_time_stamp, bound; ++ unsigned long flags, rt, master_time_stamp; + #if DEBUG_TICK_SYNC + struct { + long rt; /* roundtrip time */ +@@ -208,10 +208,8 @@ void smp_synchronize_tick_client(void) + { + for (i = 0; i < NUM_ROUNDS; i++) { + delta = get_delta(&rt, &master_time_stamp); +- if (delta == 0) { ++ if (delta == 0) + done = 1; /* let's lock on to this... */ +- bound = rt; +- } + + if (!done) { + if (i > 0) { +@@ -933,13 +931,12 @@ void smp_flush_dcache_page_impl(struct page *page, int cpu) + void flush_dcache_page_all(struct mm_struct *mm, struct page *page) + { + void *pg_addr; +- int this_cpu; + u64 data0; + + if (tlb_type == hypervisor) + return; + +- this_cpu = get_cpu(); ++ preempt_disable(); + + #ifdef CONFIG_DEBUG_DCFLUSH + atomic_inc(&dcpage_flushes); +@@ -964,7 +961,7 @@ void flush_dcache_page_all(struct mm_struct *mm, struct page *page) + } + __local_flush_dcache_page(page); + +- put_cpu(); ++ preempt_enable(); + } + + void __irq_entry smp_new_mmu_context_version_client(int irq, struct pt_regs *regs) +diff --git a/arch/sparc/kernel/traps_64.c b/arch/sparc/kernel/traps_64.c +index 42ad2ba..9456472 100644 +--- a/arch/sparc/kernel/traps_64.c ++++ b/arch/sparc/kernel/traps_64.c +@@ -2152,7 +2152,7 @@ static void user_instruction_dump(unsigned int __user *pc) + + void show_stack(struct task_struct *tsk, unsigned long *_ksp) + { +- unsigned long fp, thread_base, ksp; ++ unsigned long fp, ksp; + struct thread_info *tp; + int count = 0; + #ifdef CONFIG_FUNCTION_GRAPH_TRACER +@@ -2173,7 +2173,6 @@ void show_stack(struct task_struct *tsk, unsigned long *_ksp) + flushw_all(); + + fp = ksp + STACK_BIAS; +- thread_base = (unsigned long) tp; + + printk("Call Trace:\n"); + do { +-- +1.7.4.1 + |