diff --git a/CODEOWNERS b/CODEOWNERS
index 2153a6cdce6..2c6577ad2bf 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -294,7 +294,6 @@ source/_integrations/lyric.markdown @timmo001
source/_integrations/mastodon.markdown @fabaff
source/_integrations/matrix.markdown @tinloaf
source/_integrations/mazda.markdown @bdr99
-source/_integrations/mcp23017.markdown @jardiamj
source/_integrations/media_source.markdown @hunterjm
source/_integrations/mediaroom.markdown @dgomes
source/_integrations/melcloud.markdown @vilppuvuorinen
diff --git a/source/_integrations/mcp23017.markdown b/source/_integrations/mcp23017.markdown
deleted file mode 100644
index c4617f89b10..00000000000
--- a/source/_integrations/mcp23017.markdown
+++ /dev/null
@@ -1,130 +0,0 @@
----
-title: MCP23017 I/O Expander
-description: Instructions on how to integrate the MCP23017 GPIO pin expander with I2C interface into Home Assistant.
-ha_category:
- - DIY
- - Binary Sensor
- - Switch
-ha_release: 0.94
-ha_iot_class: Local Polling
-ha_codeowners:
- - '@jardiamj'
-ha_domain: mcp23017
-ha_platforms:
- - binary_sensor
- - switch
----
-
-
-
-This integration is deprecated and will be removed in Home Assistant Core 2022.4.
-
-For more information see: [Architectural Decision Record 0019](https://github.com/home-assistant/architecture/blob/master/adr/0019-GPIO.md).
-
-
-
-The `mcp23017` integration is the base for all related mcp23017 platforms in Home Assistant. There is no setup needed for the integration itself, for the platforms please check their corresponding sections.
-
-For more details about the MCP23017 I2C I/O port expander you can find its datasheet here: [MCP23017](https://www.microchip.com/wwwproducts/en/MCP23017).
-
-If you are using the Home Assistant Operating System you can’t use existing methods to enable the I2C bus on a Raspberry Pi, you will have to [enable the I2C interface manually](https://github.com/home-assistant/operating-system/tree/dev/Documentation/boards/raspberrypi#i2c) using a USB stick. To accomplish that, follow this step by step instructions: [Enable Home Assistant Operating System i2c](/hassio/enable_i2c).
-
-## Binary Sensor
-
-The `mcp23017` binary sensor platform allows you to read sensor values from the I/O pins of your [MCP23017 I2C I/O expander](https://www.adafruit.com/product/732).
-
-The pin numbers are from 0 to 15 where: 0-7 correspond to port A (A1-A8) and 8-15 to port B (B1-B8).
-
-### Configuration
-
-To use the I/O pins of a mcp23017 connected to an I2C bus of your Raspberry Pi as binary sensors, add the following to your `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry
-binary_sensor:
- - platform: mcp23017
- i2c_address: 0x20
- pins:
- 0: PIR Office
- 1: PIR Bedroom
-```
-
-{% configuration %}
-i2c_address:
- description: i2c address of MCP23017 chip.
- required: false
- type: integer
- default: "`0x20`"
-pins:
- description: List of used pins.
- required: true
- type: map
- keys:
- "pin: name":
- description: The pin numbers (from 0 to 15) and corresponding names.
- required: true
- type: [integer, string]
-scan_interval:
- description: Interval to scan for sensor state changes in seconds.
- required: false
- type: integer
- default: 15
-invert_logic:
- description: If `true`, inverts the output logic to ACTIVE LOW.
- required: false
- type: boolean
- default: "`false` (ACTIVE HIGH)"
-pull_mode:
- description: >
- Type of internal pull resistor to use.
- Options are `UP` - pull-up resistor and `DOWN` - pull-down resistor.
- required: false
- type: string
- default: "`UP`"
-{% endconfiguration %}
-
-
- MCP23017 only has internal pull-up resistors, if you want to use pull-down you will have to wire your own pull-down resistors.
-
-
-## Switch
-
-The `mcp23017` switch platform allows you to write to the I/O pins of your [MCP23017 I2C I/O expander](https://www.adafruit.com/product/732).
-
-The pin numbers are from 0 to 15 where: 0-7 correspond to port A (A1-A8) and 8-15 to port B (B1-B8).
-
-### Configuration
-
-To use the I/O pins of a mcp23017 connected to an I2C bus of your Raspberry Pi as switches, add the following to your `configuration.yaml` file:
-
-```yaml
-# Example configuration.yaml entry
-switch:
- - platform: mcp23017
- i2c_address: 0x20
- pins:
- 11: Fan Office
- 12: Light Desk
-```
-
-{% configuration %}
-i2c_address:
- description: i2c address of MCP23017 chip.
- required: false
- type: integer
- default: "`0x20`"
-pins:
- description: Array of used pins.
- required: true
- type: list
- keys:
- pin:
- description: The pin numbers (from 0 to 15) and corresponding names.
- required: true
- type: [integer, string]
-invert_logic:
- description: If true, inverts the output logic to ACTIVE LOW.
- required: false
- default: false
- type: boolean
-{% endconfiguration %}
diff --git a/source/_redirects b/source/_redirects
index 4fb4d229b04..2c6e3f84667 100644
--- a/source/_redirects
+++ b/source/_redirects
@@ -1491,7 +1491,6 @@
/components/mastodon /integrations/mastodon
/components/matrix /integrations/matrix
/components/maxcube /integrations/maxcube
-/components/mcp23017 /integrations/mcp23017
/components/media_extractor /integrations/media_extractor
/components/media_player /integrations/media_player
/components/mediaroom /integrations/mediaroom
@@ -2373,6 +2372,8 @@
/components/sensor.sensehat /more-info/removed-integration 301
/integrations/sensehat /more-info/removed-integration 301
/integrations/pi4ioe5v9xxxx /more-info/removed-integration 301
+/components/mcp23017 /more-info/removed-integration 301
+/integrations/mcp23017 /more-info/removed-integration 301
/components/rpi_rf /more-info/removed-integration 301
/components/switch.rpi_rf /more-info/removed-integration 301
/integrations/rpi_rf /more-info/removed-integration 301