доброй ночи, ЛОР!
че-то на ночь глядя потянуло меня на всякие «эксперименты»:
вот приспичило в ран-тайме из ядра понимать, на какой машине загружен драйвер... пока что вариантов немного - спец.девайс и всё остальное (ноуты, десктопы, планшеты).
Конечно, нет ничего понятнее, проще и безкомпромиснее чем параметр модуля, но это я берегу на «принудительное указание».
пока что нашел, что можно с DMI.
#include <linux/init.h>
#include <linux/module.h>
#include <linux/list.h>
#include <linux/dmi.h>
#include <linux/mod_devicetable.h>
static int __init dmiscan_init(void)
{
int i, n;
for (i = 1; i < DMI_OEM_STRING - 1; i++)
printk("%d. %s\n", i, dmi_get_system_info(i));
return 0;
}
static void __exit dmiscan_exit(void)
{
}
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("sample dmi scan module.");
MODULE_VERSION("0.01");
module_init(dmiscan_init);
module_exit(dmiscan_exit);
а способа хитрее не существует? // без эвристики, если можно :)