if there are two ipu, they will use same pixel look up table.
which will confuse get_clk
Signed-off-by: Jason Chen <b02280@freescale.com>
ipu->pixel_clk[0] = ipu_pixel_clk[0];
ipu->pixel_clk[1] = ipu_pixel_clk[1];
- ipu_lookups[0].clk = &ipu->pixel_clk[0];
- ipu_lookups[1].clk = &ipu->pixel_clk[1];
- clkdev_add(&ipu_lookups[0]);
- clkdev_add(&ipu_lookups[1]);
+ ipu_lookups[pdev->id][0].clk = &ipu->pixel_clk[0];
+ ipu_lookups[pdev->id][1].clk = &ipu->pixel_clk[1];
+ ipu_lookups[pdev->id][0].dev_id = dev_name(ipu->dev);
+ ipu_lookups[pdev->id][1].dev_id = dev_name(ipu->dev);
+ clkdev_add(&ipu_lookups[pdev->id][0]);
+ clkdev_add(&ipu_lookups[pdev->id][1]);
clk_debug_register(&ipu->pixel_clk[0]);
clk_debug_register(&ipu->pixel_clk[1]);
},
};
-struct clk_lookup ipu_lookups[] = {
+struct clk_lookup ipu_lookups[MXC_IPU_MAX_NUM][2] = {
{
- .dev_id = NULL,
- .con_id = "pixel_clk_0",
+ {
+ .con_id = "pixel_clk_0",
+ },
+ {
+ .con_id = "pixel_clk_1",
+ },
},
{
- .dev_id = NULL,
- .con_id = "pixel_clk_1",
+ {
+ .con_id = "pixel_clk_0",
+ },
+ {
+ .con_id = "pixel_clk_1",
+ },
},
};
/* Globals */
extern int dmfc_type_setup;
extern struct clk ipu_pixel_clk[];
-extern struct clk_lookup ipu_lookups[];
+extern struct clk_lookup ipu_lookups[MXC_IPU_MAX_NUM][2];
#define IDMA_CHAN_INVALID 0xFF
#define HIGH_RESOLUTION_WIDTH 1024