aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWerner Almesberger <werner@openmoko.org>2009-03-05 14:40:27 +0000
committerAndy Green <agreen@octopus.localdomain>2009-03-05 14:40:27 +0000
commitfcc8cec4e6a2bd534210ba4299e7daf530568d08 (patch)
tree142ae6263821a12a36317e0a375519a99999f4e2
parent1c07916501614ce24b3530f9c2651001fc41eb49 (diff)
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 <werner@openmoko.org>
-rw-r--r--arch/arm/mach-s3c6410/mach-om-3d7k.c4
-rw-r--r--drivers/media/video/s3c_camera_driver.c1
2 files changed, 5 insertions, 0 deletions
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;