Hi Guennadi, Guennadi Liakhovetski wrote: > I uploaded my current patch-stack for the i.MX31 Camera Sensor Interface > to http://gross-embedded.homelinux.org/~lyakh/i.MX31-20090124/ (to be > submitted later, hopefully for 2.6.30). As stated in 0000-base-unknown, > these patches shall be used on top of the > git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx.git tree > "upstream" branch. > I have tested your patchset on our mx31moboard system. However, I would like some precisions on how things should be registered. >From what I have seen in the code and is confirmed in the log below, we have a mx3_camera platform device that is registered and matched with the mx3_camera driver (please note the filter drop, is that normal ? Should some other things be registered ?) > kobject:kobject: 'mx3_camera' (bf008008): kobject_add_internal: parent: 'module', set: 'module' > kobject:kobject: 'holders' (c7963360): kobject_add_internal: parent: 'mx3_camera', set: '' > kobject_uevent:kobject: 'mx3_camera' (bf008008): kobject_uevent_env > kobject:kobject: 'mx3_camera' (bf008008): fill_kobj_path: path = '/module/mx3_camera' > kobject:kobject: 'notes' (c79632e0): kobject_add_internal: parent: 'mx3_camera', set: '' > bus:bus: 'platform': add driver mx3-camera > kobject:kobject: 'mx3-camera' (c798d0c0): kobject_add_internal: parent: 'drivers', set: 'drivers' > dd:bus: 'platform': driver_probe_device: matched device mx3-camera.0 with driver mx3-camera > dd:bus: 'platform': really_probe: probing driver mx3-camera with device mx3-camera.0 > core:device: 'camera_host0': device_add > kobject:kobject: 'camera_host0' (c889e07c): kobject_add_internal: parent: 'mx3-camera.0', set: 'devices' > kobject_uevent:kobject: 'camera_host0' (c889e07c): kobject_uevent_env > kobject_uevent:kobject: 'camera_host0' (c889e07c): kobject_uevent_env: filter function caused the event to drop! > dd:driver: 'mx3-camera.0': driver_bound: bound to device 'mx3-camera' > dd:bus: 'platform': really_probe: bound device mx3-camera.0 to driver mx3-camera > kobject_uevent:kobject: 'mx3-camera' (c798d0c0): kobject_uevent_env > kobject:kobject: 'mx3-camera' (c798d0c0): fill_kobj_path: path = '/bus/platform/drivers/mx3-camera' The soc-camera also creates a bus. However, even with a capture device driver loaded (let's say mt9m001 for instance), I have nothing in /sys/bus/soc-camera/devices (that's where the capture devices should be regitered thanks to the soc_camera_device_register() call if I have understood correctly). Furthermore, in /sys/bus/soc-camera/drivers, I only have the "dummy" camera driver that is declared in the soc_camera.c file. Shouldn't I have something related to mx3-camera there thanks to the the soc_camera_host_register call (although of course the mx3-camera driver already is registered with the mx3-camera platform_device) as you can see it (like something related to camera_host0): > root@mx31moboard:~/cam_test# ls -al /sys/bus/platform/devices/mx3-camera.0/ > drwxr-xr-x 3 root root 0 Oct 16 13:51 . > drwxr-xr-x 9 root root 0 Oct 16 13:51 .. > lrwxrwxrwx 1 root root 0 Oct 16 13:52 bus -> ../../../bus/platform > drwxr-xr-x 2 root root 0 Oct 16 13:52 camera_host0 > lrwxrwxrwx 1 root root 0 Oct 16 13:52 driver -> ../../../bus/platform/drivers/mx3-camera > -r--r--r-- 1 root root 4096 Oct 16 13:52 modalias > lrwxrwxrwx 1 root root 0 Oct 16 13:52 subsystem -> ../../../bus/platform > -rw-r--r-- 1 root root 4096 Oct 16 13:52 uevent Is all this correct so far, and I would need further declarations in my platform devices for the things to be registered together ? I have attached you the file where I do the initializations related to the mx3_camera device and the sensor we want to test against so that you can check (we are testing with a mt9m001 device atm, but we are targeting a mt9t031 that's why the mixed names). I have tried to copy this from what is done with the pxa. Thank you for your explainations and best regards. Val -- Valentin Longchamp, PhD Student, EPFL-STI-LSRO1 valentin.longchamp@epfl.ch, Phone: +41216937827 http://people.epfl.ch/valentin.longchamp MEA3485, Station 9, CH-1015 Lausanne