Hi
I am developing a video grabber board for Beaglebone Black ( AM3358 ) and Techwell TW9910 chip as video decoder and GPMC as bus for video capture. Using Device Tree ( DT ) and kernel 3.8.13 ( Wheezy ).
By the point of hardware view, it is operating well and I can capture video frames using our own application test software. Not using device driver module yet.
Developing the grabber board device driver module, that is already coded and using TW9910 driver that is native in kernel now, at BOOT the following error message appears in dmesg log:
[ 6.694184] tw9910 1-0044: TW9910: missing platform data!
[ 6.875556] tw9910: probe of 1-0044 failed with error -22
This is the portion of code of TW9910 device driver:
static int tw9910_probe(struct i2c_client *client,
const struct i2c_device_id *did)
{
struct tw9910_priv *priv;
struct tw9910_video_info *info;
struct i2c_adapter *adapter =
to_i2c_adapter(client->dev.parent);
struct soc_camera_subdev_desc *ssdd = soc_camera_i2c_to_desc(client);
int ret;
if (!ssdd || !ssdd->drv_priv) {
dev_err(&client->dev, "TW9910: missing platform data!\n");
return -EINVAL;
}
As I am using Device Tree (DT), probably I am forgetting to setup something in my dts file or initialize some structs at probing of my device driver.
Could someone tell me what I need to do to fulfill the "client" requirements about platform data?
Any reference to a link where I can grabber this information are welcome.
Thanks,
Sergio