1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Model description tables
4  */
5 #include <linux/kernel.h>
6 
7 struct product_info {
8 	const char     *pi_name;
9 	const char     *pi_type;
10 };
11 
12 struct vendor_info {
13 	const char     *vi_name;
14 	const struct product_info *vi_product_info;
15 };
16 
17 /*
18  * Base models
19  */
20 static const char * const txt_base_models[] = {
21 	"MQ 2", "MQ Pro", "SP 25", "SP 50", "SP 100", "SP 5000", "SP 7000",
22 	"SP 1000", "Unknown"
23 };
24 #define N_BASE_MODELS (ARRAY_SIZE(txt_base_models) - 1)
25 
26 /*
27  * Eicon Networks
28  */
29 static const char txt_en_mq[] = "Masquerade";
30 static const char txt_en_sp[] = "Safepipe";
31 
32 static const struct product_info product_info_eicon[] = {
33 	{ txt_en_mq, "II"   }, /*  0 */
34 	{ txt_en_mq, "Pro"  }, /*  1 */
35 	{ txt_en_sp, "25"   }, /*  2 */
36 	{ txt_en_sp, "50"   }, /*  3 */
37 	{ txt_en_sp, "100"  }, /*  4 */
38 	{ txt_en_sp, "5000" }, /*  5 */
39 	{ txt_en_sp, "7000" }, /*  6 */
40 	{ txt_en_sp, "30"   }, /*  7 */
41 	{ txt_en_sp, "5100" }, /*  8 */
42 	{ txt_en_sp, "7100" }, /*  9 */
43 	{ txt_en_sp, "1110" }, /* 10 */
44 	{ txt_en_sp, "3020" }, /* 11 */
45 	{ txt_en_sp, "3030" }, /* 12 */
46 	{ txt_en_sp, "5020" }, /* 13 */
47 	{ txt_en_sp, "5030" }, /* 14 */
48 	{ txt_en_sp, "1120" }, /* 15 */
49 	{ txt_en_sp, "1130" }, /* 16 */
50 	{ txt_en_sp, "6010" }, /* 17 */
51 	{ txt_en_sp, "6110" }, /* 18 */
52 	{ txt_en_sp, "6210" }, /* 19 */
53 	{ txt_en_sp, "1020" }, /* 20 */
54 	{ txt_en_sp, "1040" }, /* 21 */
55 	{ txt_en_sp, "1050" }, /* 22 */
56 	{ txt_en_sp, "1060" }, /* 23 */
57 };
58 
59 #define N_PRIDS ARRAY_SIZE(product_info_eicon)
60 
61 /*
62  * The vendor table
63  */
64 static struct vendor_info const vendor_info_table[] = {
65 	{ "Eicon Networks",	product_info_eicon   },
66 };
67 
68 #define N_VENDORS ARRAY_SIZE(vendor_info_table)
69