Можно посмотреть какой errno соответствует сообщению "No such device". Это похоже на то, что драйвер возвращает ENODEV. Если посмотреть в исходнике drivers/usb/gadget/serial.c, том вызывает ряд функций и подобный результат может возникать в drivers/usb/gadget/udc-core.c
Код
322 mutex_lock(&udc_lock);
323 list_for_each_entry(udc, &udc_list, list) {
324 /* For now we take the first one */
325 if (!udc->driver)
326 goto found;
327 }
328
329 pr_debug("couldn't find an available UDC\n");
330 mutex_unlock(&udc_lock);
331 return -ENODEV;
Цитата
При попытке вкомпилировать g_serial в ядро статически ядро грузится, но никаких упоминаний g_serial в его выводе нет
Можно загрузить ядро с параметром initcall_debug и посмотреть вызывается ли соответствующая init функция.
Может между версиями ядра есть значительные изменения в arch/arm/mach-at91/* ?