r4945 - developers/werner/gta03/cam/patches
werner at docs.openmoko.org
werner at docs.openmoko.org
Tue Mar 3 15:07:30 CET 2009
Author: werner
Date: 2009-03-03 15:07:29 +0100 (Tue, 03 Mar 2009)
New Revision: 4945
Added:
developers/werner/gta03/cam/patches/add-64xx-hclk2.patch
developers/werner/gta03/cam/patches/mach-om3d7k-add-cam.patch
developers/werner/gta03/cam/patches/update-om3d7k-defconfig.patch
Removed:
developers/werner/gta03/cam/patches/mach-gta03-add-cam.patch
developers/werner/gta03/cam/patches/wip.patch
Modified:
developers/werner/gta03/cam/patches/add-64xx-cam-clock.patch
developers/werner/gta03/cam/patches/add-s3c-cam-platform.patch
developers/werner/gta03/cam/patches/series
Log:
Restructure patches for submission. Back out the atrocities in wip.patch
Modified: developers/werner/gta03/cam/patches/add-64xx-cam-clock.patch
===================================================================
--- developers/werner/gta03/cam/patches/add-64xx-cam-clock.patch 2009-03-03 10:48:14 UTC (rev 4944)
+++ developers/werner/gta03/cam/patches/add-64xx-cam-clock.patch 2009-03-03 14:07:29 UTC (rev 4945)
@@ -1,45 +1,8 @@
-Index: cam/arch/arm/plat-s3c/include/plat/clock.h
-===================================================================
---- cam.orig/arch/arm/plat-s3c/include/plat/clock.h 2009-02-27 15:19:10.000000000 +0800
-+++ cam/arch/arm/plat-s3c/include/plat/clock.h 2009-02-27 15:19:18.000000000 +0800
-@@ -50,6 +50,7 @@
- extern struct clk clk_ext;
-
- /* S3C64XX specific clocks */
-+extern struct clk clk_h2;
- extern struct clk clk_27m;
- extern struct clk clk_48m;
-
-Index: cam/arch/arm/plat-s3c64xx/clock.c
-===================================================================
---- cam.orig/arch/arm/plat-s3c64xx/clock.c 2009-02-27 15:19:10.000000000 +0800
-+++ cam/arch/arm/plat-s3c64xx/clock.c 2009-02-27 15:19:18.000000000 +0800
-@@ -27,6 +27,12 @@
- #include <plat/devs.h>
- #include <plat/clock.h>
-
-+struct clk clk_h2 = {
-+ .name = "hclk2",
-+ .id = -1,
-+ .rate = 0,
-+};
-+
- struct clk clk_27m = {
- .name = "clk_27m",
- .id = -1,
-@@ -270,6 +276,7 @@
- &clk_epll,
- &clk_27m,
- &clk_48m,
-+ &clk_h2,
- };
-
- void s3c64xx_register_clocks(void)
Index: cam/arch/arm/plat-s3c64xx/s3c6400-clock.c
===================================================================
---- cam.orig/arch/arm/plat-s3c64xx/s3c6400-clock.c 2009-02-27 15:19:10.000000000 +0800
-+++ cam/arch/arm/plat-s3c64xx/s3c6400-clock.c 2009-02-27 15:49:59.000000000 +0800
-@@ -518,6 +518,33 @@
+--- cam.orig/arch/arm/plat-s3c64xx/s3c6400-clock.c 2009-03-03 19:07:03.000000000 +0800
++++ cam/arch/arm/plat-s3c64xx/s3c6400-clock.c 2009-03-03 19:07:11.000000000 +0800
+@@ -520,6 +520,33 @@
.reg_divider = S3C_CLK_DIV2,
};
@@ -73,7 +36,7 @@
/* Clock initialisation code */
static struct clksrc_clk *init_parents[] = {
-@@ -534,6 +561,7 @@
+@@ -536,6 +563,7 @@
&clk_audio0,
&clk_audio1,
&clk_irda,
@@ -81,15 +44,7 @@
};
static void __init_or_cpufreq s3c6400_set_clksrc(struct clksrc_clk *clk)
-@@ -606,6 +634,7 @@
- clk_fout_epll.rate = epll;
- clk_fout_apll.rate = apll;
-
-+ clk_h2.rate = hclk2;
- clk_h.rate = hclk;
- clk_p.rate = pclk;
- clk_f.rate = fclk;
-@@ -633,6 +662,7 @@
+@@ -636,6 +664,7 @@
&clk_audio0.clk,
&clk_audio1.clk,
&clk_irda.clk,
Added: developers/werner/gta03/cam/patches/add-64xx-hclk2.patch
===================================================================
--- developers/werner/gta03/cam/patches/add-64xx-hclk2.patch (rev 0)
+++ developers/werner/gta03/cam/patches/add-64xx-hclk2.patch 2009-03-03 14:07:29 UTC (rev 4945)
@@ -0,0 +1,49 @@
+Index: cam/arch/arm/plat-s3c/include/plat/clock.h
+===================================================================
+--- cam.orig/arch/arm/plat-s3c/include/plat/clock.h 2009-03-03 19:06:53.000000000 +0800
++++ cam/arch/arm/plat-s3c/include/plat/clock.h 2009-03-03 19:07:03.000000000 +0800
+@@ -50,6 +50,7 @@
+ extern struct clk clk_ext;
+
+ /* S3C64XX specific clocks */
++extern struct clk clk_h2;
+ extern struct clk clk_27m;
+ extern struct clk clk_48m;
+
+Index: cam/arch/arm/plat-s3c64xx/clock.c
+===================================================================
+--- cam.orig/arch/arm/plat-s3c64xx/clock.c 2009-03-03 19:06:53.000000000 +0800
++++ cam/arch/arm/plat-s3c64xx/clock.c 2009-03-03 19:07:03.000000000 +0800
+@@ -27,6 +27,12 @@
+ #include <plat/devs.h>
+ #include <plat/clock.h>
+
++struct clk clk_h2 = {
++ .name = "hclk2",
++ .id = -1,
++ .rate = 0,
++};
++
+ struct clk clk_27m = {
+ .name = "clk_27m",
+ .id = -1,
+@@ -270,6 +276,7 @@
+ &clk_epll,
+ &clk_27m,
+ &clk_48m,
++ &clk_h2,
+ };
+
+ void s3c64xx_register_clocks(void)
+Index: cam/arch/arm/plat-s3c64xx/s3c6400-clock.c
+===================================================================
+--- cam.orig/arch/arm/plat-s3c64xx/s3c6400-clock.c 2009-03-03 19:07:01.000000000 +0800
++++ cam/arch/arm/plat-s3c64xx/s3c6400-clock.c 2009-03-03 19:07:03.000000000 +0800
+@@ -608,6 +608,7 @@
+ clk_fout_epll.rate = epll;
+ clk_fout_apll.rate = apll;
+
++ clk_h2.rate = hclk2;
+ clk_h.rate = hclk;
+ clk_p.rate = pclk;
+ clk_f.rate = fclk;
Modified: developers/werner/gta03/cam/patches/add-s3c-cam-platform.patch
===================================================================
--- developers/werner/gta03/cam/patches/add-s3c-cam-platform.patch 2009-03-03 10:48:14 UTC (rev 4944)
+++ developers/werner/gta03/cam/patches/add-s3c-cam-platform.patch 2009-03-03 14:07:29 UTC (rev 4945)
@@ -1,7 +1,7 @@
Index: cam/arch/arm/plat-s3c/dev-camif.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ cam/arch/arm/plat-s3c/dev-camif.c 2009-02-27 12:32:43.000000000 +0800
++++ cam/arch/arm/plat-s3c/dev-camif.c 2009-03-03 19:06:20.000000000 +0800
@@ -0,0 +1,59 @@
+/* linux/arch/arm/plat-s3c/dev-hsmmc.c
+ *
@@ -64,8 +64,8 @@
+EXPORT_SYMBOL(s3c_device_camif);
Index: cam/arch/arm/plat-s3c/Kconfig
===================================================================
---- cam.orig/arch/arm/plat-s3c/Kconfig 2009-02-27 12:29:18.000000000 +0800
-+++ cam/arch/arm/plat-s3c/Kconfig 2009-02-27 12:29:23.000000000 +0800
+--- cam.orig/arch/arm/plat-s3c/Kconfig 2009-03-03 16:50:36.000000000 +0800
++++ cam/arch/arm/plat-s3c/Kconfig 2009-03-03 19:06:20.000000000 +0800
@@ -193,4 +193,9 @@
help
Compile in platform device definition for framebuffer
@@ -78,9 +78,9 @@
endif
Index: cam/arch/arm/plat-s3c/Makefile
===================================================================
---- cam.orig/arch/arm/plat-s3c/Makefile 2009-02-27 12:29:18.000000000 +0800
-+++ cam/arch/arm/plat-s3c/Makefile 2009-02-27 12:29:23.000000000 +0800
-@@ -31,6 +31,7 @@
+--- cam.orig/arch/arm/plat-s3c/Makefile 2009-03-03 16:50:36.000000000 +0800
++++ cam/arch/arm/plat-s3c/Makefile 2009-03-03 19:06:20.000000000 +0800
+@@ -35,6 +35,7 @@
obj-y += dev-i2c0.o
obj-$(CONFIG_S3C_DEV_I2C1) += dev-i2c1.o
obj-$(CONFIG_S3C_DEV_FB) += dev-fb.o
Deleted: developers/werner/gta03/cam/patches/mach-gta03-add-cam.patch
===================================================================
--- developers/werner/gta03/cam/patches/mach-gta03-add-cam.patch 2009-03-03 10:48:14 UTC (rev 4944)
+++ developers/werner/gta03/cam/patches/mach-gta03-add-cam.patch 2009-03-03 14:07:29 UTC (rev 4945)
@@ -1,54 +0,0 @@
-Index: cam/arch/arm/mach-s3c6410/mach-om-gta03.c
-===================================================================
---- cam.orig/arch/arm/mach-s3c6410/mach-om-gta03.c 2009-02-27 17:54:12.000000000 +0800
-+++ cam/arch/arm/mach-s3c6410/mach-om-gta03.c 2009-02-27 18:20:14.000000000 +0800
-@@ -84,6 +84,8 @@
- #include <plat/regs-usb-hs-otg.h>
-
- extern struct platform_device s3c_device_usbgadget;
-+extern struct platform_device s3c_device_camif; /* @@@ chgange plat/devs.h */
-+
-
- /* -------------------------------------------------------------------------------
- * GTA03 FIQ related
-@@ -878,6 +880,9 @@
- .irq = GTA03_IRQ_LED,
- .platform_data = &om_gta03_lp5521_pdata,
- },
-+ {
-+ I2C_BOARD_INFO("s5k4xa", 0x2d),
-+ },
-
- };
-
-@@ -894,6 +899,7 @@
- >a03_device_spi_lcm,
- &s3c_device_usbgadget,
- &s3c24xx_pwm_device,
-+ &s3c_device_camif,
- };
-
-
-@@ -951,6 +957,10 @@
- pcf50633_reg_write(pcf, PCF50633_REG_LEDENA, 0x01);
- pcf50633_reg_write(pcf, PCF50633_REG_LEDOUT, 0x3f);
-
-+ /* @@@ do this properly later - WA */
-+ pcf50633_reg_write(om_gta03_pcf, 0x30, 0x21);
-+ pcf50633_reg_write(om_gta03_pcf, 0x39, 0x13);
-+ pcf50633_reg_write(om_gta03_pcf, 0x3a, 0x21);
- }
-
- static void gta03_l1k002_pwronoff(int level)
-Index: cam/arch/arm/mach-s3c6410/Kconfig
-===================================================================
---- cam.orig/arch/arm/mach-s3c6410/Kconfig 2009-02-27 17:54:12.000000000 +0800
-+++ cam/arch/arm/mach-s3c6410/Kconfig 2009-02-27 17:54:24.000000000 +0800
-@@ -70,6 +70,7 @@
- select S3C6410_SETUP_SDHCI
- select S3C64XX_SETUP_I2C1
- select S3C_DEV_FB
-+ select S3C_DEV_CAMIF
- select S3C64XX_SETUP_FB_24BPP
- # select SENSORS_PCF50633
- select POWER_SUPPLY
Added: developers/werner/gta03/cam/patches/mach-om3d7k-add-cam.patch
===================================================================
--- developers/werner/gta03/cam/patches/mach-om3d7k-add-cam.patch (rev 0)
+++ developers/werner/gta03/cam/patches/mach-om3d7k-add-cam.patch 2009-03-03 14:07:29 UTC (rev 4945)
@@ -0,0 +1,54 @@
+Index: cam/arch/arm/mach-s3c6410/mach-om-3d7k.c
+===================================================================
+--- cam.orig/arch/arm/mach-s3c6410/mach-om-3d7k.c 2009-03-03 16:51:22.000000000 +0800
++++ cam/arch/arm/mach-s3c6410/mach-om-3d7k.c 2009-03-03 19:13:13.000000000 +0800
+@@ -84,6 +84,8 @@
+ #include <plat/regs-usb-hs-otg.h>
+
+ extern struct platform_device s3c_device_usbgadget;
++extern struct platform_device s3c_device_camif; /* @@@ chgange plat/devs.h */
++
+
+ /* -------------------------------------------------------------------------------
+ * OM_3D7K FIQ related
+@@ -879,6 +881,9 @@
+ .platform_data = &om_3d7k_lp5521_pdata,
+ },
+ {
++ I2C_BOARD_INFO("s5k4xa", 0x2d),
++ },
++ {
+ I2C_BOARD_INFO("wm8753", 0x1a),
+ },
+ };
+@@ -896,6 +901,7 @@
+ &om_3d7k_device_spi_lcm,
+ &s3c_device_usbgadget,
+ &s3c24xx_pwm_device,
++ &s3c_device_camif,
+ };
+
+
+@@ -953,6 +959,10 @@
+ pcf50633_reg_write(pcf, PCF50633_REG_LEDENA, 0x01);
+ pcf50633_reg_write(pcf, PCF50633_REG_LEDOUT, 0x3f);
+
++ /* @@@ 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)
+Index: cam/arch/arm/mach-s3c6410/Kconfig
+===================================================================
+--- cam.orig/arch/arm/mach-s3c6410/Kconfig 2009-03-03 16:51:22.000000000 +0800
++++ cam/arch/arm/mach-s3c6410/Kconfig 2009-03-03 19:12:24.000000000 +0800
+@@ -70,6 +70,7 @@
+ select S3C6410_SETUP_SDHCI
+ select S3C64XX_SETUP_I2C1
+ select S3C_DEV_FB
++ select S3C_DEV_CAMIF
+ select S3C64XX_SETUP_FB_24BPP
+ # select SENSORS_PCF50633
+ select POWER_SUPPLY
Modified: developers/werner/gta03/cam/patches/series
===================================================================
--- developers/werner/gta03/cam/patches/series 2009-03-03 10:48:14 UTC (rev 4944)
+++ developers/werner/gta03/cam/patches/series 2009-03-03 14:07:29 UTC (rev 4945)
@@ -1,10 +1,12 @@
-add-s3c-cam-config.patch
+fix-s3c64xx_setrate_clksrc.patch
+add-64xx-hclk2.patch
+add-64xx-cam-clock.patch
add-s3c-camif-regs.patch
+add-s3c-camif.patch
+add-s3c-cam-platform.patch
add-samsung-cams-i2c.patch
add-s5k4.patch
-add-s3c-cam-platform.patch
-add-64xx-cam-clock.patch
-add-s3c-camif.patch
-mach-gta03-add-cam.patch
-fix-s3c64xx_setrate_clksrc.patch
-wip.patch
+add-s3c-cam-config.patch
+mach-om3d7k-add-cam.patch
+# defconfig
+update-om3d7k-defconfig.patch
Added: developers/werner/gta03/cam/patches/update-om3d7k-defconfig.patch
===================================================================
--- developers/werner/gta03/cam/patches/update-om3d7k-defconfig.patch (rev 0)
+++ developers/werner/gta03/cam/patches/update-om3d7k-defconfig.patch 2009-03-03 14:07:29 UTC (rev 4945)
@@ -0,0 +1,125 @@
+Index: cam/arch/arm/configs/om_3d7k_defconfig
+===================================================================
+--- cam.orig/arch/arm/configs/om_3d7k_defconfig 2009-03-03 21:52:58.000000000 +0800
++++ cam/arch/arm/configs/om_3d7k_defconfig 2009-03-03 21:53:04.000000000 +0800
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+ # Linux kernel version: 2.6.29-rc3
+-# Mon Mar 2 16:20:27 2009
++# Tue Mar 3 19:23:50 2009
+ #
+ CONFIG_ARM=y
+ CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+@@ -204,6 +204,7 @@
+ CONFIG_S3C_DEV_HSMMC1=y
+ CONFIG_S3C_DEV_I2C1=y
+ CONFIG_S3C_DEV_FB=y
++CONFIG_S3C_DEV_CAMIF=y
+ CONFIG_CPU_S3C6410=y
+ CONFIG_S3C6410_SETUP_SDHCI=y
+ # CONFIG_MACH_SMDK6410 is not set
+@@ -1010,13 +1011,101 @@
+ #
+ # Multimedia core support
+ #
+-# CONFIG_VIDEO_DEV is not set
++CONFIG_VIDEO_DEV=y
++CONFIG_VIDEO_V4L2_COMMON=y
++# CONFIG_VIDEO_ALLOW_V4L1 is not set
++# CONFIG_VIDEO_V4L1_COMPAT is not set
+ # CONFIG_DVB_CORE is not set
+-# CONFIG_VIDEO_MEDIA is not set
++CONFIG_VIDEO_MEDIA=y
+
+ #
+ # Multimedia drivers
+ #
++# CONFIG_MEDIA_ATTACH is not set
++CONFIG_MEDIA_TUNER=y
++CONFIG_MEDIA_TUNER_CUSTOMIZE=y
++# CONFIG_MEDIA_TUNER_SIMPLE is not set
++# CONFIG_MEDIA_TUNER_TDA8290 is not set
++# CONFIG_MEDIA_TUNER_TDA827X is not set
++# CONFIG_MEDIA_TUNER_TDA18271 is not set
++# CONFIG_MEDIA_TUNER_TDA9887 is not set
++# CONFIG_MEDIA_TUNER_TEA5761 is not set
++# CONFIG_MEDIA_TUNER_TEA5767 is not set
++# CONFIG_MEDIA_TUNER_MT20XX is not set
++# CONFIG_MEDIA_TUNER_MT2060 is not set
++# CONFIG_MEDIA_TUNER_MT2266 is not set
++# CONFIG_MEDIA_TUNER_MT2131 is not set
++# CONFIG_MEDIA_TUNER_QT1010 is not set
++# CONFIG_MEDIA_TUNER_XC2028 is not set
++# CONFIG_MEDIA_TUNER_XC5000 is not set
++# CONFIG_MEDIA_TUNER_MXL5005S is not set
++# CONFIG_MEDIA_TUNER_MXL5007T is not set
++CONFIG_VIDEO_V4L2=y
++CONFIG_VIDEO_CAPTURE_DRIVERS=y
++# CONFIG_VIDEO_ADV_DEBUG is not set
++# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
++# CONFIG_VIDEO_HELPER_CHIPS_AUTO is not set
++
++#
++# Encoders/decoders and other helper chips
++#
++
++#
++# Audio decoders
++#
++# CONFIG_VIDEO_TVAUDIO is not set
++# CONFIG_VIDEO_TDA7432 is not set
++# CONFIG_VIDEO_TDA9840 is not set
++# CONFIG_VIDEO_TDA9875 is not set
++# CONFIG_VIDEO_TEA6415C is not set
++# CONFIG_VIDEO_TEA6420 is not set
++# CONFIG_VIDEO_MSP3400 is not set
++# CONFIG_VIDEO_CS5345 is not set
++# CONFIG_VIDEO_CS53L32A is not set
++# CONFIG_VIDEO_M52790 is not set
++# CONFIG_VIDEO_TLV320AIC23B is not set
++# CONFIG_VIDEO_WM8775 is not set
++# CONFIG_VIDEO_WM8739 is not set
++# CONFIG_VIDEO_VP27SMPX is not set
++
++#
++# Video decoders
++#
++# CONFIG_VIDEO_OV7670 is not set
++# CONFIG_VIDEO_TCM825X is not set
++# CONFIG_VIDEO_SAA711X is not set
++# CONFIG_VIDEO_SAA717X is not set
++# CONFIG_VIDEO_TVP514X is not set
++# CONFIG_VIDEO_TVP5150 is not set
++
++#
++# Video and audio decoders
++#
++# CONFIG_VIDEO_CX25840 is not set
++
++#
++# MPEG video encoders
++#
++# CONFIG_VIDEO_CX2341X is not set
++
++#
++# Video encoders
++#
++# CONFIG_VIDEO_SAA7127 is not set
++
++#
++# Video improvement chips
++#
++# CONFIG_VIDEO_UPD64031A is not set
++# CONFIG_VIDEO_UPD64083 is not set
++# CONFIG_VIDEO_VIVI is not set
++# CONFIG_VIDEO_SAA5246A is not set
++# CONFIG_VIDEO_SAA5249 is not set
++CONFIG_VIDEO_SAMSUNG=y
++CONFIG_VIDEO_SAMSUNG_S5K4BA=y
++# CONFIG_SOC_CAMERA is not set
++# CONFIG_V4L_USB_DRIVERS is not set
++# CONFIG_RADIO_ADAPTERS is not set
+ # CONFIG_DAB is not set
+
+ #
Deleted: developers/werner/gta03/cam/patches/wip.patch
===================================================================
--- developers/werner/gta03/cam/patches/wip.patch 2009-03-03 10:48:14 UTC (rev 4944)
+++ developers/werner/gta03/cam/patches/wip.patch 2009-03-03 14:07:29 UTC (rev 4945)
@@ -1,190 +0,0 @@
-Index: cam/drivers/i2c/i2c-core.c
-===================================================================
---- cam.orig/drivers/i2c/i2c-core.c 2009-02-27 20:35:46.000000000 +0800
-+++ cam/drivers/i2c/i2c-core.c 2009-02-27 20:35:50.000000000 +0800
-@@ -1139,6 +1139,7 @@
- {
- int err;
-
-+printk("*** addr 0x%x kind %d\n", addr, kind);
- /* Make sure the address is valid */
- /*if (addr < 0x03 || addr > 0x77) {
- dev_warn(&adapter->dev, "Invalid probe address 0x%02x\n",
-@@ -1152,9 +1153,11 @@
-
- /* Make sure there is something at this address, unless forced */
- if (kind < 0) {
-+printk("*** [1]\n");
- if (i2c_smbus_xfer(adapter, addr, 0, 0, 0,
- I2C_SMBUS_QUICK, NULL) < 0)
- return 0;
-+printk("*** [2]\n");
-
- /* prevent 24RF08 corruption */
- if ((addr & ~0x0f) == 0x50)
-@@ -1163,7 +1166,9 @@
- }
-
- /* Finally call the custom detection function */
-+printk("*** [3]\n");
- err = found_proc(adapter, addr, kind);
-+printk("*** err = %d\n", err);
- /* -ENODEV can be returned if there is a chip at the given address
- but it isn't supported by this chip driver. We catch it here as
- this isn't an error. */
-Index: cam/drivers/media/video/s3c_camera_driver.c
-===================================================================
---- cam.orig/drivers/media/video/s3c_camera_driver.c 2009-02-27 20:35:50.000000000 +0800
-+++ cam/drivers/media/video/s3c_camera_driver.c 2009-02-27 20:35:50.000000000 +0800
-@@ -56,27 +56,21 @@
- extern camif_cis_t msdma_input;
- extern int s3c_camif_do_postprocess(camif_cfg_t *cfg);
-
-+int codec_minor = CODEC_MINOR, preview_minor = PREVIEW_MINOR;
- /*************************************************************************
- * Utility part
- ************************************************************************/
- camif_cfg_t *s3c_camif_get_fimc_object(int nr)
- {
- camif_cfg_t *ret = NULL;
--
-- switch (nr) {
-- case CODEC_MINOR:
-- ret = &s3c_fimc[FIMC_CODEC_INDEX];
-- break;
--
-- case PREVIEW_MINOR:
-- ret = &s3c_fimc[FIMC_PREVIEW_INDEX];
-- break;
--
-- default:
-- printk(KERN_ERR "Unknown minor number\n");
-- }
--
-- return ret;
-+/* @@@ */
-+return &s3c_fimc[FIMC_PREVIEW_INDEX];
-+ if (nr == codec_minor)
-+ return &s3c_fimc[FIMC_CODEC_INDEX];
-+ if (nr == preview_minor)
-+ return &s3c_fimc[FIMC_PREVIEW_INDEX];
-+ printk(KERN_ERR "Unknown minor number\n");
-+ return NULL;
- }
-
- #if defined(FSM_ON_PREVIEW)
-@@ -1362,7 +1356,12 @@
- int s3c_camif_open(struct file *file)
- {
- int err;
-+printk("file %p\n", file);
-+printk("f_dentry %p\n", file->f_dentry);
-+printk("d_inode %p\n", file->f_dentry->d_inode);
-+printk("min %d\n", MINOR(file->f_dentry->d_inode->i_rdev));
- camif_cfg_t *cfg = s3c_camif_get_fimc_object(MINOR(file->f_dentry->d_inode->i_rdev));
-+printk("cfg %p\n", cfg);
-
- if (!cfg->cis) {
- printk(KERN_ERR "An object for a CIS is missing\n");
-@@ -1665,7 +1664,7 @@
- cfg->status = CAMIF_STOPPED;
-
- /* To get the handle of CODEC */
-- cfg->other = s3c_camif_get_fimc_object(CODEC_MINOR);
-+ cfg->other = s3c_camif_get_fimc_object(codec_minor);
-
- return cfg->status;
- }
-@@ -1691,7 +1690,7 @@
- cfg->status = CAMIF_STOPPED;
-
- /* To get the handle of PREVIEW */
-- cfg->other = s3c_camif_get_fimc_object(PREVIEW_MINOR);
-+ cfg->other = s3c_camif_get_fimc_object(preview_minor);
-
- return cfg->status;
- }
-@@ -1703,8 +1702,8 @@
- int ret = 0;
-
- /* Initialize fimc objects */
-- codec = s3c_camif_get_fimc_object(CODEC_MINOR);
-- preview = s3c_camif_get_fimc_object(PREVIEW_MINOR);
-+ codec = s3c_camif_get_fimc_object(codec_minor);
-+ preview = s3c_camif_get_fimc_object(preview_minor);
-
- memset(codec, 0, sizeof(camif_cfg_t));
- memset(preview, 0, sizeof(camif_cfg_t));
-@@ -1766,6 +1765,8 @@
- printk(KERN_ERR "Couldn't register this preview driver\n");
- return -1;
- }
-+codec_minor = codec->v->minor;
-+preview_minor = preview->v->minor;
-
- #if defined(CONFIG_CPU_S3C6400) || defined(CONFIG_CPU_S3C6410)
- cam_clock = clk_get(&pdev->dev, "camera");
-@@ -1793,8 +1794,8 @@
- {
- camif_cfg_t *codec, *preview;
-
-- codec = s3c_camif_get_fimc_object(CODEC_MINOR);
-- preview = s3c_camif_get_fimc_object(PREVIEW_MINOR);
-+ codec = s3c_camif_get_fimc_object(codec_minor);
-+ preview = s3c_camif_get_fimc_object(preview_minor);
-
- s3c_camif_release_irq(codec);
- s3c_camif_release_irq(preview);
-@@ -1850,8 +1851,8 @@
- camif_cfg_t *codec, *preview;
- camif_cis_t *cis = i2c_get_clientdata(ptr);
-
-- codec = s3c_camif_get_fimc_object(CODEC_MINOR);
-- preview = s3c_camif_get_fimc_object(PREVIEW_MINOR);
-+ codec = s3c_camif_get_fimc_object(codec_minor);
-+ preview = s3c_camif_get_fimc_object(preview_minor);
-
- codec->cis = preview->cis = cis;
-
-Index: cam/drivers/media/video/samsung/4xa_sensor.c
-===================================================================
---- cam.orig/drivers/media/video/samsung/4xa_sensor.c 2009-02-27 20:35:50.000000000 +0800
-+++ cam/drivers/media/video/samsung/4xa_sensor.c 2009-02-27 20:38:55.000000000 +0800
-@@ -104,7 +104,7 @@
- static unsigned short normal_addr[] = { (CAM_ID >> 1), I2C_CLIENT_END };
- static const unsigned short *forces[] = { NULL };
-
--static struct i2c_client_address_data addr_data = {
-+static struct i2c_client_address_data exitaddr_data = {
- .normal_i2c = normal_addr,
- .probe = ignore,
- .ignore = ignore,
-@@ -164,6 +164,7 @@
- {
- struct i2c_client *c;
-
-+printk("*** s5k4xa_attach\n");
- c = kmalloc(sizeof(*c), GFP_KERNEL);
- if (!c)
- return -ENOMEM;
-@@ -184,8 +185,11 @@
-
- static int sensor_attach_adapter(struct i2c_adapter *adap)
- {
-+printk("*** sensor_attach_adapter\n");
- s3c_camif_open_sensor(&data);
-- return i2c_probe(adap, &addr_data, s5k4xa_attach);
-+/* I2C core thinks it's already there. weird. */
-+return s5k4xa_attach(adap, 0x2d, -1);
-+// return i2c_probe(adap, &addr_data, s5k4xa_attach);
- }
-
- static int sensor_detach(struct i2c_client *client)
-@@ -328,6 +332,7 @@
-
- static __init int camif_sensor_init(void)
- {
-+printk("*** camif_sensor_init\n");
- return i2c_add_driver(&sensor_driver);
- }
-
More information about the commitlog
mailing list