* [PATCH 00/10] Fix left margin setup and code cleanup
@ 2023-11-11 10:41 Dario Binacchi
2023-11-11 10:41 ` [PATCH 01/10] fbdev: imxfb: fix left margin setting Dario Binacchi
` (10 more replies)
0 siblings, 11 replies; 12+ messages in thread
From: Dario Binacchi @ 2023-11-11 10:41 UTC (permalink / raw)
To: linux-kernel
Cc: linux-amarula, Dario Binacchi, Fabio Estevam, Helge Deller,
Martin Kaiser, NXP Linux Team, Pengutronix Kernel Team,
Sascha Hauer, Shawn Guo, dri-devel, linux-arm-kernel,
linux-fbdev
This series was created with the intention of fixing the left margin
setting. At the same time, I made some changes with the aim of making
the code more readable, as well as removing the errors/warnings
reported by checkpatch.
Dario Binacchi (10):
fbdev: imxfb: fix left margin setting
fbdev: imxfb: move PCR bitfields near their offset
fbdev: imxfb: use BIT, FIELD_{GET,PREP} and GENMASK macros
fbdev: imxfb: replace some magic numbers with constants
fbdev: imxfb: add missing SPDX tag
fbdev: imxfb: drop ftrace-like logging
fbdev: imxfb: add missing spaces after ','
fbdev: imxfb: Fix style warnings relating to printk()
fbdev: imxfb: use __func__ for function name
fbdev: imxfb: add '*/' on a separate line in block comment
drivers/video/fbdev/imxfb.c | 179 ++++++++++++++++++++----------------
1 file changed, 102 insertions(+), 77 deletions(-)
--
2.42.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 01/10] fbdev: imxfb: fix left margin setting
2023-11-11 10:41 [PATCH 00/10] Fix left margin setup and code cleanup Dario Binacchi
@ 2023-11-11 10:41 ` Dario Binacchi
2023-11-11 10:41 ` [PATCH 02/10] fbdev: imxfb: move PCR bitfields near their offset Dario Binacchi
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Dario Binacchi @ 2023-11-11 10:41 UTC (permalink / raw)
To: linux-kernel
Cc: linux-amarula, Dario Binacchi, Fabio Estevam, Helge Deller,
Martin Kaiser, NXP Linux Team, Pengutronix Kernel Team,
Sascha Hauer, Shawn Guo, dri-devel, linux-arm-kernel,
linux-fbdev
The previous setting did not take into account the CSTN mode.
For the H_WAIT_2 bitfield (bits 0-7) of the LCDC Horizontal Configuration
Register (LCDCR), the IMX25RM manual states that:
In TFT mode, it specifies the number of SCLK periods between the end of
HSYNC and the beginning of OE signal, and the total delay time equals
(H_WAIT_2 + 3) of SCLK periods.
In CSTN mode, it specifies the number of SCLK periods between the end of
HSYNC and the first display data in each line, and the total delay time
equals (H_WAIT_2 + 2) of SCLK periods.
The patch handles both cases.
Fixes: 4e47382fbca9 ("fbdev: imxfb: warn about invalid left/right margin")
Fixes: 7e8549bcee00 ("imxfb: Fix margin settings")
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
drivers/video/fbdev/imxfb.c | 27 +++++++++++++++++++++++++--
1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/drivers/video/fbdev/imxfb.c b/drivers/video/fbdev/imxfb.c
index 84201c9608d3..7042a43b81d8 100644
--- a/drivers/video/fbdev/imxfb.c
+++ b/drivers/video/fbdev/imxfb.c
@@ -42,6 +42,7 @@
#include <video/videomode.h>
#define PCR_TFT (1 << 31)
+#define PCR_COLOR (1 << 30)
#define PCR_BPIX_8 (3 << 25)
#define PCR_BPIX_12 (4 << 25)
#define PCR_BPIX_16 (5 << 25)
@@ -150,6 +151,12 @@ enum imxfb_type {
IMX21_FB,
};
+enum imxfb_panel_type {
+ PANEL_TYPE_MONOCHROME,
+ PANEL_TYPE_CSTN,
+ PANEL_TYPE_TFT,
+};
+
struct imxfb_info {
struct platform_device *pdev;
void __iomem *regs;
@@ -157,6 +164,7 @@ struct imxfb_info {
struct clk *clk_ahb;
struct clk *clk_per;
enum imxfb_type devtype;
+ enum imxfb_panel_type panel_type;
bool enabled;
/*
@@ -444,6 +452,13 @@ static int imxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
if (!is_imx1_fb(fbi) && imxfb_mode->aus_mode)
fbi->lauscr = LAUSCR_AUS_MODE;
+ if (imxfb_mode->pcr & PCR_TFT)
+ fbi->panel_type = PANEL_TYPE_TFT;
+ else if (imxfb_mode->pcr & PCR_COLOR)
+ fbi->panel_type = PANEL_TYPE_CSTN;
+ else
+ fbi->panel_type = PANEL_TYPE_MONOCHROME;
+
/*
* Copy the RGB parameters for this display
* from the machine specific parameters.
@@ -596,6 +611,7 @@ static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *inf
{
struct imxfb_info *fbi = info->par;
u32 ymax_mask = is_imx1_fb(fbi) ? YMAX_MASK_IMX1 : YMAX_MASK_IMX21;
+ u8 left_margin_low;
pr_debug("var: xres=%d hslen=%d lm=%d rm=%d\n",
var->xres, var->hsync_len,
@@ -604,6 +620,13 @@ static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *inf
var->yres, var->vsync_len,
var->upper_margin, var->lower_margin);
+ if (fbi->panel_type == PANEL_TYPE_TFT)
+ left_margin_low = 3;
+ else if (fbi->panel_type == PANEL_TYPE_CSTN)
+ left_margin_low = 2;
+ else
+ left_margin_low = 0;
+
#if DEBUG_VAR
if (var->xres < 16 || var->xres > 1024)
printk(KERN_ERR "%s: invalid xres %d\n",
@@ -611,7 +634,7 @@ static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *inf
if (var->hsync_len < 1 || var->hsync_len > 64)
printk(KERN_ERR "%s: invalid hsync_len %d\n",
info->fix.id, var->hsync_len);
- if (var->left_margin < 3 || var->left_margin > 255)
+ if (var->left_margin < left_margin_low || var->left_margin > 255)
printk(KERN_ERR "%s: invalid left_margin %d\n",
info->fix.id, var->left_margin);
if (var->right_margin < 1 || var->right_margin > 255)
@@ -637,7 +660,7 @@ static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *inf
writel(HCR_H_WIDTH(var->hsync_len - 1) |
HCR_H_WAIT_1(var->right_margin - 1) |
- HCR_H_WAIT_2(var->left_margin - 3),
+ HCR_H_WAIT_2(var->left_margin - left_margin_low),
fbi->regs + LCDC_HCR);
writel(VCR_V_WIDTH(var->vsync_len) |
--
2.42.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 02/10] fbdev: imxfb: move PCR bitfields near their offset
2023-11-11 10:41 [PATCH 00/10] Fix left margin setup and code cleanup Dario Binacchi
2023-11-11 10:41 ` [PATCH 01/10] fbdev: imxfb: fix left margin setting Dario Binacchi
@ 2023-11-11 10:41 ` Dario Binacchi
2023-11-11 10:41 ` [PATCH 03/10] fbdev: imxfb: use BIT, FIELD_{GET,PREP} and GENMASK macros Dario Binacchi
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Dario Binacchi @ 2023-11-11 10:41 UTC (permalink / raw)
To: linux-kernel
Cc: linux-amarula, Dario Binacchi, Fabio Estevam, Helge Deller,
NXP Linux Team, Pengutronix Kernel Team, Sascha Hauer, Shawn Guo,
dri-devel, linux-arm-kernel, linux-fbdev
The patch moves the bitfields of the PCR register near the macro that
defines its offset, just like for all the other registers.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
drivers/video/fbdev/imxfb.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/drivers/video/fbdev/imxfb.c b/drivers/video/fbdev/imxfb.c
index 7042a43b81d8..6af5f09d9c85 100644
--- a/drivers/video/fbdev/imxfb.c
+++ b/drivers/video/fbdev/imxfb.c
@@ -41,13 +41,6 @@
#include <video/of_videomode.h>
#include <video/videomode.h>
-#define PCR_TFT (1 << 31)
-#define PCR_COLOR (1 << 30)
-#define PCR_BPIX_8 (3 << 25)
-#define PCR_BPIX_12 (4 << 25)
-#define PCR_BPIX_16 (5 << 25)
-#define PCR_BPIX_18 (6 << 25)
-
struct imx_fb_videomode {
struct fb_videomode mode;
u32 pcr;
@@ -88,6 +81,12 @@ struct imx_fb_videomode {
#define LCDC_LCHCC 0x14
#define LCDC_PCR 0x18
+#define PCR_TFT (1 << 31)
+#define PCR_COLOR (1 << 30)
+#define PCR_BPIX_8 (3 << 25)
+#define PCR_BPIX_12 (4 << 25)
+#define PCR_BPIX_16 (5 << 25)
+#define PCR_BPIX_18 (6 << 25)
#define LCDC_HCR 0x1C
#define HCR_H_WIDTH(x) (((x) & 0x3f) << 26)
--
2.42.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 03/10] fbdev: imxfb: use BIT, FIELD_{GET,PREP} and GENMASK macros
2023-11-11 10:41 [PATCH 00/10] Fix left margin setup and code cleanup Dario Binacchi
2023-11-11 10:41 ` [PATCH 01/10] fbdev: imxfb: fix left margin setting Dario Binacchi
2023-11-11 10:41 ` [PATCH 02/10] fbdev: imxfb: move PCR bitfields near their offset Dario Binacchi
@ 2023-11-11 10:41 ` Dario Binacchi
2023-11-11 10:41 ` [PATCH 04/10] fbdev: imxfb: replace some magic numbers with constants Dario Binacchi
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Dario Binacchi @ 2023-11-11 10:41 UTC (permalink / raw)
To: linux-kernel
Cc: linux-amarula, Dario Binacchi, Fabio Estevam, Helge Deller,
NXP Linux Team, Pengutronix Kernel Team, Sascha Hauer, Shawn Guo,
dri-devel, linux-arm-kernel, linux-fbdev
Replace opencoded masking and shifting, with BIT(), GENMASK(),
FIELD_GET() and FIELD_PREP() macros.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
drivers/video/fbdev/imxfb.c | 113 +++++++++++++++++++-----------------
1 file changed, 59 insertions(+), 54 deletions(-)
diff --git a/drivers/video/fbdev/imxfb.c b/drivers/video/fbdev/imxfb.c
index 6af5f09d9c85..b7ef43a7930a 100644
--- a/drivers/video/fbdev/imxfb.c
+++ b/drivers/video/fbdev/imxfb.c
@@ -34,6 +34,7 @@
#include <linux/math64.h>
#include <linux/of.h>
#include <linux/of_device.h>
+#include <linux/bitfield.h>
#include <linux/regulator/consumer.h>
@@ -58,48 +59,49 @@ struct imx_fb_videomode {
#define LCDC_SSA 0x00
#define LCDC_SIZE 0x04
-#define SIZE_XMAX(x) ((((x) >> 4) & 0x3f) << 20)
+#define SIZE_XMAX_MASK GENMASK(25, 20)
-#define YMAX_MASK_IMX1 0x1ff
-#define YMAX_MASK_IMX21 0x3ff
+#define YMAX_MASK_IMX1 GENMASK(8, 0)
+#define YMAX_MASK_IMX21 GENMASK(9, 0)
#define LCDC_VPW 0x08
-#define VPW_VPW(x) ((x) & 0x3ff)
+#define VPW_VPW_MASK GENMASK(9, 0)
#define LCDC_CPOS 0x0C
-#define CPOS_CC1 (1<<31)
-#define CPOS_CC0 (1<<30)
-#define CPOS_OP (1<<28)
-#define CPOS_CXP(x) (((x) & 3ff) << 16)
+#define CPOS_CC1 BIT(31)
+#define CPOS_CC0 BIT(30)
+#define CPOS_OP BIT(28)
+#define CPOS_CXP_MASK GENMASK(25, 16)
#define LCDC_LCWHB 0x10
-#define LCWHB_BK_EN (1<<31)
-#define LCWHB_CW(w) (((w) & 0x1f) << 24)
-#define LCWHB_CH(h) (((h) & 0x1f) << 16)
-#define LCWHB_BD(x) ((x) & 0xff)
+#define LCWHB_BK_EN BIT(31)
+#define LCWHB_CW_MASK GENMASK(28, 24)
+#define LCWHB_CH_MASK GENMASK(20, 16)
+#define LCWHB_BD_MASK GENMASK(7, 0)
#define LCDC_LCHCC 0x14
#define LCDC_PCR 0x18
-#define PCR_TFT (1 << 31)
-#define PCR_COLOR (1 << 30)
-#define PCR_BPIX_8 (3 << 25)
-#define PCR_BPIX_12 (4 << 25)
-#define PCR_BPIX_16 (5 << 25)
-#define PCR_BPIX_18 (6 << 25)
+#define PCR_TFT BIT(31)
+#define PCR_COLOR BIT(30)
+#define PCR_BPIX_MASK GENMASK(27, 25)
+#define PCR_BPIX_8 3
+#define PCR_BPIX_12 4
+#define PCR_BPIX_16 5
+#define PCR_BPIX_18 6
#define LCDC_HCR 0x1C
-#define HCR_H_WIDTH(x) (((x) & 0x3f) << 26)
-#define HCR_H_WAIT_1(x) (((x) & 0xff) << 8)
-#define HCR_H_WAIT_2(x) ((x) & 0xff)
+#define HCR_H_WIDTH_MASK GENMASK(31, 26)
+#define HCR_H_WAIT_1_MASK GENMASK(15, 8)
+#define HCR_H_WAIT_2_MASK GENMASK(7, 0)
#define LCDC_VCR 0x20
-#define VCR_V_WIDTH(x) (((x) & 0x3f) << 26)
-#define VCR_V_WAIT_1(x) (((x) & 0xff) << 8)
-#define VCR_V_WAIT_2(x) ((x) & 0xff)
+#define VCR_V_WIDTH_MASK GENMASK(31, 26)
+#define VCR_V_WAIT_1_MASK GENMASK(15, 8)
+#define VCR_V_WAIT_2_MASK GENMASK(7, 0)
#define LCDC_POS 0x24
-#define POS_POS(x) ((x) & 1f)
+#define POS_POS_MASK GENMASK(4, 0)
#define LCDC_LSCR1 0x28
/* bit fields in imxfb.h */
@@ -112,24 +114,24 @@ struct imx_fb_videomode {
#define LCDC_RMCR 0x34
-#define RMCR_LCDC_EN_MX1 (1<<1)
+#define RMCR_LCDC_EN_MX1 BIT(1)
-#define RMCR_SELF_REF (1<<0)
+#define RMCR_SELF_REF BIT(0)
#define LCDC_LCDICR 0x38
-#define LCDICR_INT_SYN (1<<2)
-#define LCDICR_INT_CON (1)
+#define LCDICR_INT_SYN BIT(2)
+#define LCDICR_INT_CON BIT(0)
#define LCDC_LCDISR 0x40
-#define LCDISR_UDR_ERR (1<<3)
-#define LCDISR_ERR_RES (1<<2)
-#define LCDISR_EOF (1<<1)
-#define LCDISR_BOF (1<<0)
+#define LCDISR_UDR_ERR BIT(3)
+#define LCDISR_ERR_RES BIT(2)
+#define LCDISR_EOF BIT(1)
+#define LCDISR_BOF BIT(0)
#define IMXFB_LSCR1_DEFAULT 0x00120300
#define LCDC_LAUSCR 0x80
-#define LAUSCR_AUS_MODE (1<<31)
+#define LAUSCR_AUS_MODE BIT(31)
/* Used fb-mode. Can be set on kernel command line, therefore file-static. */
static const char *fb_mode;
@@ -420,15 +422,15 @@ static int imxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
switch (var->bits_per_pixel) {
case 32:
- pcr |= PCR_BPIX_18;
+ pcr |= FIELD_PREP(PCR_BPIX_MASK, PCR_BPIX_18);
rgb = &def_rgb_18;
break;
case 16:
default:
if (is_imx1_fb(fbi))
- pcr |= PCR_BPIX_12;
+ pcr |= FIELD_PREP(PCR_BPIX_MASK, PCR_BPIX_12);
else
- pcr |= PCR_BPIX_16;
+ pcr |= FIELD_PREP(PCR_BPIX_MASK, PCR_BPIX_16);
if (imxfb_mode->pcr & PCR_TFT)
rgb = &def_rgb_16_tft;
@@ -436,7 +438,7 @@ static int imxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
rgb = &def_rgb_16_stn;
break;
case 8:
- pcr |= PCR_BPIX_8;
+ pcr |= FIELD_PREP(PCR_BPIX_MASK, PCR_BPIX_8);
rgb = &def_rgb_8;
break;
}
@@ -520,7 +522,7 @@ static int imxfb_enable_controller(struct imxfb_info *fbi)
writel(fbi->map_dma, fbi->regs + LCDC_SSA);
/* panning offset 0 (0 pixel offset) */
- writel(0x00000000, fbi->regs + LCDC_POS);
+ writel(FIELD_PREP(POS_POS_MASK, 0), fbi->regs + LCDC_POS);
/* disable hardware cursor */
writel(readl(fbi->regs + LCDC_CPOS) & ~(CPOS_CC0 | CPOS_CC1),
@@ -654,21 +656,24 @@ static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *inf
#endif
/* physical screen start address */
- writel(VPW_VPW(var->xres * var->bits_per_pixel / 8 / 4),
- fbi->regs + LCDC_VPW);
-
- writel(HCR_H_WIDTH(var->hsync_len - 1) |
- HCR_H_WAIT_1(var->right_margin - 1) |
- HCR_H_WAIT_2(var->left_margin - left_margin_low),
- fbi->regs + LCDC_HCR);
-
- writel(VCR_V_WIDTH(var->vsync_len) |
- VCR_V_WAIT_1(var->lower_margin) |
- VCR_V_WAIT_2(var->upper_margin),
- fbi->regs + LCDC_VCR);
-
- writel(SIZE_XMAX(var->xres) | (var->yres & ymax_mask),
- fbi->regs + LCDC_SIZE);
+ writel(FIELD_PREP(VPW_VPW_MASK,
+ var->xres * var->bits_per_pixel / 8 / 4),
+ fbi->regs + LCDC_VPW);
+
+ writel(FIELD_PREP(HCR_H_WIDTH_MASK, var->hsync_len - 1) |
+ FIELD_PREP(HCR_H_WAIT_1_MASK, var->right_margin - 1) |
+ FIELD_PREP(HCR_H_WAIT_2_MASK,
+ var->left_margin - left_margin_low),
+ fbi->regs + LCDC_HCR);
+
+ writel(FIELD_PREP(VCR_V_WIDTH_MASK, var->vsync_len) |
+ FIELD_PREP(VCR_V_WAIT_1_MASK, var->lower_margin) |
+ FIELD_PREP(VCR_V_WAIT_2_MASK, var->upper_margin),
+ fbi->regs + LCDC_VCR);
+
+ writel(FIELD_PREP(SIZE_XMAX_MASK, var->xres >> 4) |
+ (var->yres & ymax_mask),
+ fbi->regs + LCDC_SIZE);
writel(fbi->pcr, fbi->regs + LCDC_PCR);
if (fbi->pwmr)
--
2.42.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 04/10] fbdev: imxfb: replace some magic numbers with constants
2023-11-11 10:41 [PATCH 00/10] Fix left margin setup and code cleanup Dario Binacchi
` (2 preceding siblings ...)
2023-11-11 10:41 ` [PATCH 03/10] fbdev: imxfb: use BIT, FIELD_{GET,PREP} and GENMASK macros Dario Binacchi
@ 2023-11-11 10:41 ` Dario Binacchi
2023-11-11 10:41 ` [PATCH 05/10] fbdev: imxfb: add missing SPDX tag Dario Binacchi
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Dario Binacchi @ 2023-11-11 10:41 UTC (permalink / raw)
To: linux-kernel
Cc: linux-amarula, Dario Binacchi, Fabio Estevam, Helge Deller,
NXP Linux Team, Pengutronix Kernel Team, Sascha Hauer, Shawn Guo,
dri-devel, linux-arm-kernel, linux-fbdev
The patch gets rid of magic numbers replacing them with appropriate
macros.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
drivers/video/fbdev/imxfb.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/video/fbdev/imxfb.c b/drivers/video/fbdev/imxfb.c
index b7ef43a7930a..485e57fa9389 100644
--- a/drivers/video/fbdev/imxfb.c
+++ b/drivers/video/fbdev/imxfb.c
@@ -89,6 +89,7 @@ struct imx_fb_videomode {
#define PCR_BPIX_12 4
#define PCR_BPIX_16 5
#define PCR_BPIX_18 6
+#define PCR_PCD_MASK GENMASK(5, 0)
#define LCDC_HCR 0x1C
#define HCR_H_WIDTH_MASK GENMASK(31, 26)
@@ -414,8 +415,8 @@ static int imxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
pcr = (unsigned int)tmp;
- if (--pcr > 0x3F) {
- pcr = 0x3F;
+ if (--pcr > PCR_PCD_MASK) {
+ pcr = PCR_PCD_MASK;
printk(KERN_WARNING "Must limit pixel clock to %luHz\n",
lcd_clk / pcr);
}
@@ -444,7 +445,7 @@ static int imxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
}
/* add sync polarities */
- pcr |= imxfb_mode->pcr & ~(0x3f | (7 << 25));
+ pcr |= imxfb_mode->pcr & ~(PCR_PCD_MASK | PCR_BPIX_MASK);
fbi->pcr = pcr;
/*
--
2.42.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 05/10] fbdev: imxfb: add missing SPDX tag
2023-11-11 10:41 [PATCH 00/10] Fix left margin setup and code cleanup Dario Binacchi
` (3 preceding siblings ...)
2023-11-11 10:41 ` [PATCH 04/10] fbdev: imxfb: replace some magic numbers with constants Dario Binacchi
@ 2023-11-11 10:41 ` Dario Binacchi
2023-11-11 10:41 ` [PATCH 06/10] fbdev: imxfb: drop ftrace-like logging Dario Binacchi
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Dario Binacchi @ 2023-11-11 10:41 UTC (permalink / raw)
To: linux-kernel
Cc: linux-amarula, Dario Binacchi, Fabio Estevam, Helge Deller,
NXP Linux Team, Pengutronix Kernel Team, Sascha Hauer, Shawn Guo,
dri-devel, linux-arm-kernel, linux-fbdev
Resolve the following warning reported by checkpatch.pl:
WARNING: Missing or malformed SPDX-License-Identifier tag in line 1
The patch also removes some license info made redundant by the addition
of the SPDX tag.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
drivers/video/fbdev/imxfb.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/video/fbdev/imxfb.c b/drivers/video/fbdev/imxfb.c
index 485e57fa9389..de1434069530 100644
--- a/drivers/video/fbdev/imxfb.c
+++ b/drivers/video/fbdev/imxfb.c
@@ -1,13 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0-only
/*
* Freescale i.MX Frame Buffer device driver
*
* Copyright (C) 2004 Sascha Hauer, Pengutronix
* Based on acornfb.c Copyright (C) Russell King.
*
- * This file is subject to the terms and conditions of the GNU General Public
- * License. See the file COPYING in the main directory of this archive for
- * more details.
- *
* Please direct your questions and comments on this driver to the following
* email address:
*
--
2.42.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 06/10] fbdev: imxfb: drop ftrace-like logging
2023-11-11 10:41 [PATCH 00/10] Fix left margin setup and code cleanup Dario Binacchi
` (4 preceding siblings ...)
2023-11-11 10:41 ` [PATCH 05/10] fbdev: imxfb: add missing SPDX tag Dario Binacchi
@ 2023-11-11 10:41 ` Dario Binacchi
2023-11-11 10:41 ` [PATCH 07/10] fbdev: imxfb: add missing spaces after ',' Dario Binacchi
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Dario Binacchi @ 2023-11-11 10:41 UTC (permalink / raw)
To: linux-kernel
Cc: linux-amarula, Dario Binacchi, Fabio Estevam, Helge Deller,
NXP Linux Team, Pengutronix Kernel Team, Sascha Hauer, Shawn Guo,
dri-devel, linux-arm-kernel, linux-fbdev
Resolve the following warning reported by checkpatch:
WARNING: Unnecessary ftrace-like logging - prefer using ftrace
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
drivers/video/fbdev/imxfb.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/video/fbdev/imxfb.c b/drivers/video/fbdev/imxfb.c
index de1434069530..83497f6998f1 100644
--- a/drivers/video/fbdev/imxfb.c
+++ b/drivers/video/fbdev/imxfb.c
@@ -694,8 +694,6 @@ static int imxfb_init_fbinfo(struct platform_device *pdev)
struct imxfb_info *fbi = info->par;
struct device_node *np;
- pr_debug("%s\n",__func__);
-
info->pseudo_palette = devm_kmalloc_array(&pdev->dev, 16,
sizeof(u32), GFP_KERNEL);
if (!info->pseudo_palette)
--
2.42.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 07/10] fbdev: imxfb: add missing spaces after ','
2023-11-11 10:41 [PATCH 00/10] Fix left margin setup and code cleanup Dario Binacchi
` (5 preceding siblings ...)
2023-11-11 10:41 ` [PATCH 06/10] fbdev: imxfb: drop ftrace-like logging Dario Binacchi
@ 2023-11-11 10:41 ` Dario Binacchi
2023-11-11 10:41 ` [PATCH 08/10] fbdev: imxfb: Fix style warnings relating to printk() Dario Binacchi
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Dario Binacchi @ 2023-11-11 10:41 UTC (permalink / raw)
To: linux-kernel
Cc: linux-amarula, Dario Binacchi, Fabio Estevam, Helge Deller,
NXP Linux Team, Pengutronix Kernel Team, Sascha Hauer, Shawn Guo,
dri-devel, linux-arm-kernel, linux-fbdev
Fix the following checkpatch error:
ERROR: space required after that ',' (ctx:VxV)
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
drivers/video/fbdev/imxfb.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/video/fbdev/imxfb.c b/drivers/video/fbdev/imxfb.c
index 83497f6998f1..ad293dc44dbb 100644
--- a/drivers/video/fbdev/imxfb.c
+++ b/drivers/video/fbdev/imxfb.c
@@ -280,10 +280,10 @@ static int imxfb_setpalettereg(u_int regno, u_int red, u_int green, u_int blue,
struct imxfb_info *fbi = info->par;
u_int val, ret = 1;
-#define CNVT_TOHW(val,width) ((((val)<<(width))+0x7FFF-(val))>>16)
+#define CNVT_TOHW(val, width) ((((val)<<(width))+0x7FFF-(val))>>16)
if (regno < fbi->palette_size) {
val = (CNVT_TOHW(red, 4) << 8) |
- (CNVT_TOHW(green,4) << 4) |
+ (CNVT_TOHW(green, 4) << 4) |
CNVT_TOHW(blue, 4);
writel(val, fbi->regs + 0x800 + (regno << 2));
--
2.42.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 08/10] fbdev: imxfb: Fix style warnings relating to printk()
2023-11-11 10:41 [PATCH 00/10] Fix left margin setup and code cleanup Dario Binacchi
` (6 preceding siblings ...)
2023-11-11 10:41 ` [PATCH 07/10] fbdev: imxfb: add missing spaces after ',' Dario Binacchi
@ 2023-11-11 10:41 ` Dario Binacchi
2023-11-11 10:41 ` [PATCH 09/10] fbdev: imxfb: use __func__ for function name Dario Binacchi
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: Dario Binacchi @ 2023-11-11 10:41 UTC (permalink / raw)
To: linux-kernel
Cc: linux-amarula, Dario Binacchi, Fabio Estevam, Helge Deller,
NXP Linux Team, Pengutronix Kernel Team, Sascha Hauer, Shawn Guo,
dri-devel, linux-arm-kernel, linux-fbdev
Resolve the following warning reported by checkpatch:
WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ... then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ...
This made it necessary to move the 'fbi->pdev = pdev' setting to the
beginning of the driver's probing.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
drivers/video/fbdev/imxfb.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/video/fbdev/imxfb.c b/drivers/video/fbdev/imxfb.c
index ad293dc44dbb..a0172ff75c46 100644
--- a/drivers/video/fbdev/imxfb.c
+++ b/drivers/video/fbdev/imxfb.c
@@ -414,8 +414,8 @@ static int imxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
if (--pcr > PCR_PCD_MASK) {
pcr = PCR_PCD_MASK;
- printk(KERN_WARNING "Must limit pixel clock to %luHz\n",
- lcd_clk / pcr);
+ dev_warn(&fbi->pdev->dev, "Must limit pixel clock to %luHz\n",
+ lcd_clk / pcr);
}
switch (var->bits_per_pixel) {
@@ -628,28 +628,28 @@ static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *inf
#if DEBUG_VAR
if (var->xres < 16 || var->xres > 1024)
- printk(KERN_ERR "%s: invalid xres %d\n",
+ dev_err(&fbi->pdev->dev, "%s: invalid xres %d\n",
info->fix.id, var->xres);
if (var->hsync_len < 1 || var->hsync_len > 64)
- printk(KERN_ERR "%s: invalid hsync_len %d\n",
+ dev_err(&fbi->pdev->dev, "%s: invalid hsync_len %d\n",
info->fix.id, var->hsync_len);
if (var->left_margin < left_margin_low || var->left_margin > 255)
- printk(KERN_ERR "%s: invalid left_margin %d\n",
+ dev_err(&fbi->pdev->dev, "%s: invalid left_margin %d\n",
info->fix.id, var->left_margin);
if (var->right_margin < 1 || var->right_margin > 255)
- printk(KERN_ERR "%s: invalid right_margin %d\n",
+ dev_err(&fbi->pdev->dev, "%s: invalid right_margin %d\n",
info->fix.id, var->right_margin);
if (var->yres < 1 || var->yres > ymax_mask)
- printk(KERN_ERR "%s: invalid yres %d\n",
+ dev_err(&fbi->pdev->dev, "%s: invalid yres %d\n",
info->fix.id, var->yres);
if (var->vsync_len > 100)
- printk(KERN_ERR "%s: invalid vsync_len %d\n",
+ dev_err(&fbi->pdev->dev, "%s: invalid vsync_len %d\n",
info->fix.id, var->vsync_len);
if (var->upper_margin > 63)
- printk(KERN_ERR "%s: invalid upper_margin %d\n",
+ dev_err(&fbi->pdev->dev, "%s: invalid upper_margin %d\n",
info->fix.id, var->upper_margin);
if (var->lower_margin > 255)
- printk(KERN_ERR "%s: invalid lower_margin %d\n",
+ dev_err(&fbi->pdev->dev, "%s: invalid lower_margin %d\n",
info->fix.id, var->lower_margin);
#endif
@@ -701,6 +701,7 @@ static int imxfb_init_fbinfo(struct platform_device *pdev)
memset(fbi, 0, sizeof(struct imxfb_info));
+ fbi->pdev = pdev;
fbi->devtype = pdev->id_entry->driver_data;
strscpy(info->fix.id, IMX_NAME, sizeof(info->fix.id));
@@ -1044,7 +1045,6 @@ static int imxfb_probe(struct platform_device *pdev)
lcd->props.max_contrast = 0xff;
imxfb_enable_controller(fbi);
- fbi->pdev = pdev;
return 0;
--
2.42.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 09/10] fbdev: imxfb: use __func__ for function name
2023-11-11 10:41 [PATCH 00/10] Fix left margin setup and code cleanup Dario Binacchi
` (7 preceding siblings ...)
2023-11-11 10:41 ` [PATCH 08/10] fbdev: imxfb: Fix style warnings relating to printk() Dario Binacchi
@ 2023-11-11 10:41 ` Dario Binacchi
2023-11-11 10:41 ` [PATCH 10/10] fbdev: imxfb: add '*/' on a separate line in block comment Dario Binacchi
2023-11-11 15:50 ` [PATCH 00/10] Fix left margin setup and code cleanup Helge Deller
10 siblings, 0 replies; 12+ messages in thread
From: Dario Binacchi @ 2023-11-11 10:41 UTC (permalink / raw)
To: linux-kernel
Cc: linux-amarula, Dario Binacchi, Fabio Estevam, Helge Deller,
NXP Linux Team, Pengutronix Kernel Team, Sascha Hauer, Shawn Guo,
dri-devel, linux-arm-kernel, linux-fbdev
Resolve the following warning reported by checkpatch:
WARNING: Prefer using '"%s...", __func__' to using 'imxfb_blank', this function's name, in a string
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
drivers/video/fbdev/imxfb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/imxfb.c b/drivers/video/fbdev/imxfb.c
index a0172ff75c46..8d6943f0bfca 100644
--- a/drivers/video/fbdev/imxfb.c
+++ b/drivers/video/fbdev/imxfb.c
@@ -576,7 +576,7 @@ static int imxfb_blank(int blank, struct fb_info *info)
{
struct imxfb_info *fbi = info->par;
- pr_debug("imxfb_blank: blank=%d\n", blank);
+ pr_debug("%s: blank=%d\n", __func__, blank);
switch (blank) {
case FB_BLANK_POWERDOWN:
--
2.42.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 10/10] fbdev: imxfb: add '*/' on a separate line in block comment
2023-11-11 10:41 [PATCH 00/10] Fix left margin setup and code cleanup Dario Binacchi
` (8 preceding siblings ...)
2023-11-11 10:41 ` [PATCH 09/10] fbdev: imxfb: use __func__ for function name Dario Binacchi
@ 2023-11-11 10:41 ` Dario Binacchi
2023-11-11 15:50 ` [PATCH 00/10] Fix left margin setup and code cleanup Helge Deller
10 siblings, 0 replies; 12+ messages in thread
From: Dario Binacchi @ 2023-11-11 10:41 UTC (permalink / raw)
To: linux-kernel
Cc: linux-amarula, Dario Binacchi, Fabio Estevam, Helge Deller,
NXP Linux Team, Pengutronix Kernel Team, Sascha Hauer, Shawn Guo,
dri-devel, linux-arm-kernel, linux-fbdev
Linux kernel coding style uses '*/' on a separate line at the end of
multi line comments.
Fix block comments by moving '*/' at the end of block comments on a
separate line as reported by checkpatch:
WARNING: Block comments use a trailing */ on a separate line
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
---
drivers/video/fbdev/imxfb.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/video/fbdev/imxfb.c b/drivers/video/fbdev/imxfb.c
index 8d6943f0bfca..a4dbc72f93c3 100644
--- a/drivers/video/fbdev/imxfb.c
+++ b/drivers/video/fbdev/imxfb.c
@@ -946,8 +946,10 @@ static int imxfb_probe(struct platform_device *pdev)
if (ret)
goto failed_init;
- /* Calculate maximum bytes used per pixel. In most cases this should
- * be the same as m->bpp/8 */
+ /*
+ * Calculate maximum bytes used per pixel. In most cases this should
+ * be the same as m->bpp/8
+ */
m = &fbi->mode[0];
bytes_per_pixel = (m->bpp + 7) / 8;
for (i = 0; i < fbi->num_modes; i++, m++)
--
2.42.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 00/10] Fix left margin setup and code cleanup
2023-11-11 10:41 [PATCH 00/10] Fix left margin setup and code cleanup Dario Binacchi
` (9 preceding siblings ...)
2023-11-11 10:41 ` [PATCH 10/10] fbdev: imxfb: add '*/' on a separate line in block comment Dario Binacchi
@ 2023-11-11 15:50 ` Helge Deller
10 siblings, 0 replies; 12+ messages in thread
From: Helge Deller @ 2023-11-11 15:50 UTC (permalink / raw)
To: Dario Binacchi, linux-kernel
Cc: linux-amarula, Fabio Estevam, Martin Kaiser, NXP Linux Team,
Pengutronix Kernel Team, Sascha Hauer, Shawn Guo, dri-devel,
linux-arm-kernel, linux-fbdev
On 11/11/23 11:41, Dario Binacchi wrote:
> This series was created with the intention of fixing the left margin
> setting. At the same time, I made some changes with the aim of making
> the code more readable, as well as removing the errors/warnings
> reported by checkpatch.
applied to fbdev for-next git tree.
Thanks!
Helge
>
> Dario Binacchi (10):
> fbdev: imxfb: fix left margin setting
> fbdev: imxfb: move PCR bitfields near their offset
> fbdev: imxfb: use BIT, FIELD_{GET,PREP} and GENMASK macros
> fbdev: imxfb: replace some magic numbers with constants
> fbdev: imxfb: add missing SPDX tag
> fbdev: imxfb: drop ftrace-like logging
> fbdev: imxfb: add missing spaces after ','
> fbdev: imxfb: Fix style warnings relating to printk()
> fbdev: imxfb: use __func__ for function name
> fbdev: imxfb: add '*/' on a separate line in block comment
>
> drivers/video/fbdev/imxfb.c | 179 ++++++++++++++++++++----------------
> 1 file changed, 102 insertions(+), 77 deletions(-)
>
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2023-11-11 15:50 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-11 10:41 [PATCH 00/10] Fix left margin setup and code cleanup Dario Binacchi
2023-11-11 10:41 ` [PATCH 01/10] fbdev: imxfb: fix left margin setting Dario Binacchi
2023-11-11 10:41 ` [PATCH 02/10] fbdev: imxfb: move PCR bitfields near their offset Dario Binacchi
2023-11-11 10:41 ` [PATCH 03/10] fbdev: imxfb: use BIT, FIELD_{GET,PREP} and GENMASK macros Dario Binacchi
2023-11-11 10:41 ` [PATCH 04/10] fbdev: imxfb: replace some magic numbers with constants Dario Binacchi
2023-11-11 10:41 ` [PATCH 05/10] fbdev: imxfb: add missing SPDX tag Dario Binacchi
2023-11-11 10:41 ` [PATCH 06/10] fbdev: imxfb: drop ftrace-like logging Dario Binacchi
2023-11-11 10:41 ` [PATCH 07/10] fbdev: imxfb: add missing spaces after ',' Dario Binacchi
2023-11-11 10:41 ` [PATCH 08/10] fbdev: imxfb: Fix style warnings relating to printk() Dario Binacchi
2023-11-11 10:41 ` [PATCH 09/10] fbdev: imxfb: use __func__ for function name Dario Binacchi
2023-11-11 10:41 ` [PATCH 10/10] fbdev: imxfb: add '*/' on a separate line in block comment Dario Binacchi
2023-11-11 15:50 ` [PATCH 00/10] Fix left margin setup and code cleanup Helge Deller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®