CentOS Stream Kernel Documentation
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Driver and Device Support

Over the course of subsequent RHEL releases, drivers and devices may change support status. This describes how these states are documented and ultimately communicated to the user.

When a driver or device is no longer supported (i.e., being actively maintained by Red Hat), then we mark the driver or device as unmaintained. If we’re removing it from the kernel entirely (by unsetting its CONFIG option) then we mark it as disabled. These support states are communicated to the user as kernel log messages and through other services. Additionally, we will report to a user when a driver or device that is currently being maintained will no longer be supported in the next RHEL major release (set to the unmaintained or disabled state) by reporting to the user that the driver or device is now deprecated.

This document provides an overview of how to mark a driver or device as unmaintained or disabled for a specific RHEL release.

Both driver and device statuses for each major RHEL release are maintained in a YAML file in the Hardware Removal Support (HRS) git repository in GitLab. Only drivers and devices that are no longer supported or are disabled need to be added. The YAML file is not intended to be used to maintain a comprehensive list of currently supported hardware and although most drivers represent hardware devices some drivers provide features and a feature driver’s status is also maintained here.

Beginning with RHEL 8.10 and 9.4, the method used to warn a user when they are using unsupported drivers or devices was updated in the kernel. This change made it simpler to maintain the status of drivers and devices using lists of unmaintained, deprecated and disabled hardware and features rather than the driver itself needing to be updated with a RHEL-only change to add the warning message.

These driver and device lists are found in the kernel file kernel/rh_messages.h which is generated from the YAML file for each RHEL release and included in the kernel source.

If you’re only interested in reviewing the status of a driver or device then that can be done by visiting the HRS Website. There the contents of the YAML file are presented in a simple but searchable web format.

Project Repository

The hardware removal support project is maintained in a git repository at: HRS Repository. This project is where the YAML file (hardware-removal-support.yaml) is maintained.

This file is used as the source of truth for the driver and device support status reported to the customer in the RHEL kernel, LEAPP, Insights and for official documentation.

Also included in this project are utilities that are used to add, update and query the YAML file as well as to generate the hardware lists (the unmaintained, disabled and deprecated lists) and the header file that will be included in the RHEL kernel source.

Updating the YAML File

To add or update an existing driver or device requires updating the hardware-removal-support.yaml file. Therefore you’ll need to clone the HRS repository, make your edits and open a merge request in the HRS repository. You will need to reference a JIRA issue in your MR but this issue can be used in your kernel MR as well.

Updating the Kernel

Once your MR has been approved and merged, you can generate the rh_messages.h header file necessary for updating the target kernel. The make commands for generating the header file can be found using make help and by consulting the documentation.

Please consult the Hardware Removal Support: Setting Hardware as Unmaintained or Disabled document on The Source for additional detail or the README file in the HRS repository for the most up-to-date documentation.