Commit ebdfea81 authored by Sylwester Nawrocki's avatar Sylwester Nawrocki Committed by Mauro Carvalho Chehab

[media] s5p-fimc: Remove sclk_cam clock handling

There are 2 separate clock outputs available in the SoC for external sensors.
These two clocks can be shared among all FIMC entities and there is
currently no any arbitration of the clocks in the driver.

So make the capture driver not touching these clocks and let them be
be properly handled at the media device driver level, enabling proper
arbitration between FIMC entities.
Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 96a85742
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#include "fimc-core.h" #include "fimc-core.h"
static char *fimc_clocks[MAX_FIMC_CLOCKS] = { static char *fimc_clocks[MAX_FIMC_CLOCKS] = {
"sclk_fimc", "fimc", "sclk_cam" "sclk_fimc", "fimc"
}; };
static struct fimc_fmt fimc_formats[] = { static struct fimc_fmt fimc_formats[] = {
...@@ -1636,7 +1636,6 @@ static int fimc_probe(struct platform_device *pdev) ...@@ -1636,7 +1636,6 @@ static int fimc_probe(struct platform_device *pdev)
struct samsung_fimc_driverdata *drv_data; struct samsung_fimc_driverdata *drv_data;
struct s5p_platform_fimc *pdata; struct s5p_platform_fimc *pdata;
int ret = 0; int ret = 0;
int cap_input_index = -1;
dev_dbg(&pdev->dev, "%s():\n", __func__); dev_dbg(&pdev->dev, "%s():\n", __func__);
...@@ -1689,14 +1688,6 @@ static int fimc_probe(struct platform_device *pdev) ...@@ -1689,14 +1688,6 @@ static int fimc_probe(struct platform_device *pdev)
goto err_req_region; goto err_req_region;
} }
fimc->num_clocks = MAX_FIMC_CLOCKS - 1;
/* Check if a video capture node needs to be registered. */
if (pdata && pdata->num_clients > 0) {
cap_input_index = 0;
fimc->num_clocks++;
}
res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
if (!res) { if (!res) {
dev_err(&pdev->dev, "failed to get IRQ resource\n"); dev_err(&pdev->dev, "failed to get IRQ resource\n");
...@@ -1705,6 +1696,7 @@ static int fimc_probe(struct platform_device *pdev) ...@@ -1705,6 +1696,7 @@ static int fimc_probe(struct platform_device *pdev)
} }
fimc->irq = res->start; fimc->irq = res->start;
fimc->num_clocks = MAX_FIMC_CLOCKS;
ret = fimc_clk_get(fimc); ret = fimc_clk_get(fimc);
if (ret) if (ret)
goto err_regs_unmap; goto err_regs_unmap;
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
/* Time to wait for next frame VSYNC interrupt while stopping operation. */ /* Time to wait for next frame VSYNC interrupt while stopping operation. */
#define FIMC_SHUTDOWN_TIMEOUT ((100*HZ)/1000) #define FIMC_SHUTDOWN_TIMEOUT ((100*HZ)/1000)
#define MAX_FIMC_CLOCKS 3 #define MAX_FIMC_CLOCKS 2
#define MODULE_NAME "s5p-fimc" #define MODULE_NAME "s5p-fimc"
#define FIMC_MAX_DEVS 4 #define FIMC_MAX_DEVS 4
#define FIMC_MAX_OUT_BUFS 4 #define FIMC_MAX_OUT_BUFS 4
...@@ -46,7 +46,6 @@ ...@@ -46,7 +46,6 @@
enum { enum {
CLK_BUS, CLK_BUS,
CLK_GATE, CLK_GATE,
CLK_CAM,
}; };
enum fimc_dev_flags { enum fimc_dev_flags {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment