15
static const char *supported_generic_subarches[] = {
14
22
static struct map map_hardware[] = {
15
23
{ "Acorn-RiscPC" , "rpc" },
16
24
{ "EBSA285" , "netwinder" },
23
31
{ "OMAP3 Beagle Board", "omap" }, /* first OMAP hw platform, more to come */
24
32
{ "ADS" , "ads" }, /* Matches only ADS boards. Put any exceptions before. */
25
33
{ "Applied Data Systems" , "ads" }, /* More ADS boards. */
34
{ "HP t5325 Thin Client", "kirkwood" },
26
35
{ "Marvell DB-88F6281-BP Development Board", "kirkwood" },
27
36
{ "Marvell RD-88F6192-NAS Development Board", "kirkwood" },
28
37
{ "Marvell RD-88F6281 Reference Board", "kirkwood" },
38
{ "Marvell GuruPlug Reference Board", "kirkwood" },
29
39
{ "Marvell OpenRD Base Board", "kirkwood" },
30
40
{ "Marvell OpenRD Client Board", "kirkwood" },
41
{ "Marvell OpenRD Ultimate Board", "kirkwood" },
31
42
{ "Marvell SheevaPlug Reference Board", "kirkwood" },
43
{ "Marvell eSATA SheevaPlug Reference Board", "kirkwood" },
32
44
{ "QNAP TS-119/TS-219", "kirkwood" },
33
45
{ "QNAP TS-41x", "kirkwood" },
46
{ "Seagate FreeAgent DockStar", "kirkwood" },
34
47
{ "Buffalo/Revogear Kurobox Pro", "orion5x" },
35
48
{ "D-Link DNS-323", "orion5x" },
36
49
{ "QNAP TS-109/TS-209", "orion5x" },
103
116
return "unknown";
119
const char *di_system_subarch_analyze_guess(void)
121
struct utsname sysinfo;
122
size_t uname_release_len, i;
124
/* Attempt to determine subarch based on kernel release version */
126
uname_release_len = strlen(sysinfo.release);
128
for (i = 0; supported_generic_subarches[i] != NULL; i++)
130
size_t subarch_len = strlen (supported_generic_subarches[i]);
131
if (!strncmp(sysinfo.release+uname_release_len-subarch_len,
132
supported_generic_subarches[i],
135
return supported_generic_subarches[i];
139
/* If we get here, try falling back on the normal detection method */
140
return di_system_subarch_analyze();