From: Mauro Carvalho Chehab Date: Thu, 24 Jan 2013 20:49:18 +0000 (-0200) Subject: Merge branch 'v4l_for_linus' into staging/for_v3.9 X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=a32f7d1ad3744914273c6907204c2ab3b5d496a0;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git Merge branch 'v4l_for_linus' into staging/for_v3.9 * v4l_for_linus: (464 commits) [media] uvcvideo: Set error_idx properly for S_EXT_CTRLS failures [media] uvcvideo: Cleanup leftovers of partial revert [media] uvcvideo: Return -EACCES when trying to set a read-only control Linux 3.8-rc3 mm: reinstante dropped pmd_trans_splitting() check cred: Remove tgcred pointer from struct cred drm/ttm: fix fence locking in ttm_buffer_object_transfer ARM: clps711x: Fix bad merge of clockevents setup ARM: highbank: save and restore L2 cache and GIC on suspend ARM: highbank: add a power request clear ARM: highbank: fix secondary boot and hotplug ARM: highbank: fix typos with hignbank in power request functions ARM: dts: fix highbank cpu mpidr values ARM: dts: add device_type prop to cpu nodes on Calxeda platforms drm/prime: drop reference on imported dma-buf come from gem xen/netfront: improve truesize tracking ARM: mx5: Fix MX53 flexcan2 clock ARM: OMAP2+: am33xx-hwmod: Fix wrongly terminated am33xx_usbss_mpu_irqs array sctp: fix Kconfig bug in default cookie hmac selection EDAC: Cleanup device deregistering path ... Conflicts: drivers/media/pci/dm1105/dm1105.c drivers/media/platform/soc_camera/mx2_camera.c --- a32f7d1ad3744914273c6907204c2ab3b5d496a0 diff --cc drivers/media/pci/dm1105/dm1105.c index c789e7c67e4e,904c3ea350f5..026767bed5cd --- a/drivers/media/pci/dm1105/dm1105.c +++ b/drivers/media/pci/dm1105/dm1105.c @@@ -850,12 -849,7 +850,12 @@@ static struct ds3000_config dvbworld_ds .demod_address = 0x68, }; +static struct ts2020_config dvbworld_ts2020_config = { + .tuner_address = 0x60, + .clk_out_div = 1, +}; + - static int __devinit frontend_init(struct dm1105_dev *dev) + static int frontend_init(struct dm1105_dev *dev) { int ret; diff --cc drivers/media/platform/s5p-mfc/s5p_mfc.c index b1d7f9a9b996,681bc6ba149d..6347f09ca783 --- a/drivers/media/platform/s5p-mfc/s5p_mfc.c +++ b/drivers/media/platform/s5p-mfc/s5p_mfc.c @@@ -1410,38 -1352,9 +1396,38 @@@ static struct platform_device_id mfc_dr }; MODULE_DEVICE_TABLE(platform, mfc_driver_ids); +static const struct of_device_id exynos_mfc_match[] = { + { + .compatible = "samsung,mfc-v5", + .data = &mfc_drvdata_v5, + }, { + .compatible = "samsung,mfc-v6", + .data = &mfc_drvdata_v6, + }, + {}, +}; +MODULE_DEVICE_TABLE(of, exynos_mfc_match); + +static void *mfc_get_drv_data(struct platform_device *pdev) +{ + struct s5p_mfc_variant *driver_data = NULL; + + if (pdev->dev.of_node) { + const struct of_device_id *match; + match = of_match_node(of_match_ptr(exynos_mfc_match), + pdev->dev.of_node); + if (match) + driver_data = (struct s5p_mfc_variant *)match->data; + } else { + driver_data = (struct s5p_mfc_variant *) + platform_get_device_id(pdev)->driver_data; + } + return driver_data; +} + static struct platform_driver s5p_mfc_driver = { .probe = s5p_mfc_probe, - .remove = __devexit_p(s5p_mfc_remove), + .remove = s5p_mfc_remove, .id_table = mfc_driver_ids, .driver = { .name = S5P_MFC_NAME, diff --cc drivers/media/platform/s5p-tv/sii9234_drv.c index 4597342cdfbe,49191aac9634..d90d2286090b --- a/drivers/media/platform/s5p-tv/sii9234_drv.c +++ b/drivers/media/platform/s5p-tv/sii9234_drv.c @@@ -377,11 -378,14 +377,11 @@@ fail return ret; } - static int __devexit sii9234_remove(struct i2c_client *client) + static int sii9234_remove(struct i2c_client *client) { struct device *dev = &client->dev; - struct v4l2_subdev *sd = i2c_get_clientdata(client); - struct sii9234_context *ctx = sd_to_context(sd); pm_runtime_disable(dev); - gpio_free(ctx->gpio_n_reset); dev_info(dev, "remove successful\n"); diff --cc drivers/media/platform/soc_camera/mx2_camera.c index 168e062164e9,8bda2c908aba..27b2e96f27a6 --- a/drivers/media/platform/soc_camera/mx2_camera.c +++ b/drivers/media/platform/soc_camera/mx2_camera.c @@@ -1618,13 -1912,24 +1618,13 @@@ static struct platform_driver mx2_camer .name = MX2_CAM_DRV_NAME, }, .id_table = mx2_camera_devtype, - .remove = __devexit_p(mx2_camera_remove), + .remove = mx2_camera_remove, + .probe = mx2_camera_probe, }; +module_platform_driver(mx2_camera_driver); -static int __init mx2_camera_init(void) -{ - return platform_driver_probe(&mx2_camera_driver, &mx2_camera_probe); -} - -static void __exit mx2_camera_exit(void) -{ - return platform_driver_unregister(&mx2_camera_driver); -} - -module_init(mx2_camera_init); -module_exit(mx2_camera_exit); - -MODULE_DESCRIPTION("i.MX27/i.MX25 SoC Camera Host driver"); +MODULE_DESCRIPTION("i.MX27 SoC Camera Host driver"); MODULE_AUTHOR("Sascha Hauer "); MODULE_LICENSE("GPL"); MODULE_VERSION(MX2_CAM_VERSION); diff --cc drivers/media/platform/soc_camera/sh_mobile_csi2.c index c573be702641,a17aba9a0104..42c559eb4937 --- a/drivers/media/platform/soc_camera/sh_mobile_csi2.c +++ b/drivers/media/platform/soc_camera/sh_mobile_csi2.c @@@ -355,9 -366,10 +355,9 @@@ esdreg return ret; } - static __devexit int sh_csi2_remove(struct platform_device *pdev) + static int sh_csi2_remove(struct platform_device *pdev) { struct sh_csi2 *priv = platform_get_drvdata(pdev); - struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0); v4l2_device_unregister_subdev(&priv->subdev); pm_runtime_disable(&pdev->dev); diff --cc drivers/media/platform/soc_camera/soc_camera.c index dd057f19dbc3,2ec90eae6ba0..8ec98051ea73 --- a/drivers/media/platform/soc_camera/soc_camera.c +++ b/drivers/media/platform/soc_camera/soc_camera.c @@@ -1535,14 -1530,12 +1535,14 @@@ static int soc_camera_video_start(struc return 0; } - static int __devinit soc_camera_pdrv_probe(struct platform_device *pdev) + static int soc_camera_pdrv_probe(struct platform_device *pdev) { - struct soc_camera_link *icl = pdev->dev.platform_data; + struct soc_camera_desc *sdesc = pdev->dev.platform_data; + struct soc_camera_subdev_desc *ssdd = &sdesc->subdev_desc; struct soc_camera_device *icd; + int ret; - if (!icl) + if (!sdesc) return -EINVAL; icd = devm_kzalloc(&pdev->dev, sizeof(*icd), GFP_KERNEL);