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

Reply via email to