hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/gpu/drm/exynos/exynos_drm_mic.c
....@@ -1,29 +1,29 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * Copyright (C) 2015 Samsung Electronics Co.Ltd
34 * Authors:
45 * Hyungwon Hwang <human.hwang@samsung.com>
5
- *
6
- * This program is free software; you can redistribute it and/or modify
7
- * it under the terms of the GNU General Public License version 2 as
8
- * published by the Free Software Foundationr
96 */
107
11
-#include <linux/platform_device.h>
12
-#include <video/of_videomode.h>
13
-#include <linux/of_address.h>
14
-#include <video/videomode.h>
15
-#include <linux/module.h>
16
-#include <linux/delay.h>
17
-#include <linux/mutex.h>
18
-#include <linux/of.h>
19
-#include <linux/of_graph.h>
208 #include <linux/clk.h>
219 #include <linux/component.h>
22
-#include <linux/pm_runtime.h>
23
-#include <drm/drmP.h>
24
-#include <drm/drm_encoder.h>
10
+#include <linux/delay.h>
2511 #include <linux/mfd/syscon.h>
12
+#include <linux/module.h>
13
+#include <linux/mutex.h>
14
+#include <linux/of.h>
15
+#include <linux/of_address.h>
16
+#include <linux/of_graph.h>
17
+#include <linux/platform_device.h>
18
+#include <linux/pm_runtime.h>
2619 #include <linux/regmap.h>
20
+
21
+#include <video/of_videomode.h>
22
+#include <video/videomode.h>
23
+
24
+#include <drm/drm_bridge.h>
25
+#include <drm/drm_encoder.h>
26
+#include <drm/drm_print.h>
2727
2828 #include "exynos_drm_drv.h"
2929
....@@ -88,7 +88,7 @@
8888
8989 #define MIC_BS_SIZE_2D(x) ((x) & 0x3fff)
9090
91
-static char *clk_names[] = { "pclk_mic0", "sclk_rgb_vclk_to_mic0" };
91
+static const char *const clk_names[] = { "pclk_mic0", "sclk_rgb_vclk_to_mic0" };
9292 #define NUM_CLKS ARRAY_SIZE(clk_names)
9393 static DEFINE_MUTEX(mic_mutex);
9494
....@@ -113,7 +113,8 @@
113113
114114 ret = regmap_read(mic->sysreg, DSD_CFG_MUX, &val);
115115 if (ret) {
116
- DRM_ERROR("mic: Failed to read system register\n");
116
+ DRM_DEV_ERROR(mic->dev,
117
+ "mic: Failed to read system register\n");
117118 return;
118119 }
119120
....@@ -129,7 +130,8 @@
129130
130131 ret = regmap_write(mic->sysreg, DSD_CFG_MUX, val);
131132 if (ret)
132
- DRM_ERROR("mic: Failed to read system register\n");
133
+ DRM_DEV_ERROR(mic->dev,
134
+ "mic: Failed to read system register\n");
133135 }
134136
135137 static int mic_sw_reset(struct exynos_mic *mic)
....@@ -190,7 +192,7 @@
190192 struct videomode vm = mic->vm;
191193 u32 reg, bs_size_2d;
192194
193
- DRM_DEBUG("w: %u, h: %u\n", vm.hactive, vm.vactive);
195
+ DRM_DEV_DEBUG(mic->dev, "w: %u, h: %u\n", vm.hactive, vm.vactive);
194196 bs_size_2d = ((vm.hactive >> 2) << 1) + (vm.vactive % 4);
195197 reg = MIC_BS_SIZE_2D(bs_size_2d);
196198 writel(reg, mic->reg + MIC_2D_OUTPUT_TIMING_2);
....@@ -246,8 +248,8 @@
246248 }
247249
248250 static void mic_mode_set(struct drm_bridge *bridge,
249
- struct drm_display_mode *mode,
250
- struct drm_display_mode *adjusted_mode)
251
+ const struct drm_display_mode *mode,
252
+ const struct drm_display_mode *adjusted_mode)
251253 {
252254 struct exynos_mic *mic = bridge->driver_private;
253255
....@@ -276,7 +278,7 @@
276278
277279 ret = mic_sw_reset(mic);
278280 if (ret) {
279
- DRM_ERROR("Failed to reset\n");
281
+ DRM_DEV_ERROR(mic->dev, "Failed to reset\n");
280282 goto turn_off;
281283 }
282284
....@@ -356,8 +358,8 @@
356358 for (i = 0; i < NUM_CLKS; i++) {
357359 ret = clk_prepare_enable(mic->clks[i]);
358360 if (ret < 0) {
359
- DRM_ERROR("Failed to enable clock (%s)\n",
360
- clk_names[i]);
361
+ DRM_DEV_ERROR(dev, "Failed to enable clock (%s)\n",
362
+ clk_names[i]);
361363 while (--i > -1)
362364 clk_disable_unprepare(mic->clks[i]);
363365 return ret;
....@@ -382,7 +384,8 @@
382384
383385 mic = devm_kzalloc(dev, sizeof(*mic), GFP_KERNEL);
384386 if (!mic) {
385
- DRM_ERROR("mic: Failed to allocate memory for MIC object\n");
387
+ DRM_DEV_ERROR(dev,
388
+ "mic: Failed to allocate memory for MIC object\n");
386389 ret = -ENOMEM;
387390 goto err;
388391 }
....@@ -391,12 +394,12 @@
391394
392395 ret = of_address_to_resource(dev->of_node, 0, &res);
393396 if (ret) {
394
- DRM_ERROR("mic: Failed to get mem region for MIC\n");
397
+ DRM_DEV_ERROR(dev, "mic: Failed to get mem region for MIC\n");
395398 goto err;
396399 }
397400 mic->reg = devm_ioremap(dev, res.start, resource_size(&res));
398401 if (!mic->reg) {
399
- DRM_ERROR("mic: Failed to remap for MIC\n");
402
+ DRM_DEV_ERROR(dev, "mic: Failed to remap for MIC\n");
400403 ret = -ENOMEM;
401404 goto err;
402405 }
....@@ -404,7 +407,7 @@
404407 mic->sysreg = syscon_regmap_lookup_by_phandle(dev->of_node,
405408 "samsung,disp-syscon");
406409 if (IS_ERR(mic->sysreg)) {
407
- DRM_ERROR("mic: Failed to get system register.\n");
410
+ DRM_DEV_ERROR(dev, "mic: Failed to get system register.\n");
408411 ret = PTR_ERR(mic->sysreg);
409412 goto err;
410413 }
....@@ -412,8 +415,8 @@
412415 for (i = 0; i < NUM_CLKS; i++) {
413416 mic->clks[i] = devm_clk_get(dev, clk_names[i]);
414417 if (IS_ERR(mic->clks[i])) {
415
- DRM_ERROR("mic: Failed to get clock (%s)\n",
416
- clk_names[i]);
418
+ DRM_DEV_ERROR(dev, "mic: Failed to get clock (%s)\n",
419
+ clk_names[i]);
417420 ret = PTR_ERR(mic->clks[i]);
418421 goto err;
419422 }
....@@ -432,7 +435,7 @@
432435 if (ret)
433436 goto err_pm;
434437
435
- DRM_DEBUG_KMS("MIC has been probed\n");
438
+ DRM_DEV_DEBUG_KMS(dev, "MIC has been probed\n");
436439
437440 return 0;
438441