diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in
index 64ff513..6b0985e 100644
--- a/extra/Configs/Config.in
+++ b/extra/Configs/Config.in
@@ -950,15 +950,6 @@ config UCLIBC_GRP_BUFFER_SIZE
 
 comment "Support various families of functions"
 
-config UCLIBC_LINUX_MODULE_26
-	bool "Linux kernel module functions (2.6)"
-	default y
-	help
-	  delete_module, init_module
-	  are used in linux for loadable kernel modules.
-
-	  Say N if you do not use kernel modules.
-
 config UCLIBC_LINUX_SPECIFIC
 	bool "Linux specific functions"
 	default y
diff --git a/extra/Configs/defconfigs/or1k/defconfig b/extra/Configs/defconfigs/or1k/defconfig
index d976515..a419747 100644
--- a/extra/Configs/defconfigs/or1k/defconfig
+++ b/extra/Configs/defconfigs/or1k/defconfig
@@ -114,8 +114,6 @@ UCLIBC_GRP_BUFFER_SIZE=256
 #
 # Support various families of functions
 #
-UCLIBC_LINUX_MODULE_26=y
-UCLIBC_LINUX_MODULE_24=y
 UCLIBC_LINUX_SPECIFIC=y
 UCLIBC_HAS_GNU_ERROR=y
 UCLIBC_BSD_SPECIFIC=y
diff --git a/libc/sysdeps/linux/common/Makefile.in b/libc/sysdeps/linux/common/Makefile.in
index 257ed72..595074c 100644
--- a/libc/sysdeps/linux/common/Makefile.in
+++ b/libc/sysdeps/linux/common/Makefile.in
@@ -15,7 +15,6 @@ CSRC_LFS := $(notdir $(wildcard $(COMMON_DIR)/*64.c))
 CSRC-y := $(filter-out llseek.c $(CSRC_LFS),$(CSRC-y))
 CSRC-y += llseek.c $(CSRC_LFS)
 CSRC-$(findstring y,$(UCLIBC_HAS_SSP)$(UCLIBC_HAS_FORTIFY)) += ssp.c
-CSRC-$(UCLIBC_LINUX_MODULE_26) += delete_module.c init_module.c
 # we need these internally: fstatfs.c statfs.c
 CSRC-$(UCLIBC_LINUX_SPECIFIC) += \
 	bdflush.c \
diff --git a/libc/sysdeps/linux/common/delete_module.c b/libc/sysdeps/linux/common/delete_module.c
deleted file mode 100644
index 05841d4..0000000
--- a/libc/sysdeps/linux/common/delete_module.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * delete_module() for uClibc
- * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
- *
- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- */
-
-#include <sys/syscall.h>
-#ifdef __NR_delete_module
-int delete_module(const char *name, unsigned int flags);
-_syscall2(int, delete_module, const char *, name, unsigned int, flags)
-#endif
diff --git a/libc/sysdeps/linux/common/init_module.c b/libc/sysdeps/linux/common/init_module.c
deleted file mode 100644
index a2a3e02..0000000
--- a/libc/sysdeps/linux/common/init_module.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * init_module() for uClibc
- *
- * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
- *
- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- */
-
-#include <sys/syscall.h>
-
-#ifdef __NR_init_module
-int init_module(void *first, void *second, void *third, void *fourth, void *fifth);
-/* This may have 5 arguments (for old 2.0 kernels) or 2 arguments
- * (for 2.2 and 2.4 kernels).  Use the greatest common denominator,
- * and let the kernel cope with whatever it gets.  It's good at that. */
-_syscall5(int, init_module, void *, first, void *, second, void *, third,
-	  void *, fourth, void *, fifth)
-#endif
-
diff --git a/libc/sysdeps/linux/common/stubs.c b/libc/sysdeps/linux/common/stubs.c
index e7e81da..c17e509 100644
--- a/libc/sysdeps/linux/common/stubs.c
+++ b/libc/sysdeps/linux/common/stubs.c
@@ -86,10 +86,6 @@ make_stub(capset)
 make_stub(connect)
 #endif
 
-#if !defined __NR_delete_module && defined __UCLIBC_LINUX_MODULE_26__
-make_stub(delete_module)
-#endif
-
 #if !defined __NR_epoll_create && defined __UCLIBC_HAS_EPOLL__ \
 	&& !defined __NR_epoll_create1
 make_stub(epoll_create)
@@ -169,10 +165,6 @@ make_stub(getsockopt)
 make_stub(getxattr)
 #endif
 
-#if !defined __NR_init_module && defined __UCLIBC_LINUX_MODULE_26__
-make_stub(init_module)
-#endif
-
 #if !defined __NR_inotify_add_watch && defined __UCLIBC_LINUX_SPECIFIC__
 make_stub(inotify_add_watch)
 #endif
diff --git a/libc/sysdeps/linux/mips/bits/dirent.h b/libc/sysdeps/linux/mips/bits/dirent.h
deleted file mode 100644
index 65c9fc6..0000000
--- a/libc/sysdeps/linux/mips/bits/dirent.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _DIRENT_H
-# error "Never use <bits/dirent.h> directly; include <dirent.h> instead."
-#endif
-#include <errno.h>
-#include <sys/syscall.h>
-
-struct dirent
-  {
-#if defined(__USE_FILE_OFFSET64) && defined(__NR_getdents64)
-    __ino64_t d_ino;
-    __off64_t d_off;
-#else
-    __ino_t d_ino;
-    __off_t d_off;
-#endif
-    unsigned short int d_reclen;
-    unsigned char d_type;
-    char d_name[256];		/* We must not include limits.h! */
-  };
-
-#ifdef __USE_LARGEFILE64
-struct dirent64
-  {
-#ifdef __NR_getdents64
-    __ino64_t d_ino;
-    __off64_t d_off;
-#else
-    /* dirent64 is the same as dirent.  */
-    __ino_t d_ino;
-    __off_t d_off;
-#endif
-    unsigned short int d_reclen;
-    unsigned char d_type;
-    char d_name[256];		/* We must not include limits.h! */
-  };
-#endif
-
-#define d_fileno	d_ino	/* Backwards compatibility.  */
-
-#undef  _DIRENT_HAVE_D_NAMLEN
-#define _DIRENT_HAVE_D_RECLEN
-#define _DIRENT_HAVE_D_OFF
-#define _DIRENT_HAVE_D_TYPE
