Hello Pei Lin, > See the path code, here.... > > static int __init udc_init(void) > { > - if (!cpu_is_pxa27x()) > + if (!cpu_is_pxa27x() && !cpu_is_pxa3xx()) > return -ENODEV; > > printk(KERN_INFO "%s: version %s\n", driver_name, DRIVER_VERSION); > -- No this is not the mistake. The patch changes the function udc_init in /drivers/usb/gadget/pxa27x_udc.c to: static int __init udc_init(void) { if (!cpu_is_pxa27x() && !cpu_is_pxa3xx()) return -ENODEV; printk(KERN_INFO "%s: version %s\n", driver_name, DRIVER_VERSION); return platform_driver_probe(&udc_driver, pxa_udc_probe); } The line printk(KERN_INFO "%s: version %s\n", driver_name, DRIVER_VERSION); gets printed out (I see it with dmesg). The error comes from the function platform_driver_probe in /drivers/base/platform.c, which is apparently a standard function of the kernel, and not hardware specific. Would it help, if I tell you exactly which functions go wrong? I still think, that the error must be elsewhere, not in these standard functions. But where? Is only a file in the file system of my board missing? > and also u should refer to the code : > 170 #ifdef CONFIG_CPU_PXA320 > 171 #define __cpu_is_pxa320(id) \ > 172 ({ \ > 173 unsigned int _id = (id) >> 4 & 0xfff; \ > 174 _id == 0x603 || _id == 0x682; \ > 175 }) > 176 #else > 177 #define __cpu_is_pxa320(id) (0) > 178 #endif > > So i just guess u forget change your configuration > about CONFIG_CPU_PXA320. > hope this will give u some help. No, in the file .config it is set to CONFIG_CPU_PXA320=y Any other ideas please? Best regards. -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ