diff --git a/drivers/media/platform/nxp/imx-mipi-csis.c b/drivers/media/platform/nxp/imx-mipi-csis.c
index b1136336a57f..cec035059445 100644
--- a/drivers/media/platform/nxp/imx-mipi-csis.c
+++ b/drivers/media/platform/nxp/imx-mipi-csis.c
@@ -304,6 +304,8 @@ static const struct mipi_csis_event mipi_csis_events[] = {
#define MIPI_CSIS_NUM_EVENTS ARRAY_SIZE(mipi_csis_events)
#define MIPI_CSIS_NUM_ERROR_EVENTS (MIPI_CSIS_NUM_EVENTS - 20)
+#define MIPI_CSIS_MAX_CLOCKS 4
+
enum mipi_csis_clk {
MIPI_CSIS_CLK_PCLK,
MIPI_CSIS_CLK_WRAP,@@ -311,13 +313,6 @@ enum mipi_csis_clk {
MIPI_CSIS_CLK_AXI,
};
-static const char * const mipi_csis_clk_id[] = {
- "pclk",
- "wrap",
- "phy",
- "axi",
-};
-
enum mipi_csis_version {
MIPI_CSIS_V3_3,
MIPI_CSIS_V3_6_3,@@ -326,6 +321,7 @@ enum mipi_csis_version {
struct mipi_csis_info {
enum mipi_csis_version version;
unsigned int num_clocks;
+ const char *clk_names[MIPI_CSIS_MAX_CLOCKS];
};
struct mipi_csis_device {@@ -735,7 +731,7 @@ static int mipi_csis_clk_get(struct mipi_csis_device *csis)
return -ENOMEM;
for (i = 0; i < csis->info->num_clocks; i++)
- csis->clks[i].id = mipi_csis_clk_id[i];
+ csis->clks[i].id = csis->info->clk_names[i];
ret = devm_clk_bulk_get(csis->dev, csis->info->num_clocks,
csis->clks);
@@ -1609,12 +1605,14 @@ static const struct of_device_id mipi_csis_of_match[] = {
.data = &(const struct mipi_csis_info){
.version = MIPI_CSIS_V3_3,
.num_clocks = 3,
+ .clk_names = {"pclk", "wrap", "phy"},
},
}, {
.compatible = "fsl,imx8mm-mipi-csi2",
.data = &(const struct mipi_csis_info){
.version = MIPI_CSIS_V3_6_3,
.num_clocks = 4,
+ .clk_names = {"pclk", "wrap", "phy", "axi"},
},
},
{ /* sentinel */ },--
2.49.0