Skip to content

Commit

Permalink
[media] s5p-fimc: Remove sclk_cam clock handling
Browse files Browse the repository at this point in the history
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: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Sylwester Nawrocki authored and Mauro Carvalho Chehab committed Sep 6, 2011
1 parent 96a8574 commit ebdfea8
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 12 deletions.
12 changes: 2 additions & 10 deletions drivers/media/video/s5p-fimc/fimc-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
#include "fimc-core.h"

static char *fimc_clocks[MAX_FIMC_CLOCKS] = {
"sclk_fimc", "fimc", "sclk_cam"
"sclk_fimc", "fimc"
};

static struct fimc_fmt fimc_formats[] = {
Expand Down Expand Up @@ -1636,7 +1636,6 @@ static int fimc_probe(struct platform_device *pdev)
struct samsung_fimc_driverdata *drv_data;
struct s5p_platform_fimc *pdata;
int ret = 0;
int cap_input_index = -1;

dev_dbg(&pdev->dev, "%s():\n", __func__);

Expand Down Expand Up @@ -1689,14 +1688,6 @@ static int fimc_probe(struct platform_device *pdev)
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);
if (!res) {
dev_err(&pdev->dev, "failed to get IRQ resource\n");
Expand All @@ -1705,6 +1696,7 @@ static int fimc_probe(struct platform_device *pdev)
}
fimc->irq = res->start;

fimc->num_clocks = MAX_FIMC_CLOCKS;
ret = fimc_clk_get(fimc);
if (ret)
goto err_regs_unmap;
Expand Down
3 changes: 1 addition & 2 deletions drivers/media/video/s5p-fimc/fimc-core.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@

/* Time to wait for next frame VSYNC interrupt while stopping operation. */
#define FIMC_SHUTDOWN_TIMEOUT ((100*HZ)/1000)
#define MAX_FIMC_CLOCKS 3
#define MAX_FIMC_CLOCKS 2
#define MODULE_NAME "s5p-fimc"
#define FIMC_MAX_DEVS 4
#define FIMC_MAX_OUT_BUFS 4
Expand All @@ -46,7 +46,6 @@
enum {
CLK_BUS,
CLK_GATE,
CLK_CAM,
};

enum fimc_dev_flags {
Expand Down

0 comments on commit ebdfea8

Please sign in to comment.