V4L/DVB (11607): soc-camera: add a free_bus method to struct soc_camera_link
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Fri, 24 Apr 2009 15:53:51 +0000 (12:53 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 16 Jun 2009 21:20:43 +0000 (18:20 -0300)
commit594bb46dbc63934bc65fa95743f83204bd26a641
tree7901c5c70a18777d74276784219848b4e32abb80
parent84d728c3df9931d1937e4a76324838ce065c521e
V4L/DVB (11607): soc-camera: add a free_bus method to struct soc_camera_link

Currently pcm990 camera bus-width management functions request a GPIO and never
free it again. With this approach the GPIO extender driver cannot be unloaded
once camera drivers have been loaded, also unloading theb i2c-pxa bus driver
produces errors, because the GPIO extender driver cannot unregister properly.
Another problem is, that if camera drivers are once loaded before the GPIO
extender driver, the platform code marks the GPIO unavailable and only a reboot
helps to recover. Adding an explicit free_bus method and using it in mt9m001
and mt9v022 drivers fixes these problems.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
arch/arm/mach-pxa/pcm990-baseboard.c
drivers/media/video/mt9m001.c
drivers/media/video/mt9v022.c
include/media/soc_camera.h