kernel-rt/filter-modules.sh.fedora
Juri Lelli c01a35a13c kernel-rt-5.14.0-0.rc7.54.rt13.5
* Wed Aug 25 2021 Juri Lelli <juri.lelli@redhat.com> [5.14.0-0.rc7.54.rt13.5]
- kernel-5.14.0-0.rc7.54.el9 rebase
- redhat: Change gating configuration for RT kernel (Juri Lelli)
- config: disable KASAN for kernel-rt-debug kernels (Luis Claudio R. Goncalves) [1977862]
- redhat: Add realtime-setup dependecy for kernel-rt metapackage (Juri Lelli) [1937013]
- spec: Generate separate kernel-rt-kvm packages (Juri Lelli)
- Add RT config options (Juri Lelli)
- specfile: Add with_realtime (Juri Lelli)
- RTize build scripts (Juri Lelli)
- Add localversion for -RT release (Thomas Gleixner)
- POWERPC: Allow to enable RT (Sebastian Andrzej Siewior)
- powerpc/stackprotector: work around stack-guard init from atomic (Sebastian Andrzej Siewior)
- powerpc/kvm: Disable in-kernel MPIC emulation for PREEMPT_RT (Bogdan Purcareata)
- powerpc/pseries/iommu: Use a locallock instead local_irq_save() (Sebastian Andrzej Siewior)
- powerpc: traps: Use PREEMPT_RT (Sebastian Andrzej Siewior)
- ARM64: Allow to enable RT (Sebastian Andrzej Siewior)
- ARM: Allow to enable RT (Sebastian Andrzej Siewior)
- arm64/sve: Make kernel FPU protection RT friendly (Sebastian Andrzej Siewior)
- arm64/sve: Delay freeing memory in fpsimd_flush_thread() (Sebastian Andrzej Siewior)
- KVM: arm/arm64: downgrade preempt_disable()d region to migrate_disable() (Josh Cartwright)
- ARM: enable irq in translation/section permission fault handlers (Yadi.hu)
- arch/arm64: Add lazy preempt support (Anders Roxell)
- powerpc: Add support for lazy preemption (Thomas Gleixner)
- arm: Add support for lazy preemption (Thomas Gleixner)
- entry: Fix the preempt lazy fallout (Thomas Gleixner)
- x86: Support for lazy preemption (Thomas Gleixner)
- x86/entry: Use should_resched() in idtentry_exit_cond_resched() (Sebastian Andrzej Siewior)
- sched: Add support for lazy preemption (Thomas Gleixner)
- x86: Enable RT also on 32bit (Sebastian Andrzej Siewior)
- x86: Allow to enable RT (Sebastian Andrzej Siewior)
- x86: kvm Require const tsc for RT (Thomas Gleixner)
- signal/x86: Delay calling signals in atomic (Oleg Nesterov)
- sysfs: Add /sys/kernel/realtime entry (Clark Williams)
- tpm_tis: fix stall after iowrite*()s (Haris Okanovic)
- tty/serial/pl011: Make the locking work on RT (Thomas Gleixner)
- tty/serial/omap: Make the locking RT aware (Thomas Gleixner)
- drm/i915/gt: Only disable interrupts for the timeline lock on !force-threaded (Sebastian Andrzej Siewior)
- drm/i915: skip DRM_I915_LOW_LEVEL_TRACEPOINTS with NOTRACE (Sebastian Andrzej Siewior)
- drm/i915: disable tracing on -RT (Sebastian Andrzej Siewior)
- drm/i915: Don't disable interrupts on PREEMPT_RT during atomic updates (Mike Galbraith)
- drm,radeon,i915: Use preempt_disable/enable_rt() where recommended (Mike Galbraith)
- random: Make it work on rt (Thomas Gleixner)
- x86: stackprotector: Avoid random pool on rt (Thomas Gleixner)
- panic: skip get_random_bytes for RT_FULL in init_oops_id (Thomas Gleixner)
- crypto: testmgr - Only disable migration in crypto_disable_simd_for_test() (Sebastian Andrzej Siewior)
- crypto: cryptd - add a lock instead preempt_disable/local_bh_disable (Sebastian Andrzej Siewior)
- crypto: limit more FPU-enabled sections (Sebastian Andrzej Siewior)
- scsi/fcoe: Make RT aware. (Thomas Gleixner)
- md: raid5: Make raid5_percpu handling RT aware (Thomas Gleixner)
- drivers/block/zram: Replace bit spinlocks with rtmutex for -rt (Mike Galbraith)
- block/mq: do not invoke preempt_disable() (Sebastian Andrzej Siewior)
- net: Remove preemption disabling in netif_rx() (Priyanka Jain)
- net: dev: always take qdisc's busylock in __dev_xmit_skb() (Sebastian Andrzej Siewior)
- net: Dequeue in dev_cpu_dead() without the lock (Sebastian Andrzej Siewior)
- net: Use skbufhead with raw lock (Thomas Gleixner)
- sunrpc: Make svc_xprt_do_enqueue() use get_cpu_light() (Mike Galbraith)
- net/core: use local_bh_disable() in netif_rx_ni() (Sebastian Andrzej Siewior)
- net: Properly annotate the try-lock for the seqlock (Sebastian Andrzej Siewior)
- net/Qdisc: use a seqlock instead seqcount (Sebastian Andrzej Siewior)
- rcutorture: Avoid problematic critical section nesting on PREEMPT_RT (From: Scott Wood)
- rcu: Delay RCU-selftests (Sebastian Andrzej Siewior)
- fs: namespace: Use cpu_chill() in trylock loops (Thomas Gleixner)
- rt: Introduce cpu_chill() (Thomas Gleixner)
- fs/dcache: disable preemption on i_dir_seq's write side (Sebastian Andrzej Siewior)
- fs/dcache: use swait_queue instead of waitqueue (Sebastian Andrzej Siewior)
- ptrace: fix ptrace vs tasklist_lock race (Sebastian Andrzej Siewior)
- signal: Revert ptrace preempt magic (Thomas Gleixner)
- mm/memcontrol: Disable on PREEMPT_RT (Thomas Gleixner)
- mm/scatterlist: Do not disable irqs on RT (Thomas Gleixner)
- mm/vmalloc: Another preempt disable region which sucks (Thomas Gleixner)
- mm/zsmalloc: copy with get_cpu_var() and locking (Mike Galbraith)
- u64_stats: Disable preemption on 32bit-UP/SMP with RT during updates (Sebastian Andrzej Siewior)
- mm/vmstat: Protect per cpu variables with preempt disable on RT (Ingo Molnar)
- mm: page_alloc: Use migrate_disable() in drain_local_pages_wq() (Sebastian Andrzej Siewior)
- irqwork: push most work into softirq context (Sebastian Andrzej Siewior)
- softirq: Disable softirq stacks for RT (Thomas Gleixner)
- softirq: Check preemption after reenabling interrupts (Thomas Gleixner)
- cpuset: Convert callback_lock to raw_spinlock_t (Mike Galbraith)
- sched: Disable TTWU_QUEUE on RT (Thomas Gleixner)
- sched: Do not account rcu_preempt_depth on RT in might_sleep() (Thomas Gleixner)
- kernel/sched: move stack + kprobe clean up to __put_task_struct() (Sebastian Andrzej Siewior)
- sched: Move mmdrop to RCU on RT (Thomas Gleixner)
- sched: Limit the number of task migrations per batch (Thomas Gleixner)
- kernel/sched: add {put|get}_cpu_light() (Sebastian Andrzej Siewior)
- preempt: Provide preempt_*_(no)rt variants (Thomas Gleixner)
- locking: Allow to include asm/spinlock_types.h from linux/spinlock_types_raw.h (Sebastian Andrzej Siewior)
- lockdep/selftests: Adapt ww-tests for PREEMPT_RT (Sebastian Andrzej Siewior)
- lockdep/selftests: Skip the softirq related tests on PREEMPT_RT (Sebastian Andrzej Siewior)
- lockdep/selftests: Unbalanced migrate_disable() & rcu_read_lock() (Sebastian Andrzej Siewior)
- lockdep/selftests: Add rtmutex to the last column (Sebastian Andrzej Siewior)
- lockdep: Make it RT aware (Thomas Gleixner)
- rtmutex: Add rt_mutex_lock_nest_lock() and rt_mutex_lock_killable(). (Sebastian Andrzej Siewior)
- rtmutex: Add a special case for ww-mutex handling. (Sebastian Andrzej Siewior)
- sched: Trigger warning if ->migration_disabled counter underflows. (Sebastian Andrzej Siewior)
- lockdep/selftests: Avoid using local_lock_{acquire|release}(). (Sebastian Andrzej Siewior)
- locking/ww_mutex: Initialize waiter.ww_ctx properly (Sebastian Andrzej Siewior)
- locking/local_lock: Add PREEMPT_RT support (Thomas Gleixner)
- locking/spinlock/rt: Prepare for RT local_lock (Thomas Gleixner)
- locking/rtmutex: Add adaptive spinwait mechanism (Steven Rostedt)
- locking/rtmutex: Implement equal priority lock stealing (Gregory Haskins)
- preempt: Adjust PREEMPT_LOCK_OFFSET for RT (Thomas Gleixner)
- locking/rtmutex: Prevent lockdep false positive with PI futexes (Thomas Gleixner)
- futex: Prevent requeue_pi() lock nesting issue on RT (Thomas Gleixner)
- futex: Simplify handle_early_requeue_pi_wakeup() (Thomas Gleixner)
- futex: Reorder sanity checks in futex_requeue() (Thomas Gleixner)
- futex: Clarify comment in futex_requeue() (Thomas Gleixner)
- futex: Restructure futex_requeue() (Thomas Gleixner)
- futex: Correct the number of requeued waiters for PI (Thomas Gleixner)
- futex: Remove bogus condition for requeue PI (Thomas Gleixner)
- futex: Clarify futex_requeue() PI handling (Thomas Gleixner)
- futex: Clean up stale comments (Thomas Gleixner)
- futex: Validate waiter correctly in futex_proxy_trylock_atomic() (Thomas Gleixner)
- lib/test_lockup: Adapt to changed variables (Sebastian Andrzej Siewior)
- locking/rtmutex: Add mutex variant for RT (Thomas Gleixner)
- locking/ww_mutex: Implement rtmutex based ww_mutex API functions (Peter Zijlstra)
- locking/rtmutex: Extend the rtmutex core to support ww_mutex (Peter Zijlstra)
- locking/ww_mutex: Add rt_mutex based lock type and accessors (Peter Zijlstra)
- locking/ww_mutex: Add RT priority to W/W order (Peter Zijlstra)
- locking/ww_mutex: Implement rt_mutex accessors (Peter Zijlstra)
- locking/ww_mutex: Abstract out internal lock accesses (Thomas Gleixner)
- locking/ww_mutex: Abstract out mutex types (Peter Zijlstra)
- locking/ww_mutex: Abstract out mutex accessors (Peter Zijlstra)
- locking/ww_mutex: Abstract out waiter enqueueing (Peter Zijlstra)
- locking/ww_mutex: Abstract out the waiter iteration (Peter Zijlstra)
- locking/ww_mutex: Remove the __sched annotation from ww_mutex APIs (Peter Zijlstra)
- locking/ww_mutex: Split out the W/W implementation logic into kernel/locking/ww_mutex.h (Peter Zijlstra (Intel))
- locking/ww_mutex: Split up ww_mutex_unlock() (Peter Zijlstra (Intel))
- locking/ww_mutex: Gather mutex_waiter initialization (Peter Zijlstra)
- locking/ww_mutex: Simplify lockdep annotations (Peter Zijlstra)
- locking/mutex: Make mutex::wait_lock raw (Thomas Gleixner)
- locking/ww_mutex: Move the ww_mutex definitions from <linux/mutex.h> into <linux/ww_mutex.h> (Thomas Gleixner)
- locking/mutex: Move the 'struct mutex_waiter' definition from <linux/mutex.h> to the internal header (Thomas Gleixner)
- locking/mutex: Consolidate core headers, remove kernel/locking/mutex-debug.h (Thomas Gleixner)
- locking/rtmutex: Squash !RT tasks to DEFAULT_PRIO (Peter Zijlstra)
- locking/rwlock: Provide RT variant (Thomas Gleixner)
- locking/spinlock: Provide RT variant (Thomas Gleixner)
- locking/rtmutex: Provide the spin/rwlock core lock function (Thomas Gleixner)
- locking/spinlock: Provide RT variant header: <linux/spinlock_rt.h> (Thomas Gleixner)
- locking/spinlock: Provide RT specific spinlock_t (Thomas Gleixner)
- locking/rtmutex: Reduce <linux/rtmutex.h> header dependencies, only include <linux/rbtree_types.h> (Sebastian Andrzej Siewior)
- rbtree: Split out the rbtree type definitions into <linux/rbtree_types.h> (Sebastian Andrzej Siewior)
- locking/lockdep: Reduce header dependencies in <linux/debug_locks.h> (Sebastian Andrzej Siewior)
- locking/rtmutex: Prevent future include recursion hell (Sebastian Andrzej Siewior)
- locking/spinlock: Split the lock types header, and move the raw types into <linux/spinlock_types_raw.h> (Thomas Gleixner)
- locking/rtmutex: Guard regular sleeping locks specific functions (Thomas Gleixner)
- locking/rtmutex: Prepare RT rt_mutex_wake_q for RT locks (Thomas Gleixner)
- locking/rtmutex: Use rt_mutex_wake_q_head (Thomas Gleixner)
- locking/rtmutex: Provide rt_wake_q_head and helpers (Thomas Gleixner)
- locking/rtmutex: Add wake_state to rt_mutex_waiter (Thomas Gleixner)
- locking/rwsem: Add rtmutex based R/W semaphore implementation (Thomas Gleixner)
- locking/rt: Add base code for RT rw_semaphore and rwlock (Thomas Gleixner)
- locking/rtmutex: Provide rt_mutex_base_is_locked() (Thomas Gleixner)
- locking/rtmutex: Provide rt_mutex_slowlock_locked() (Thomas Gleixner)
- locking/rtmutex: Split out the inner parts of 'struct rtmutex' (Peter Zijlstra)
- locking/rtmutex: Split API from implementation (Thomas Gleixner)
- locking/rtmutex: Switch to from cmpxchg_*() to try_cmpxchg_*() (Thomas Gleixner)
- locking/rtmutex: Convert macros to inlines (Sebastian Andrzej Siewior)
- locking/rtmutex: Remove rt_mutex_is_locked() (Peter Zijlstra)
- media/atomisp: Use lockdep instead of *mutex_is_locked() (Peter Zijlstra)
- sched/wake_q: Provide WAKE_Q_HEAD_INITIALIZER() (Thomas Gleixner)
- sched/core: Provide a scheduling point for RT locks (Thomas Gleixner)
- sched/core: Rework the __schedule() preempt argument (Thomas Gleixner)
- sched/wakeup: Prepare for RT sleeping spin/rwlocks (Thomas Gleixner)
- sched/wakeup: Reorganize the current::__state helpers (Thomas Gleixner)
- sched/wakeup: Introduce the TASK_RTLOCK_WAIT state bit (Thomas Gleixner)
- sched/wakeup: Split out the wakeup ->__state check (Thomas Gleixner)
- locking/rtmutex: Set proper wait context for lockdep (Thomas Gleixner)
- locking/local_lock: Add missing owner initialization (Thomas Gleixner)
- debugobjects: Make RT aware (Thomas Gleixner)
- trace: Add migrate-disabled counter to tracing output (Thomas Gleixner)
- pid.h: include atomic.h (Grygorii Strashko)
- wait.h: include atomic.h (Sebastian Andrzej Siewior)
- efi: Allow efi=runtime (Sebastian Andrzej Siewior)
- efi: Disable runtime services on RT (Sebastian Andrzej Siewior)
- net/core: disable NET_RX_BUSY_POLL on RT (Sebastian Andrzej Siewior)
- sched: Disable CONFIG_RT_GROUP_SCHED on RT (Thomas Gleixner)
- mm: Allow only SLUB on RT (Ingo Molnar)
- kconfig: Disable config options which are not RT compatible (Thomas Gleixner)
- leds: trigger: disable CPU trigger on -RT (Sebastian Andrzej Siewior)
- jump-label: disable if stop_machine() is used (Thomas Gleixner)
- genirq: Disable irqpoll on -rt (Ingo Molnar)
- io-wq: Don't mix raw_spinlock_irq() & spin_lock_irq(). (Sebastian Andrzej Siewior)
- io-wq: remove GFP_ATOMIC allocation off schedule out path (Jens Axboe)
- genirq: update irq_set_irqchip_state documentation (Josh Cartwright)
- smp: Wake ksoftirqd on PREEMPT_RT instead do_softirq(). (Sebastian Andrzej Siewior)
- samples/kfifo: Rename read_lock/write_lock (Sebastian Andrzej Siewior)
- tcp: Remove superfluous BH-disable around listening_hash (Sebastian Andrzej Siewior)
- net: Move lockdep where it belongs (Thomas Gleixner)
- shmem: Use raw_spinlock_t for ->stat_lock (Sebastian Andrzej Siewior)
- mm: workingset: replace IRQ-off check with a lockdep assert. (Sebastian Andrzej Siewior)
- cgroup: use irqsave in cgroup_rstat_flush_locked() (Sebastian Andrzej Siewior)
- genirq: Move prio assignment into the newly created thread (Thomas Gleixner)
- kthread: Move prio/affinite change into the newly created thread (Sebastian Andrzej Siewior)
- highmem: Don't disable preemption on RT in kmap_atomic() (Sebastian Andrzej Siewior)
- mm, slub: convert kmem_cpu_slab protection to local_lock (Vlastimil Babka)
- mm, slub: use migrate_disable() on PREEMPT_RT (Vlastimil Babka)
- mm, slub: protect put_cpu_partial() with disabled irqs instead of cmpxchg (Vlastimil Babka)
- mm, slub: make slab_lock() disable irqs with PREEMPT_RT (Vlastimil Babka)
- mm, slub: optionally save/restore irqs in slab_[un]lock()/ (Vlastimil Babka)
- mm: slub: Make object_map_lock a raw_spinlock_t (Sebastian Andrzej Siewior)
- mm: slub: Move flush_cpu_slab() invocations __free_slab() invocations out of IRQ context (Sebastian Andrzej Siewior)
- mm, slab: make flush_slab() possible to call with irqs enabled (Vlastimil Babka)
- mm, slub: don't disable irqs in slub_cpu_dead() (Vlastimil Babka)
- mm, slub: only disable irq with spin_lock in __unfreeze_partials() (Vlastimil Babka)
- mm, slub: separate detaching of partial list in unfreeze_partials() from unfreezing (Vlastimil Babka)
- mm, slub: detach whole partial list at once in unfreeze_partials() (Vlastimil Babka)
- mm, slub: discard slabs in unfreeze_partials() without irqs disabled (Vlastimil Babka)
- mm, slub: move irq control into unfreeze_partials() (Vlastimil Babka)
- mm, slub: call deactivate_slab() without disabling irqs (Vlastimil Babka)
- mm, slub: make locking in deactivate_slab() irq-safe (Vlastimil Babka)
- mm, slub: move reset of c->page and freelist out of deactivate_slab() (Vlastimil Babka)
- mm, slub: stop disabling irqs around get_partial() (Vlastimil Babka)
- mm, slub: check new pages with restored irqs (Vlastimil Babka)
- mm, slub: validate slab from partial list or page allocator before making it cpu slab (Vlastimil Babka)
- mm, slub: restore irqs around calling new_slab() (Vlastimil Babka)
- mm, slub: move disabling irqs closer to get_partial() in ___slab_alloc() (Vlastimil Babka)
- mm, slub: do initial checks in ___slab_alloc() with irqs enabled (Vlastimil Babka)
- mm, slub: move disabling/enabling irqs to ___slab_alloc() (Vlastimil Babka)
- mm, slub: simplify kmem_cache_cpu and tid setup (Vlastimil Babka)
- mm, slub: restructure new page checks in ___slab_alloc() (Vlastimil Babka)
- mm, slub: return slab page from get_partial() and set c->page afterwards (Vlastimil Babka)
- mm, slub: dissolve new_slab_objects() into ___slab_alloc() (Vlastimil Babka)
- mm, slub: extract get_partial() from new_slab_objects() (Vlastimil Babka)
- mm, slub: unify cmpxchg_double_slab() and __cmpxchg_double_slab() (Vlastimil Babka)
- mm, slub: remove redundant unfreeze_partials() from put_cpu_partial() (Vlastimil Babka)
- mm, slub: don't disable irq for debug_check_no_locks_freed() (Vlastimil Babka)
- mm, slub: allocate private object map for validate_slab_cache() (Vlastimil Babka)
- mm, slub: allocate private object map for debugfs listings (Vlastimil Babka)
- mm, slub: don't call flush_all() from slab_debug_trace_open() (Vlastimil Babka)
- printk: Enhance the condition check of msleep in pr_flush() (Chao Qin)
- printk: add pr_flush() (John Ogness)
- printk: add console handover (John Ogness)
- printk: remove deferred printing (John Ogness)
- printk: move console printing to kthreads (John Ogness)
- printk: introduce kernel sync mode (John Ogness)
- printk: use seqcount_latch for console_seq (John Ogness)
- printk: call boot_delay_msec() in printk_delay() (John Ogness)
- printk: relocate printk_delay() (John Ogness)
- serial: 8250: implement write_atomic (John Ogness)
- kdb: only use atomic consoles for output mirroring (John Ogness)
- console: add write_atomic interface (John Ogness)
- printk: rename printk cpulock API and always disable interrupts (John Ogness)
- printk: syslog: close window between wait and read (John Ogness)
- printk: convert @syslog_lock to mutex (John Ogness)
- printk: remove NMI tracking (John Ogness)
- printk: remove safe buffers (John Ogness)
- printk: track/limit recursion (John Ogness)
- lib/nmi_backtrace: explicitly serialize banner and regs (John Ogness)
- printk/console: Check consistent sequence number when handling race in console_unlock() (Petr Mladek)
- arm64: mm: Make arch_faults_on_old_pte() check for migratability (Valentin Schneider)
- rcu/nocb: Protect NOCB state via local_lock() under PREEMPT_RT (Valentin Schneider)
- sched: Introduce migratable() (Valentin Schneider)
- eventfd: Make signal recursion protection a task bit (Thomas Gleixner)
- notifier: Remove atomic_notifier_call_chain_robust() (Valentin Schneider)
- cpu_pm: Make notifier chain use a raw_spinlock_t (Valentin Schneider)
Resolves: rhbz#1891873
2021-08-25 06:06:46 -04:00

178 lines
4.4 KiB
Bash
Executable File

#! /bin/bash
#
# Called as filter-modules.sh list-of-modules Arch
# This script filters the modules into the kernel-core and kernel-modules
# subpackages. We list out subsystems/subdirs to prune from the installed
# module directory. What is left is put into the kernel-core package. What is
# pruned is contained in the kernel-modules package.
#
# This file contains the default subsys/subdirs to prune from all architectures.
# If an architecture needs to differ, we source a per-arch filter-<arch>.sh file
# that contains the set of override lists to be used instead. If a module or
# subsys should be in kernel-modules on all arches, please change the defaults
# listed here.
# Overrides is individual modules which need to remain in kernel-core due to deps.
overrides="cec"
# Set the default dirs/modules to filter out
driverdirs="atm auxdisplay bcma bluetooth firewire fpga infiniband leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb soundwire staging tty uio w1"
chardrvs="mwave pcmcia"
netdrvs="appletalk can dsa hamradio ieee802154 ppp slip usb wireless"
ethdrvs="3com adaptec alteon amd aquantia atheros broadcom cadence calxeda chelsio cisco dec dlink emulex marvell mellanox neterion nvidia packetengines qlogic rdc sfc silan sis smsc stmicro sun tehuti ti wiznet xircom"
inputdrvs="gameport tablet touchscreen"
hiddrvs="surface-hid"
scsidrvs="aacraid aic7xxx be2iscsi bfa bnx2i bnx2fc csiostor cxgbi esas2r fcoe fnic isci libsas lpfc megaraid mpt3sas mvsas pm8001 qla2xxx qla4xxx sym53c8xx_2 ufs qedf"
usbdrvs="atm image misc serial"
fsdrvs="affs befs coda cramfs dlm ecryptfs hfs hfsplus jfs jffs2 minix nilfs2 ocfs2 reiserfs romfs squashfs sysv ubifs ufs"
netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dsa ieee802154 l2tp mac80211 mac802154 mpls netrom nfc rds rfkill rose sctp smc wireless"
drmdrvs="amd ast bridge gma500 i2c i915 mgag200 nouveau panel radeon"
singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwpoison-inject target_core_user sbp_target cxgbit chcr parport_serial regmap-sdw regmap-sdw-mbq arizona-micsupp hid-asus iTCO_wdt rnbd-client rnbd-server mlx5_vdpa spi-altera-dfl"
# Grab the arch-specific filter list overrides
source ./filter-$2.sh
filter_dir() {
filelist=$1
dir=$2
grep -v -e "${dir}/" ${filelist} > ${filelist}.tmp
if [ $? -ne 0 ]
then
echo "Couldn't remove ${dir}. Skipping."
else
grep -e "${dir}/" ${filelist} >> k-d.list
mv ${filelist}.tmp $filelist
fi
return 0
}
filter_ko() {
filelist=$1
mod=$2
grep -v -e "${mod}.ko" ${filelist} > ${filelist}.tmp
if [ $? -ne 0 ]
then
echo "Couldn't remove ${mod}.ko Skipping."
else
grep -e "${mod}.ko" ${filelist} >> k-d.list
mv ${filelist}.tmp $filelist
fi
return 0
}
# Filter the drivers/ subsystems
for subsys in ${driverdirs}
do
filter_dir $1 drivers/${subsys}
done
# Filter the networking drivers
for netdrv in ${netdrvs}
do
filter_dir $1 drivers/net/${netdrv}
done
# Filter the char drivers
for char in ${chardrvs}
do
filter_dir $1 drivers/char/${char}
done
# Filter the ethernet drivers
for eth in ${ethdrvs}
do
filter_dir $1 drivers/net/ethernet/${eth}
done
# SCSI
for scsi in ${scsidrvs}
do
filter_dir $1 drivers/scsi/${scsi}
done
# Input
for input in ${inputdrvs}
do
filter_dir $1 drivers/input/${input}
done
# hid
for hid in ${hiddrvs}
do
filter_dir $1 drivers/hid/${hid}
done
# USB
for usb in ${usbdrvs}
do
filter_dir $1 drivers/usb/${usb}
done
# Filesystems
for fs in ${fsdrvs}
do
filter_dir $1 fs/${fs}
done
# Network protocols
for prot in ${netprots}
do
filter_dir $1 kernel/net/${prot}
done
# DRM
for drm in ${drmdrvs}
do
filter_dir $1 drivers/gpu/drm/${drm}
done
# Just kill sound.
filter_dir $1 kernel/sound
filter_dir $1 kernel/drivers/soundwire
# Now go through and filter any single .ko files that might have deps on the
# things we filtered above
for mod in ${singlemods}
do
filter_ko $1 ${mod}
done
# Now process the override list to bring those modules back into core
for mod in ${overrides}
do
grep -v -e "/${mod}.ko" k-d.list > k-d.list.tmp
if [ $? -ne 0 ]
then
echo "Couldn't save ${mod}.ko Skipping."
else
grep -e "/${mod}.ko" k-d.list >> $filelist
mv k-d.list.tmp k-d.list
fi
done
# Go through our generated drivers list and remove the .ko files. We'll
# restore them later.
for mod in `cat k-d.list`
do
rm -rf $mod
done