em28xx?

Andrew Gallatin gallatin at gmail.com
Sat Jan 8 19:50:00 UTC 2011


On Sat, Jan 8, 2011 at 2:11 PM, Andrew Gallatin <gallatin at gmail.com> wrote:

> (see appended output).  Has anybody tried  this before?  What are the
> general steps for porting a driver?

So I hacked on it for a while (see attached dirty patch) and I've got
the em28xx device seen.  But it dies in v4l2_device_register():
(gdb) bt
#0  0x000000000040aeba in v4l2_device_register (dev=0x8011bf4b0,
v4l2_dev=0x801202630)
    at /tank/ports/multimedia/webcamd/work.bak/webcamd-0.1.18/v4l-dvb/linux/drivers/media/video/v4l2-device.c:47
#1  0x000000000046c933 in em28xx_usb_probe (interface=0x8011bf4b0, id=0x6d43c8)
    at /tank/ports/multimedia/webcamd/work.bak/webcamd-0.1.18/v4l-dvb/linux/drivers/media/video/em28xx/em28xx-cards.c:2908
#2  0x00000000004084f2 in usb_linux_probe_p (p_bus=0x758d50,
p_addr=0x758d54, p_index=0x758d58) at
/tank/ports/multimedia/webcamd/work.bak/webcamd-0.1.18/kernel/linux_usb.c:415
#3  0x00000000004f04ff in main (argc=-5792, argv=0x7fffffffea80) at
webcamd.c:482
(gdb) frame 0
#0  0x000000000040aeba in v4l2_device_register (dev=0x8011bf4b0,
v4l2_dev=0x801202630)
    at /tank/ports/multimedia/webcamd/work.bak/webcamd-0.1.18/v4l-dvb/linux/drivers/media/video/v4l2-device.c:47
47                      snprintf(v4l2_dev->name,
sizeof(v4l2_dev->name), "%s %s",
(gdb) l
42                      return 0;
43              }
44
45              /* Set name to driver name + device name if it is empty. */
46              if (!v4l2_dev->name[0])
47                      snprintf(v4l2_dev->name,
sizeof(v4l2_dev->name), "%s %s",
48                              dev->driver->name, dev_name(dev));
49              if (dev_get_drvdata(dev))
50                      v4l2_warn(v4l2_dev, "Non-NULL drvdata on register\n");
51              dev_set_drvdata(dev, v4l2_dev);
(gdb) p dev->driver->name
Cannot access memory at address 0x0
(gdb) p dev->driver
$2 = (struct device_driver *) 0x0
(gdb) p dev
$3 = (struct device *) 0x8011bf4b0


Advice?

Thanks,

Drew
-------------- next part --------------
A non-text attachment was scrubbed...
Name: t.diff
Type: text/x-patch
Size: 11926 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-multimedia/attachments/20110108/a46f1bb6/t.bin


More information about the freebsd-multimedia mailing list