Hi, I think it does not metter how you register dummy slave driver to the kernel. You can even register it as pure char device. May be it is better not to register it at all and have a plain file with dummy functions with the fixed values. What is more important is to register it to the V4L2-int interface for VPFE master device so that device node gets created. V4l2-int framework does not care whether it is i2c or other device.
Thanks, Brijesh Jadav ________________________________ From: Ryan Talbot [mailto:[email protected]] Sent: Thursday, March 05, 2009 4:47 PM To: Jadav, Brijesh R; [email protected] Subject: RE: VPFE ...of course, without a decoder registered, /dev/video0 doesn't do much :). I've spent the better part of the night trying to figure out how to best write a dummy slave device. I tried taking tvp5146.c and making a dummy device out of it, but I'm not sure how to best approach it. Stripping out the I2C and hardcoding the V4L settings isn't difficult, but I'm not sure what to use in place of i2c_device... do I just make another platform_device? video_device? Plain old device? I'm not sure what the appropriate starting place would be. My V4L2 and kernel driver kung fu is a little weak :). Thanks again for the advice. Ryan ________________________________ From: Jadav, Brijesh R [mailto:[email protected]] Sent: Thursday, March 05, 2009 6:05 AM To: Ryan Talbot; [email protected] Subject: RE: VPFE Hi Ryan, For the device to be created in /dev, you will need a dummy slave device. vpfe_probe must be called whether slave is available or not. If this is not getting called, it means there is some vpfe's name mismatch between name with which driver is registered as a platform device and name present in the board specific file in arch/arm/mach-davinci directory. Thanks, Brijesh Jadav ________________________________ From: [email protected] [mailto:[email protected]] On Behalf Of Ryan Talbot Sent: Thursday, March 05, 2009 7:42 AM To: [email protected] Subject: VPFE We've got a custom DM6446-based board which has a DM648 pumping BT656 video directly into the DM6446's VPFE. We're trying to use V4L to grab the video frames, but are running into some problems. We're using 2.6.28-rc6 with Murali Karicheri's patches applied, and while the modules load successfully ("vpfe_capture: init successful"), we still get the following trying to open /dev/video0: "Can't open /dev/video0: no such device or address". It is maybe worth noting that we have to create this device node everytime we boot using mknod. 'cat /proc/devices' does list '81 0 video4linux', though. I will admit I don't have a great grasp of how the V4L architecture is supposed to work. We don't have any other hardware involved other than the DaVinci VPFE, i.e. no decoder chips (they're all upstream and handled by the DM648). I noticed vpfe_probe never gets called when modprobing... seems like it should be. Do we need to create some kind of dummy slave device to get things kicking? Our board supplier gave us a C64P image that passes video through from VPFE to VPBE, so the hardware itself is OK. I didn't think the C64P even had direct access to the VPFE - I thought it relied on the ARM/DSPLink for video frames - but I guess that shows the depths of my ignorance. Any pointers much appreciated, and a big thanks to Murali Karicheri for his hard work on the patches. Ryan Talbot VTTI
_______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
