From fcc8cec4e6a2bd534210ba4299e7daf530568d08 Mon Sep 17 00:00:00 2001 From: Werner Almesberger Date: Thu, 5 Mar 2009 14:40:27 +0000 Subject: Dirty hacks to make it all work A few dirty hacks to make the camera driver work: - because V4L no longer guarantees that minor numbers provided by the client are actually used, the preview/codec selection mechanism falls apart. We work around this by defaulting to preview when we don't know better. - power up the camera in platform code, not cleanly via power control device. Signed-off-by: Werner Almesberger --- arch/arm/mach-s3c6410/mach-om-3d7k.c | 4 ++++ drivers/media/video/s3c_camera_driver.c | 1 + 2 files changed, 5 insertions(+) diff --git a/arch/arm/mach-s3c6410/mach-om-3d7k.c b/arch/arm/mach-s3c6410/mach-om-3d7k.c index 2dccffd7347..dbe2ce71275 100644 --- a/arch/arm/mach-s3c6410/mach-om-3d7k.c +++ b/arch/arm/mach-s3c6410/mach-om-3d7k.c @@ -1025,6 +1025,10 @@ static void om_3d7k_pcf50633_attach_child_devices(struct pcf50633 *pcf) pcf50633_reg_write(pcf, PCF50633_REG_LEDDIM, 0x01); pcf50633_reg_write(pcf, PCF50633_REG_LEDENA, 0x01); + /* @@@ do this properly later - WA */ + pcf50633_reg_write(om_3d7k_pcf, 0x30, 0x21); + pcf50633_reg_write(om_3d7k_pcf, 0x39, 0x13); + pcf50633_reg_write(om_3d7k_pcf, 0x3a, 0x21); } static void om_3d7k_l1k002_pwronoff(int level) diff --git a/drivers/media/video/s3c_camera_driver.c b/drivers/media/video/s3c_camera_driver.c index 599f9b810bb..ee2763696e6 100644 --- a/drivers/media/video/s3c_camera_driver.c +++ b/drivers/media/video/s3c_camera_driver.c @@ -74,6 +74,7 @@ camif_cfg_t *s3c_camif_get_fimc_object(int nr) default: printk(KERN_ERR "Unknown minor number\n"); + ret = &s3c_fimc[FIMC_PREVIEW_INDEX]; } return ret; -- cgit v1.2.3