diff --git a/drivers/staging/speakup/sysfs-driver-speakup b/Documentation/ABI/stable/sysfs-driver-speakup
similarity index 100%
rename from drivers/staging/speakup/sysfs-driver-speakup
rename to Documentation/ABI/stable/sysfs-driver-speakup
diff --git a/drivers/staging/speakup/spkguide.txt b/Documentation/admin-guide/spkguide.txt
similarity index 100%
rename from drivers/staging/speakup/spkguide.txt
rename to Documentation/admin-guide/spkguide.txt
diff --git a/MAINTAINERS b/MAINTAINERS
index 8d5294bfade6707664b3efca390dc0927a37eb0d..49a29c5575923ace6e1ef62b79e6c78e76fb43e9 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -16100,6 +16100,16 @@ Q:	https://patchwork.kernel.org/project/linux-sparse/list/
 B:	https://bugzilla.kernel.org/enter_bug.cgi?component=Sparse&product=Tools
 F:	include/linux/compiler.h
 
+SPEAKUP CONSOLE SPEECH DRIVER
+M:	William Hubbs <w.d.hubbs@gmail.com>
+M:	Chris Brannon <chris@the-brannons.com>
+M:	Kirk Reiser <kirk@reisers.ca>
+M:	Samuel Thibault <samuel.thibault@ens-lyon.org>
+L:	speakup@linux-speakup.org
+S:	Odd Fixes
+W:	http://www.linux-speakup.org/
+F:	drivers/accessibility/speakup/
+
 SPEAR CLOCK FRAMEWORK SUPPORT
 M:	Viresh Kumar <vireshk@kernel.org>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@ -16287,16 +16297,6 @@ L:	linux-fbdev@vger.kernel.org
 S:	Maintained
 F:	drivers/staging/sm750fb/
 
-STAGING - SPEAKUP CONSOLE SPEECH DRIVER
-M:	William Hubbs <w.d.hubbs@gmail.com>
-M:	Chris Brannon <chris@the-brannons.com>
-M:	Kirk Reiser <kirk@reisers.ca>
-M:	Samuel Thibault <samuel.thibault@ens-lyon.org>
-L:	speakup@linux-speakup.org
-S:	Odd Fixes
-W:	http://www.linux-speakup.org/
-F:	drivers/staging/speakup/
-
 STAGING - VIA VT665X DRIVERS
 M:	Forest Bond <forest@alittletooquiet.net>
 S:	Odd Fixes
diff --git a/drivers/accessibility/Kconfig b/drivers/accessibility/Kconfig
index f10c17dc1dee35ce76bdcf176386556210f5ea92..6b2f79d1f1b81c7bfb31d89a9aa52d135be6c6c0 100644
--- a/drivers/accessibility/Kconfig
+++ b/drivers/accessibility/Kconfig
@@ -31,4 +31,6 @@ config A11Y_BRAILLE_CONSOLE
 
 	  If unsure, say N.
 
+source "drivers/accessibility/speakup/Kconfig"
+
 endif # ACCESSIBILITY
diff --git a/drivers/accessibility/Makefile b/drivers/accessibility/Makefile
index e8c182f82c44f797e5a2bd6e405ffffaaef40279..83360308653077ba092b16fa0c6f7d03a3e1271b 100644
--- a/drivers/accessibility/Makefile
+++ b/drivers/accessibility/Makefile
@@ -1,2 +1,3 @@
 # SPDX-License-Identifier: GPL-2.0-only
 obj-y				+= braille/
+obj-$(CONFIG_SPEAKUP)		+= speakup/
diff --git a/drivers/staging/speakup/DefaultKeyAssignments b/drivers/accessibility/speakup/DefaultKeyAssignments
similarity index 100%
rename from drivers/staging/speakup/DefaultKeyAssignments
rename to drivers/accessibility/speakup/DefaultKeyAssignments
diff --git a/drivers/staging/speakup/Kconfig b/drivers/accessibility/speakup/Kconfig
similarity index 100%
rename from drivers/staging/speakup/Kconfig
rename to drivers/accessibility/speakup/Kconfig
diff --git a/drivers/staging/speakup/Makefile b/drivers/accessibility/speakup/Makefile
similarity index 100%
rename from drivers/staging/speakup/Makefile
rename to drivers/accessibility/speakup/Makefile
diff --git a/drivers/staging/speakup/TODO b/drivers/accessibility/speakup/TODO
similarity index 100%
rename from drivers/staging/speakup/TODO
rename to drivers/accessibility/speakup/TODO
diff --git a/drivers/staging/speakup/buffers.c b/drivers/accessibility/speakup/buffers.c
similarity index 100%
rename from drivers/staging/speakup/buffers.c
rename to drivers/accessibility/speakup/buffers.c
diff --git a/drivers/staging/speakup/devsynth.c b/drivers/accessibility/speakup/devsynth.c
similarity index 100%
rename from drivers/staging/speakup/devsynth.c
rename to drivers/accessibility/speakup/devsynth.c
diff --git a/drivers/staging/speakup/fakekey.c b/drivers/accessibility/speakup/fakekey.c
similarity index 100%
rename from drivers/staging/speakup/fakekey.c
rename to drivers/accessibility/speakup/fakekey.c
diff --git a/drivers/staging/speakup/i18n.c b/drivers/accessibility/speakup/i18n.c
similarity index 100%
rename from drivers/staging/speakup/i18n.c
rename to drivers/accessibility/speakup/i18n.c
diff --git a/drivers/staging/speakup/i18n.h b/drivers/accessibility/speakup/i18n.h
similarity index 100%
rename from drivers/staging/speakup/i18n.h
rename to drivers/accessibility/speakup/i18n.h
diff --git a/drivers/staging/speakup/keyhelp.c b/drivers/accessibility/speakup/keyhelp.c
similarity index 100%
rename from drivers/staging/speakup/keyhelp.c
rename to drivers/accessibility/speakup/keyhelp.c
diff --git a/drivers/staging/speakup/kobjects.c b/drivers/accessibility/speakup/kobjects.c
similarity index 100%
rename from drivers/staging/speakup/kobjects.c
rename to drivers/accessibility/speakup/kobjects.c
diff --git a/drivers/staging/speakup/main.c b/drivers/accessibility/speakup/main.c
similarity index 100%
rename from drivers/staging/speakup/main.c
rename to drivers/accessibility/speakup/main.c
diff --git a/drivers/staging/speakup/selection.c b/drivers/accessibility/speakup/selection.c
similarity index 100%
rename from drivers/staging/speakup/selection.c
rename to drivers/accessibility/speakup/selection.c
diff --git a/drivers/staging/speakup/serialio.c b/drivers/accessibility/speakup/serialio.c
similarity index 100%
rename from drivers/staging/speakup/serialio.c
rename to drivers/accessibility/speakup/serialio.c
diff --git a/drivers/staging/speakup/serialio.h b/drivers/accessibility/speakup/serialio.h
similarity index 100%
rename from drivers/staging/speakup/serialio.h
rename to drivers/accessibility/speakup/serialio.h
diff --git a/drivers/staging/speakup/speakup.h b/drivers/accessibility/speakup/speakup.h
similarity index 100%
rename from drivers/staging/speakup/speakup.h
rename to drivers/accessibility/speakup/speakup.h
diff --git a/drivers/staging/speakup/speakup_acnt.h b/drivers/accessibility/speakup/speakup_acnt.h
similarity index 100%
rename from drivers/staging/speakup/speakup_acnt.h
rename to drivers/accessibility/speakup/speakup_acnt.h
diff --git a/drivers/staging/speakup/speakup_acntpc.c b/drivers/accessibility/speakup/speakup_acntpc.c
similarity index 100%
rename from drivers/staging/speakup/speakup_acntpc.c
rename to drivers/accessibility/speakup/speakup_acntpc.c
diff --git a/drivers/staging/speakup/speakup_acntsa.c b/drivers/accessibility/speakup/speakup_acntsa.c
similarity index 100%
rename from drivers/staging/speakup/speakup_acntsa.c
rename to drivers/accessibility/speakup/speakup_acntsa.c
diff --git a/drivers/staging/speakup/speakup_apollo.c b/drivers/accessibility/speakup/speakup_apollo.c
similarity index 100%
rename from drivers/staging/speakup/speakup_apollo.c
rename to drivers/accessibility/speakup/speakup_apollo.c
diff --git a/drivers/staging/speakup/speakup_audptr.c b/drivers/accessibility/speakup/speakup_audptr.c
similarity index 100%
rename from drivers/staging/speakup/speakup_audptr.c
rename to drivers/accessibility/speakup/speakup_audptr.c
diff --git a/drivers/staging/speakup/speakup_bns.c b/drivers/accessibility/speakup/speakup_bns.c
similarity index 100%
rename from drivers/staging/speakup/speakup_bns.c
rename to drivers/accessibility/speakup/speakup_bns.c
diff --git a/drivers/staging/speakup/speakup_decext.c b/drivers/accessibility/speakup/speakup_decext.c
similarity index 100%
rename from drivers/staging/speakup/speakup_decext.c
rename to drivers/accessibility/speakup/speakup_decext.c
diff --git a/drivers/staging/speakup/speakup_decpc.c b/drivers/accessibility/speakup/speakup_decpc.c
similarity index 100%
rename from drivers/staging/speakup/speakup_decpc.c
rename to drivers/accessibility/speakup/speakup_decpc.c
diff --git a/drivers/staging/speakup/speakup_dectlk.c b/drivers/accessibility/speakup/speakup_dectlk.c
similarity index 100%
rename from drivers/staging/speakup/speakup_dectlk.c
rename to drivers/accessibility/speakup/speakup_dectlk.c
diff --git a/drivers/staging/speakup/speakup_dtlk.c b/drivers/accessibility/speakup/speakup_dtlk.c
similarity index 100%
rename from drivers/staging/speakup/speakup_dtlk.c
rename to drivers/accessibility/speakup/speakup_dtlk.c
diff --git a/drivers/staging/speakup/speakup_dtlk.h b/drivers/accessibility/speakup/speakup_dtlk.h
similarity index 100%
rename from drivers/staging/speakup/speakup_dtlk.h
rename to drivers/accessibility/speakup/speakup_dtlk.h
diff --git a/drivers/staging/speakup/speakup_dummy.c b/drivers/accessibility/speakup/speakup_dummy.c
similarity index 100%
rename from drivers/staging/speakup/speakup_dummy.c
rename to drivers/accessibility/speakup/speakup_dummy.c
diff --git a/drivers/staging/speakup/speakup_keypc.c b/drivers/accessibility/speakup/speakup_keypc.c
similarity index 100%
rename from drivers/staging/speakup/speakup_keypc.c
rename to drivers/accessibility/speakup/speakup_keypc.c
diff --git a/drivers/staging/speakup/speakup_ltlk.c b/drivers/accessibility/speakup/speakup_ltlk.c
similarity index 100%
rename from drivers/staging/speakup/speakup_ltlk.c
rename to drivers/accessibility/speakup/speakup_ltlk.c
diff --git a/drivers/staging/speakup/speakup_soft.c b/drivers/accessibility/speakup/speakup_soft.c
similarity index 100%
rename from drivers/staging/speakup/speakup_soft.c
rename to drivers/accessibility/speakup/speakup_soft.c
diff --git a/drivers/staging/speakup/speakup_spkout.c b/drivers/accessibility/speakup/speakup_spkout.c
similarity index 100%
rename from drivers/staging/speakup/speakup_spkout.c
rename to drivers/accessibility/speakup/speakup_spkout.c
diff --git a/drivers/staging/speakup/speakup_txprt.c b/drivers/accessibility/speakup/speakup_txprt.c
similarity index 100%
rename from drivers/staging/speakup/speakup_txprt.c
rename to drivers/accessibility/speakup/speakup_txprt.c
diff --git a/drivers/staging/speakup/speakupmap.h b/drivers/accessibility/speakup/speakupmap.h
similarity index 100%
rename from drivers/staging/speakup/speakupmap.h
rename to drivers/accessibility/speakup/speakupmap.h
diff --git a/drivers/staging/speakup/speakupmap.map b/drivers/accessibility/speakup/speakupmap.map
similarity index 100%
rename from drivers/staging/speakup/speakupmap.map
rename to drivers/accessibility/speakup/speakupmap.map
diff --git a/drivers/staging/speakup/spk_priv.h b/drivers/accessibility/speakup/spk_priv.h
similarity index 100%
rename from drivers/staging/speakup/spk_priv.h
rename to drivers/accessibility/speakup/spk_priv.h
diff --git a/drivers/staging/speakup/spk_priv_keyinfo.h b/drivers/accessibility/speakup/spk_priv_keyinfo.h
similarity index 100%
rename from drivers/staging/speakup/spk_priv_keyinfo.h
rename to drivers/accessibility/speakup/spk_priv_keyinfo.h
diff --git a/drivers/staging/speakup/spk_ttyio.c b/drivers/accessibility/speakup/spk_ttyio.c
similarity index 100%
rename from drivers/staging/speakup/spk_ttyio.c
rename to drivers/accessibility/speakup/spk_ttyio.c
diff --git a/drivers/staging/speakup/spk_types.h b/drivers/accessibility/speakup/spk_types.h
similarity index 100%
rename from drivers/staging/speakup/spk_types.h
rename to drivers/accessibility/speakup/spk_types.h
diff --git a/drivers/staging/speakup/synth.c b/drivers/accessibility/speakup/synth.c
similarity index 100%
rename from drivers/staging/speakup/synth.c
rename to drivers/accessibility/speakup/synth.c
diff --git a/drivers/staging/speakup/thread.c b/drivers/accessibility/speakup/thread.c
similarity index 100%
rename from drivers/staging/speakup/thread.c
rename to drivers/accessibility/speakup/thread.c
diff --git a/drivers/staging/speakup/varhandlers.c b/drivers/accessibility/speakup/varhandlers.c
similarity index 100%
rename from drivers/staging/speakup/varhandlers.c
rename to drivers/accessibility/speakup/varhandlers.c
diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
index b3fb4d41e23141dc310adbc897a2315aa6c2d9ee..e6c831c6ccccf9f087087c18ea9cfbd44781ed36 100644
--- a/drivers/staging/Kconfig
+++ b/drivers/staging/Kconfig
@@ -56,8 +56,6 @@ source "drivers/staging/sm750fb/Kconfig"
 
 source "drivers/staging/emxx_udc/Kconfig"
 
-source "drivers/staging/speakup/Kconfig"
-
 source "drivers/staging/nvec/Kconfig"
 
 source "drivers/staging/media/Kconfig"
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
index 3d8c7ea21a1036b9fb3c7974a0b3e9e2ccf2a931..a3b1fd0622f9b0218ed9b115972cd38f49651a29 100644
--- a/drivers/staging/Makefile
+++ b/drivers/staging/Makefile
@@ -20,7 +20,6 @@ obj-$(CONFIG_VME_BUS)		+= vme/
 obj-$(CONFIG_IIO)		+= iio/
 obj-$(CONFIG_FB_SM750)		+= sm750fb/
 obj-$(CONFIG_USB_EMXX)		+= emxx_udc/
-obj-$(CONFIG_SPEAKUP)		+= speakup/
 obj-$(CONFIG_MFD_NVEC)		+= nvec/
 obj-$(CONFIG_ANDROID)		+= android/
 obj-$(CONFIG_STAGING_BOARD)	+= board/