Hi, On Wed, Dec 12, 2012 at 03:49:48PM +0800, victor wrote: > Hi, > > > > > > > Yes, the devices /dev/mmcblk0 and /dev/mmcblk0p1 exist. The > > > /dev/mmcblk0 can be mounted. The dmesg does not contain other > > > messages. I am not sure the way to use g_file_storage.ko with UDC. > Please > > kindly help me. > > > > > > # ls /dev/mmc* > > > /dev/mmc0 /dev/mmc2 /dev/mmcblk0p1 > > > /dev/mmc1 /dev/mmcblk0 /dev/mmcblk0p2 > > > > > > # mount /dev/mmcblk0 /mnt > > > # ls /mnt/ > > > initramfs.gz > > > # umount /mnt > > > umounting 1 > > > umounting 0 > > > # insmod kagen2_udc.ko > > > # insmod g_file_storage.ko file=/dev/mmcblk0 > > > insmod: can't insert 'g_file_storage.ko': No such device > > > > are you registering your udc with the udc class ?? Are you initilizing > > udc->gadget.dev ? Look at other udc drivers to check if you're missing > > something. For example look at > > drivers/usb/dwc3/gadget.c::dwc3_gadget_init() to see how I register the > > gadget device and how I add the gadget to the list of UDCs. > > > > Also look at drivers/usb/dwc3/gadget.c::dwc3_gadget_start() to see how > that > > should be implemented. > > -- > > balbi > > I look at drivers/usb/dwc3/gadget.c and compare to my UDC code. The > difference is my UDC probe function is declared in platform driver, and the > platform probe function is not called. How could the file storage gadget > know it needs to call my UDC code? Is it done by the > platform_add_devices(struct platform_device **pdevs, int ndev) which is to > add UDC driver to the linux system? > > Here is my probe function. Somehow, It is not called after insmod. if it's not called it's because you don't have a matching platform_device. For a driver's probe() to be called you need a platform_device with the same name. -- balbi
Attachment:
signature.asc
Description: Digital signature