/*
 * WARNING: This file is auto-generated by an internal Red Hat script and,
 * in general, should not be modified by hand.
 * See: https://gitlab.com/redhat/rhel/src/kernel/hardware-removal-support
 */

/*
 * The following tables are used by Red Hat to define what hardware and drivers
 * are unsupported, or have limited support in RHEL major and minor releases.
 *
 * Generally, the process of disabling a driver or device in RHEL requires the
 * driver or device to be marked as 'deprecated' in all existing releases, and
 * then either 'unmaintained' or 'disabled' in a future release.
 *
 * In general, deprecated and unmaintained drivers continue to receive security
 * related fixes until they are disabled.
 */
 
#ifndef __RH_MESSAGES_H
#define __RH_MESSAGES_H

#include <linux/version.h>
#include <linux/pci.h>

#define DEV_DESC_LEN 256

#define RH_UNMAINT_HW "Warning: Unmaintained Hardware is detected: %s:%s\n"

#define RH_UNMAINT_DR "Warning: Unmaintained driver is detected: %s\n"

#define RH_DEPRECATED_HW "Warning: Deprecated Hardware is detected: %s:%s " \
			 "will not be maintained in a future major release " \
			 "and may be disabled\n"

#define RH_DEPRECATED_DR "Warning: Deprecated Driver is detected: %s will " \
			 "not be maintained in a future major release and " \
			 "may be disabled\n"

#define RH_DISABLED_HW "Warning: Disabled Hardware is detected: %s:%s is " \
		       "no longer enabled in this release.\n"

#define RH_TECH_PREVIEW "TECH PREVIEW: %s may not be fully supported.\n" \
			"Please review provided documentation for " \
			"limitations.\n"

#define RH_PARTNER_SUPPORTED "Warning: %s is a Partner supported GPL " \
			     "module and not supported directly by Red Hat.\n"

static const char *rh_deprecated_drivers[] = {
	"aacraid",
	"af_key",
	"firewire-core",
	"team",
	0     /* Terminating entry */
};

static const char *rh_deprecated_init_fns[] = {
	"team_module_init",
	"fw_core_init",
	"ipsec_pfkey_init",
	"aac_init",
	0     /* Terminating entry */
};

static const char *rh_unmaintained_drivers[] = {
	"arp_tables",
	"bnx2",
	"dl2k",
	"e1000",
	"ebtables",
	"hdlc_fr",
	"hpsa",
	"ip6_tables",
	"ip_set",
	"ip_tables",
	"mptbase",
	"mptsas",
	"mptscsih",
	"mptspi",
	"myri10ge",
	"netxen_nic",
	"nft_compat",
	"nicpf",
	"nicvf",
	"nvmet-fc",
	"nvmet-tcp",
	"qla3xxx",
	0     /* Terminating entry */
};

static const char *rh_unmaintained_init_fns[] = {
	"bnx2_pci_driver_init",
	"e1000_init_module",
	"rio_driver_init",
	"hpsa_init",
	"fusion_init",
	"mptsas_init",
	"fusion_init",
	"mptspi_init",
	"myri10ge_init_module",
	"netxen_init_module",
	"ql3xxx_driver_init",
	"hdlc_fr_init",
	"nvmet_fc_init_module",
	"nvmet_tcp_init",
	"ebtables_init",
	"arp_tables_init",
	"ip_tables_init",
	"ip6_tables_init",
	"ip_set_init",
	"nft_compat_module_init",
	"nicvf_init_module",
	"nic_init_module",
	0     /* Terminating entry */
};

static const struct pci_device_id rh_deprecated_pci_devices[] = {
	{0}     /* Terminating entry */
};

static const struct pci_device_id rh_disabled_pci_devices[] = {
	{ 0x1011, 0x0046, 0x103c, 0x10c2 },
	{ 0x1011, 0x0046, 0x9005, 0x0364 },
	{ 0x1011, 0x0046, 0x9005, 0x0365 },
	{ 0x1011, 0x0046, 0x9005, 0x1364 },
	{ 0x1028, 0x0001, 0x1028, 0x0001 },
	{ 0x1028, 0x0002, 0x1028, 0x0002 },
	{ 0x1028, 0x0002, 0x1028, 0x00d1 },
	{ 0x1028, 0x0002, 0x1028, 0x00d9 },
	{ 0x1028, 0x0003, 0x1028, 0x0003 },
	{ 0x1028, 0x0004, 0x1028, 0x00d0 },
	{ 0x1028, 0x000a, 0x1028, 0x0106 },
	{ 0x1028, 0x000a, 0x1028, 0x011b },
	{ 0x1028, 0x000a, 0x1028, 0x0121 },
	{ 0x9005, 0x0200, 0x9005, 0x0200 },
	{ 0x9005, 0x0283, 0x9005, 0x0283 },
	{ 0x9005, 0x0284, 0x9005, 0x0284 },
	{ 0x9005, 0x0285, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x9005, 0x0285, 0x1014, 0x02F2 },
	{ 0x9005, 0x0285, 0x1014, 0x0312 },
	{ 0x9005, 0x0285, 0x1028, PCI_ANY_ID },
	{ 0x9005, 0x0285, 0x1028, 0x0287 },
	{ 0x9005, 0x0285, 0x103C, 0x3227 },
	{ 0x9005, 0x0285, 0x17aa, PCI_ANY_ID },
	{ 0x9005, 0x0285, 0x17aa, 0x0286 },
	{ 0x9005, 0x0285, 0x17aa, 0x0287 },
	{ 0x9005, 0x0285, 0x9005, 0x0285 },
	{ 0x9005, 0x0285, 0x9005, 0x0286 },
	{ 0x9005, 0x0285, 0x9005, 0x0287 },
	{ 0x9005, 0x0285, 0x9005, 0x0288 },
	{ 0x9005, 0x0285, 0x9005, 0x0289 },
	{ 0x9005, 0x0285, 0x9005, 0x028a },
	{ 0x9005, 0x0285, 0x9005, 0x028b },
	{ 0x9005, 0x0285, 0x9005, 0x028e },
	{ 0x9005, 0x0285, 0x9005, 0x028f },
	{ 0x9005, 0x0285, 0x9005, 0x0290 },
	{ 0x9005, 0x0285, 0x9005, 0x0291 },
	{ 0x9005, 0x0285, 0x9005, 0x0292 },
	{ 0x9005, 0x0285, 0x9005, 0x0293 },
	{ 0x9005, 0x0285, 0x9005, 0x0294 },
	{ 0x9005, 0x0285, 0x9005, 0x0296 },
	{ 0x9005, 0x0285, 0x9005, 0x0297 },
	{ 0x9005, 0x0285, 0x9005, 0x0298 },
	{ 0x9005, 0x0285, 0x9005, 0x0299 },
	{ 0x9005, 0x0285, 0x9005, 0x029a },
	{ 0x9005, 0x0285, 0x9005, 0x02a4 },
	{ 0x9005, 0x0285, 0x9005, 0x02a5 },
	{ 0x9005, 0x0286, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x9005, 0x0286, 0x1014, 0x9540 },
	{ 0x9005, 0x0286, 0x1014, 0x9580 },
	{ 0x9005, 0x0286, 0x9005, 0x028c },
	{ 0x9005, 0x0286, 0x9005, 0x028d },
	{ 0x9005, 0x0286, 0x9005, 0x029b },
	{ 0x9005, 0x0286, 0x9005, 0x029c },
	{ 0x9005, 0x0286, 0x9005, 0x029d },
	{ 0x9005, 0x0286, 0x9005, 0x029e },
	{ 0x9005, 0x0286, 0x9005, 0x029f },
	{ 0x9005, 0x0286, 0x9005, 0x02a0 },
	{ 0x9005, 0x0286, 0x9005, 0x02a1 },
	{ 0x9005, 0x0286, 0x9005, 0x02a2 },
	{ 0x9005, 0x0286, 0x9005, 0x02a3 },
	{ 0x9005, 0x0286, 0x9005, 0x02a6 },
	{ 0x9005, 0x0286, 0x9005, 0x0800 },
	{ 0x9005, 0x0287, 0x9005, 0x0800 },
	{ 0x9005, 0x0288, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x19a2, 0x0222, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x19a2, 0x0712, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x19a2, 0x212, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x19a2, 0x702, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x19a2, 0x703, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x19a2, 0x0700, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x19a2, 0x0211, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x19a2, 0x0710, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x19a2, 0x0221, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x19a2, 0xe220, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0x1ae5, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xe100, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xe131, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xe180, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xe260, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf095, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf098, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf0a1, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf0a5, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf0d1, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf0d5, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf0e1, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf0e5, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf0f5, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf0f6, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf0f7, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf180, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf700, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf800, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf900, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf980, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xfa00, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xfb00, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xfc00, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xfc10, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xfc20, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xfc50, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xfd00, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xfd11, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xfd12, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xfe00, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xfe05, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xfe11, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xfe12, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x19a2, 0x0704, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x19a2, 0x0714, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0060, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0078, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x007C, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0411, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0413, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1028, 0x0015, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x15B3, 0x1002, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x15B3, 0x6340, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x15B3, 0x634A, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x15B3, 0x6354, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x15B3, 0x6368, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x15B3, 0x6372, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x15B3, 0x6732, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x15B3, 0x673C, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x15B3, 0x6746, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x15B3, 0x6750, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x15B3, 0x675A, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x15B3, 0x6764, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x15B3, 0x676E, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x15B3, 0xA2DC, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0064, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0065, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0070, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0072, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0074, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0076, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0077, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x007E, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1077, 0x2422, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1077, 0x2432, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1077, 0x5422, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1077, 0x5432, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1077, 0x8001, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1077, 0x8021, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1077, 0x8044, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1077, 0x8432, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1077, 0xF000, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1077, 0x8022, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1077, 0x8032, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1077, 0x8042, PCI_ANY_ID, PCI_ANY_ID },
	{0}     /* Terminating entry */
};

static const struct pci_device_id rh_unmaintained_pci_devices[] = {
	{ 0x10df, 0xe220, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0x0724, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xe200, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf011, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf015, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xf100, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x10df, 0xfc40, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x005b, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0071, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0073, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0079, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x006E, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0080, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0081, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0082, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0083, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0084, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0085, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0086, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1000, 0x0087, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x177d, 0xa01e, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x177d, 0xa034, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x177d, 0x0011, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1077, 0x2031, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1077, 0x2532, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1077, 0x8031, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1924, 0x0803, PCI_ANY_ID, PCI_ANY_ID },
	{ 0x1924, 0x0813, PCI_ANY_ID, PCI_ANY_ID },
	{0}     /* Terminating entry */
};

#endif /* __RH_MESSAGES_H */
