linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v8 1/3] serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg
       [not found] <CGME20200420013322epcas2p263e72997dd4ebdaf00b095a83a6b6651@epcas2p2.samsung.com>
@ 2020-04-20  1:32 ` Hyunki Koo
       [not found]   ` <CGME20200420013325epcas2p13f65e6bc8ba68f89c805704830144870@epcas2p1.samsung.com>
                     ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Hyunki Koo @ 2020-04-20  1:32 UTC (permalink / raw)
  To: Kukjin Kim, Krzysztof Kozlowski, Greg Kroah-Hartman, Jiri Slaby,
	linux-arm-kernel, linux-samsung-soc, linux-serial, linux-kernel
  Cc: hyunki00.koo

This patch change the name of macro for general usage.

Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
---
 drivers/tty/serial/samsung_tty.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
index 73f951d65b93..326b0164609c 100644
--- a/drivers/tty/serial/samsung_tty.c
+++ b/drivers/tty/serial/samsung_tty.c
@@ -154,10 +154,10 @@ struct s3c24xx_uart_port {
 #define portaddrl(port, reg) \
 	((unsigned long *)(unsigned long)((port)->membase + (reg)))
 
-#define rd_regb(port, reg) (readb_relaxed(portaddr(port, reg)))
+#define rd_reg(port, reg) (readb_relaxed(portaddr(port, reg)))
 #define rd_regl(port, reg) (readl_relaxed(portaddr(port, reg)))
 
-#define wr_regb(port, reg, val) writeb_relaxed(val, portaddr(port, reg))
+#define wr_reg(port, reg, val) writeb_relaxed(val, portaddr(port, reg))
 #define wr_regl(port, reg, val) writel_relaxed(val, portaddr(port, reg))
 
 /* Byte-order aware bit setting/clearing functions. */
@@ -714,7 +714,7 @@ static void s3c24xx_serial_rx_drain_fifo(struct s3c24xx_uart_port *ourport)
 		fifocnt--;
 
 		uerstat = rd_regl(port, S3C2410_UERSTAT);
-		ch = rd_regb(port, S3C2410_URXH);
+		ch = rd_reg(port, S3C2410_URXH);
 
 		if (port->flags & UPF_CONS_FLOW) {
 			int txe = s3c24xx_serial_txempty_nofifo(port);
@@ -826,7 +826,7 @@ static irqreturn_t s3c24xx_serial_tx_chars(int irq, void *id)
 	}
 
 	if (port->x_char) {
-		wr_regb(port, S3C2410_UTXH, port->x_char);
+		wr_reg(port, S3C2410_UTXH, port->x_char);
 		port->icount.tx++;
 		port->x_char = 0;
 		goto out;
@@ -852,7 +852,7 @@ static irqreturn_t s3c24xx_serial_tx_chars(int irq, void *id)
 		if (rd_regl(port, S3C2410_UFSTAT) & ourport->info->tx_fifofull)
 			break;
 
-		wr_regb(port, S3C2410_UTXH, xmit->buf[xmit->tail]);
+		wr_reg(port, S3C2410_UTXH, xmit->buf[xmit->tail]);
 		xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
 		port->icount.tx++;
 		count--;
@@ -916,7 +916,7 @@ static unsigned int s3c24xx_serial_tx_empty(struct uart_port *port)
 /* no modem control lines */
 static unsigned int s3c24xx_serial_get_mctrl(struct uart_port *port)
 {
-	unsigned int umstat = rd_regb(port, S3C2410_UMSTAT);
+	unsigned int umstat = rd_reg(port, S3C2410_UMSTAT);
 
 	if (umstat & S3C2410_UMSTAT_CTS)
 		return TIOCM_CAR | TIOCM_DSR | TIOCM_CTS;
@@ -2185,7 +2185,7 @@ static int s3c24xx_serial_get_poll_char(struct uart_port *port)
 	if (s3c24xx_serial_rx_fifocnt(ourport, ufstat) == 0)
 		return NO_POLL_CHAR;
 
-	return rd_regb(port, S3C2410_URXH);
+	return rd_reg(port, S3C2410_URXH);
 }
 
 static void s3c24xx_serial_put_poll_char(struct uart_port *port,
@@ -2200,7 +2200,7 @@ static void s3c24xx_serial_put_poll_char(struct uart_port *port,
 
 	while (!s3c24xx_serial_console_txrdy(port, ufcon))
 		cpu_relax();
-	wr_regb(port, S3C2410_UTXH, c);
+	wr_reg(port, S3C2410_UTXH, c);
 }
 
 #endif /* CONFIG_CONSOLE_POLL */
@@ -2212,7 +2212,7 @@ s3c24xx_serial_console_putchar(struct uart_port *port, int ch)
 
 	while (!s3c24xx_serial_console_txrdy(port, ufcon))
 		cpu_relax();
-	wr_regb(port, S3C2410_UTXH, ch);
+	wr_reg(port, S3C2410_UTXH, ch);
 }
 
 static void
-- 
2.15.0.rc1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v8 2/3] dt-bindings: serial: Add reg-io-width compatible
       [not found]   ` <CGME20200420013325epcas2p13f65e6bc8ba68f89c805704830144870@epcas2p1.samsung.com>
@ 2020-04-20  1:32     ` Hyunki Koo
  2020-04-30 15:12       ` Rob Herring
  0 siblings, 1 reply; 13+ messages in thread
From: Hyunki Koo @ 2020-04-20  1:32 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Rob Herring, linux-serial, devicetree, linux-kernel
  Cc: hyunki00.koo

Add a description for reg-io-width options for the samsung serial
UART peripheral.

Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
---
 Documentation/devicetree/bindings/serial/samsung_uart.yaml | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/Documentation/devicetree/bindings/serial/samsung_uart.yaml b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
index 9d2ce347875b..a57b1233c691 100644
--- a/Documentation/devicetree/bindings/serial/samsung_uart.yaml
+++ b/Documentation/devicetree/bindings/serial/samsung_uart.yaml
@@ -29,6 +29,14 @@ properties:
   reg:
     maxItems: 1
 
+  reg-io-width:
+    description: |
+      The size (in bytes) of the IO accesses that should be performed
+      on the device.
+    allOf:
+      - $ref: /schemas/types.yaml#/definitions/uint32
+      - enum: [ 1, 4 ]
+
   clocks:
     minItems: 2
     maxItems: 5
-- 
2.15.0.rc1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v8 3/3] tty: samsung_tty: 32-bit access for TX/RX hold registers
       [not found]   ` <CGME20200420013332epcas2p381793b8c09d71269d3e8c38a196a1c74@epcas2p3.samsung.com>
@ 2020-04-20  1:32     ` Hyunki Koo
  2020-04-20 14:19       ` Hyunki Koo
  0 siblings, 1 reply; 13+ messages in thread
From: Hyunki Koo @ 2020-04-20  1:32 UTC (permalink / raw)
  To: Kukjin Kim, Krzysztof Kozlowski, Greg Kroah-Hartman, Jiri Slaby,
	linux-arm-kernel, linux-samsung-soc, linux-serial, linux-kernel
  Cc: hyunki00.koo

Support 32-bit access for the TX/RX hold registers UTXH and URXH.

This is required for some newer SoCs.

Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
---
 drivers/tty/serial/samsung_tty.c | 62 ++++++++++++++++++++++++++++++++++++----
 1 file changed, 57 insertions(+), 5 deletions(-)

diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
index 326b0164609c..bdf1d4d12cb1 100644
--- a/drivers/tty/serial/samsung_tty.c
+++ b/drivers/tty/serial/samsung_tty.c
@@ -154,12 +154,47 @@ struct s3c24xx_uart_port {
 #define portaddrl(port, reg) \
 	((unsigned long *)(unsigned long)((port)->membase + (reg)))
 
-#define rd_reg(port, reg) (readb_relaxed(portaddr(port, reg)))
+static u32 rd_reg(struct uart_port *port, u32 reg)
+{
+	switch (port->iotype) {
+	case UPIO_MEM:
+		return readb_relaxed(portaddr(port, reg));
+	case UPIO_MEM32:
+		return readl_relaxed(portaddr(port, reg));
+	default:
+		return 0;
+	}
+	return 0;
+}
+
 #define rd_regl(port, reg) (readl_relaxed(portaddr(port, reg)))
 
-#define wr_reg(port, reg, val) writeb_relaxed(val, portaddr(port, reg))
+static void wr_reg(struct uart_port *port, u32 reg, u32 val)
+{
+	switch (port->iotype) {
+	case UPIO_MEM:
+		writeb_relaxed(val, portaddr(port, reg));
+		break;
+	case UPIO_MEM32:
+		writel_relaxed(val, portaddr(port, reg));
+		break;
+	}
+}
+
 #define wr_regl(port, reg, val) writel_relaxed(val, portaddr(port, reg))
 
+static void wr_reg_barrier(struct uart_port *port, u32 reg, u32 val)
+{
+	switch (port->iotype) {
+	case UPIO_MEM:
+		writeb(val, portaddr(port, reg));
+		break;
+	case UPIO_MEM32:
+		writel(val, portaddr(port, reg));
+		break;
+	}
+}
+
 /* Byte-order aware bit setting/clearing functions. */
 
 static inline void s3c24xx_set_bit(struct uart_port *port, int idx,
@@ -1974,7 +2009,7 @@ static int s3c24xx_serial_probe(struct platform_device *pdev)
 	struct device_node *np = pdev->dev.of_node;
 	struct s3c24xx_uart_port *ourport;
 	int index = probe_index;
-	int ret;
+	int ret, prop = 0;
 
 	if (np) {
 		ret = of_alias_get_id(np, "serial");
@@ -2000,10 +2035,27 @@ static int s3c24xx_serial_probe(struct platform_device *pdev)
 			dev_get_platdata(&pdev->dev) :
 			ourport->drv_data->def_cfg;
 
-	if (np)
+	if (np) {
 		of_property_read_u32(np,
 			"samsung,uart-fifosize", &ourport->port.fifosize);
 
+		if (of_property_read_u32(np, "reg-io-width", &prop) == 0) {
+			switch (prop) {
+			case 1:
+				ourport->port.iotype = UPIO_MEM;
+				break;
+			case 4:
+				ourport->port.iotype = UPIO_MEM32;
+				break;
+			default:
+				dev_warn(&pdev->dev, "unsupported reg-io-width (%d)\n",
+						prop);
+				ret = -EINVAL;
+				break;
+			}
+		}
+	}
+
 	if (ourport->drv_data->fifosize[index])
 		ourport->port.fifosize = ourport->drv_data->fifosize[index];
 	else if (ourport->info->fifosize)
@@ -2612,7 +2664,7 @@ static void samsung_early_putc(struct uart_port *port, int c)
 	else
 		samsung_early_busyuart(port);
 
-	writeb(c, port->membase + S3C2410_UTXH);
+	wr_reg_barrier(port, S3C2410_UTXH, c);
 }
 
 static void samsung_early_write(struct console *con, const char *s,
-- 
2.15.0.rc1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH v8 3/3] tty: samsung_tty: 32-bit access for TX/RX hold registers
  2020-04-20  1:32     ` [PATCH v8 3/3] tty: samsung_tty: 32-bit access for TX/RX hold registers Hyunki Koo
@ 2020-04-20 14:19       ` Hyunki Koo
  0 siblings, 0 replies; 13+ messages in thread
From: Hyunki Koo @ 2020-04-20 14:19 UTC (permalink / raw)
  To: Hyunki Koo, Kukjin Kim, Krzysztof Kozlowski, Greg Kroah-Hartman,
	Jiri Slaby, linux-arm-kernel, linux-samsung-soc, linux-serial,
	linux-kernel

sorry, cover-letter [PATCH v8 0/3] does not sent, I will send cover 
letter tomorrow

all information of version control is included in cover letter.

On 20. 4. 20. 오전 10:32, Hyunki Koo wrote:
> Support 32-bit access for the TX/RX hold registers UTXH and URXH.
>
> This is required for some newer SoCs.
>
> Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
> ---
>   drivers/tty/serial/samsung_tty.c | 62 ++++++++++++++++++++++++++++++++++++----
>   1 file changed, 57 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
> index 326b0164609c..bdf1d4d12cb1 100644
> --- a/drivers/tty/serial/samsung_tty.c
> +++ b/drivers/tty/serial/samsung_tty.c
> @@ -154,12 +154,47 @@ struct s3c24xx_uart_port {
>   #define portaddrl(port, reg) \
>   	((unsigned long *)(unsigned long)((port)->membase + (reg)))
>   
> -#define rd_reg(port, reg) (readb_relaxed(portaddr(port, reg)))
> +static u32 rd_reg(struct uart_port *port, u32 reg)
> +{
> +	switch (port->iotype) {
> +	case UPIO_MEM:
> +		return readb_relaxed(portaddr(port, reg));
> +	case UPIO_MEM32:
> +		return readl_relaxed(portaddr(port, reg));
> +	default:
> +		return 0;
> +	}
> +	return 0;
> +}
> +
>   #define rd_regl(port, reg) (readl_relaxed(portaddr(port, reg)))
>   
> -#define wr_reg(port, reg, val) writeb_relaxed(val, portaddr(port, reg))
> +static void wr_reg(struct uart_port *port, u32 reg, u32 val)
> +{
> +	switch (port->iotype) {
> +	case UPIO_MEM:
> +		writeb_relaxed(val, portaddr(port, reg));
> +		break;
> +	case UPIO_MEM32:
> +		writel_relaxed(val, portaddr(port, reg));
> +		break;
> +	}
> +}
> +
>   #define wr_regl(port, reg, val) writel_relaxed(val, portaddr(port, reg))
>   
> +static void wr_reg_barrier(struct uart_port *port, u32 reg, u32 val)
> +{
> +	switch (port->iotype) {
> +	case UPIO_MEM:
> +		writeb(val, portaddr(port, reg));
> +		break;
> +	case UPIO_MEM32:
> +		writel(val, portaddr(port, reg));
> +		break;
> +	}
> +}
> +
>   /* Byte-order aware bit setting/clearing functions. */
>   
>   static inline void s3c24xx_set_bit(struct uart_port *port, int idx,
> @@ -1974,7 +2009,7 @@ static int s3c24xx_serial_probe(struct platform_device *pdev)
>   	struct device_node *np = pdev->dev.of_node;
>   	struct s3c24xx_uart_port *ourport;
>   	int index = probe_index;
> -	int ret;
> +	int ret, prop = 0;
>   
>   	if (np) {
>   		ret = of_alias_get_id(np, "serial");
> @@ -2000,10 +2035,27 @@ static int s3c24xx_serial_probe(struct platform_device *pdev)
>   			dev_get_platdata(&pdev->dev) :
>   			ourport->drv_data->def_cfg;
>   
> -	if (np)
> +	if (np) {
>   		of_property_read_u32(np,
>   			"samsung,uart-fifosize", &ourport->port.fifosize);
>   
> +		if (of_property_read_u32(np, "reg-io-width", &prop) == 0) {
> +			switch (prop) {
> +			case 1:
> +				ourport->port.iotype = UPIO_MEM;
> +				break;
> +			case 4:
> +				ourport->port.iotype = UPIO_MEM32;
> +				break;
> +			default:
> +				dev_warn(&pdev->dev, "unsupported reg-io-width (%d)\n",
> +						prop);
> +				ret = -EINVAL;
> +				break;
> +			}
> +		}
> +	}
> +
>   	if (ourport->drv_data->fifosize[index])
>   		ourport->port.fifosize = ourport->drv_data->fifosize[index];
>   	else if (ourport->info->fifosize)
> @@ -2612,7 +2664,7 @@ static void samsung_early_putc(struct uart_port *port, int c)
>   	else
>   		samsung_early_busyuart(port);
>   
> -	writeb(c, port->membase + S3C2410_UTXH);
> +	wr_reg_barrier(port, S3C2410_UTXH, c);
>   }
>   
>   static void samsung_early_write(struct console *con, const char *s,

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v8 0/3] 32-bit access for TX/RX hold registers for samsung_tty driver
       [not found]   ` <CGME20200420233607epcas2p305dbd652ab73592a32c17773c1fce329@epcas2p3.samsung.com>
@ 2020-04-20 23:35     ` Hyunki Koo
  2020-04-24  0:40       ` Hyunki Koo
  0 siblings, 1 reply; 13+ messages in thread
From: Hyunki Koo @ 2020-04-20 23:35 UTC (permalink / raw)
  To: gregkh, robh+dt, linux-serial, devicetree, linux-kernel; +Cc: hyunki00.koo

Change in v8:
- spit into 3 patch
  [1/3] create the new functions with no functional change to the code as-is.
  Replace rd_regb/wr_regb with rd_reg/wr_reg for general usage.
  [2/3] add the new binding reg-io-width in device tree
  [3/3] add the new funtinality of rd_reg / wr_reg and wr_reg_barrier 
        to support 32-bit access for the TX/RX hold registers UTXH and URXH.

Change in v7:
- [1/2] correct build error on running 'make dt_binding_check' 
Documentation/devicetree/bindings/serial/samsung_uart.yaml:  mapping values are not allowed in this context
  in "<unicode string>", line 36, column 13
  Documentation/devicetree/bindings/Makefile:12: recipe for target 'Documentation/devicetree/bindings/serial/samsung_uart.example.dts' failed
  make[1]: *** [Documentation/devicetree/bindings/serial/samsung_uart.example.dts] Error 1
  make[1]: *** Waiting for unfinished jobs....
  Makefile:1262: recipe for target 'dt_binding_check' failed
  make: *** [dt_binding_check] Error 2
- [2/2] add commit message of reviewed by and tested by in commit message
  Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
  Tested on Odroid HC1 (Exynos5422):
  Tested-by: Krzysztof Kozlowski <krzk@kernel.org>

Change in v6:
- [2/2] clean description of reg-io-width
  allOf is not needed. Just enum [1, 2] is enough.

Changes in v5:
- spit into 2 patch, newly added patch for dt-binding
  [1/2] newly added dt-binding and go as first patch in this series.
  [2/2] go as second patch in this series.

Changes in v4:
- correct variable types and change misleading function name

Changes in v3:
- line 2031: remove redundant init value  for ourport->port.iotype

Changes in v2:
- line 954 : change rd_regl to rd_reg in for backward compatibility.
- line 2031: Add init value for ourport->port.iotype  to UPIO_MEM


Hyunki Koo (3):
  serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg
  dt-bindings: serial: Add reg-io-width compatible
  tty: samsung_tty: 32-bit access for TX/RX hold registers

 .../devicetree/bindings/serial/samsung_uart.yaml   |  8 +++
 drivers/tty/serial/samsung_tty.c                   | 76 ++++++++++++++++++----
 2 files changed, 72 insertions(+), 12 deletions(-)

-- 
2.15.0.rc1


^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [PATCH v8 0/3] 32-bit access for TX/RX hold registers for samsung_tty driver
  2020-04-20 23:35     ` [PATCH v8 0/3] 32-bit access for TX/RX hold registers for samsung_tty driver Hyunki Koo
@ 2020-04-24  0:40       ` Hyunki Koo
  2020-04-24  5:37         ` Greg KH
  0 siblings, 1 reply; 13+ messages in thread
From: Hyunki Koo @ 2020-04-24  0:40 UTC (permalink / raw)
  To: gregkh, robh+dt, linux-serial, devicetree, linux-kernel

On Sat, April 21, 2020 at 08:36:00 AM +0900, Hyunki Koo wrote:
> 
> Change in v8:
> - spit into 3 patch
>   [1/3] create the new functions with no functional change to the code as-
> is.
>   Replace rd_regb/wr_regb with rd_reg/wr_reg for general usage.
>   [2/3] add the new binding reg-io-width in device tree
>   [3/3] add the new funtinality of rd_reg / wr_reg and wr_reg_barrier
>         to support 32-bit access for the TX/RX hold registers UTXH and URXH.
> 
> Change in v7:
> - [1/2] correct build error on running 'make dt_binding_check'
> Documentation/devicetree/bindings/serial/samsung_uart.yaml:  mapping
> values are not allowed in this context
>   in "<unicode string>", line 36, column 13
>   Documentation/devicetree/bindings/Makefile:12: recipe for target
> 'Documentation/devicetree/bindings/serial/samsung_uart.example.dts'
> failed
>   make[1]: ***
> [Documentation/devicetree/bindings/serial/samsung_uart.example.dts]
> Error 1
>   make[1]: *** Waiting for unfinished jobs....
>   Makefile:1262: recipe for target 'dt_binding_check' failed
>   make: *** [dt_binding_check] Error 2
> - [2/2] add commit message of reviewed by and tested by in commit
> message
>   Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
>   Tested on Odroid HC1 (Exynos5422):
>   Tested-by: Krzysztof Kozlowski <krzk@kernel.org>
> 
> Change in v6:
> - [2/2] clean description of reg-io-width
>   allOf is not needed. Just enum [1, 2] is enough.
> 
> Changes in v5:
> - spit into 2 patch, newly added patch for dt-binding
>   [1/2] newly added dt-binding and go as first patch in this series.
>   [2/2] go as second patch in this series.
> 
> Changes in v4:
> - correct variable types and change misleading function name
> 
> Changes in v3:
> - line 2031: remove redundant init value  for ourport->port.iotype
> 
> Changes in v2:
> - line 954 : change rd_regl to rd_reg in for backward compatibility.
> - line 2031: Add init value for ourport->port.iotype  to UPIO_MEM
> 
> 
> Hyunki Koo (3):
>   serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg
>   dt-bindings: serial: Add reg-io-width compatible
>   tty: samsung_tty: 32-bit access for TX/RX hold registers
> 
>  .../devicetree/bindings/serial/samsung_uart.yaml   |  8 +++
>  drivers/tty/serial/samsung_tty.c                   | 76 ++++++++++++++++++---
> -
>  2 files changed, 72 insertions(+), 12 deletions(-)
> 
> --
> 2.15.0.rc1

Hi Greg KH

Can I ask is this series patch are acceptable or not?
Do you think, I have to do any further action  for this patch?


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v8 0/3] 32-bit access for TX/RX hold registers for samsung_tty driver
  2020-04-24  0:40       ` Hyunki Koo
@ 2020-04-24  5:37         ` Greg KH
  2020-04-26 23:15           ` Hyunki Koo
  0 siblings, 1 reply; 13+ messages in thread
From: Greg KH @ 2020-04-24  5:37 UTC (permalink / raw)
  To: Hyunki Koo; +Cc: robh+dt, linux-serial, devicetree, linux-kernel

On Fri, Apr 24, 2020 at 09:40:18AM +0900, Hyunki Koo wrote:
> On Sat, April 21, 2020 at 08:36:00 AM +0900, Hyunki Koo wrote:
> > 
> > Change in v8:
> > - spit into 3 patch
> >   [1/3] create the new functions with no functional change to the code as-
> > is.
> >   Replace rd_regb/wr_regb with rd_reg/wr_reg for general usage.
> >   [2/3] add the new binding reg-io-width in device tree
> >   [3/3] add the new funtinality of rd_reg / wr_reg and wr_reg_barrier
> >         to support 32-bit access for the TX/RX hold registers UTXH and URXH.
> > 
> > Change in v7:
> > - [1/2] correct build error on running 'make dt_binding_check'
> > Documentation/devicetree/bindings/serial/samsung_uart.yaml:  mapping
> > values are not allowed in this context
> >   in "<unicode string>", line 36, column 13
> >   Documentation/devicetree/bindings/Makefile:12: recipe for target
> > 'Documentation/devicetree/bindings/serial/samsung_uart.example.dts'
> > failed
> >   make[1]: ***
> > [Documentation/devicetree/bindings/serial/samsung_uart.example.dts]
> > Error 1
> >   make[1]: *** Waiting for unfinished jobs....
> >   Makefile:1262: recipe for target 'dt_binding_check' failed
> >   make: *** [dt_binding_check] Error 2
> > - [2/2] add commit message of reviewed by and tested by in commit
> > message
> >   Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
> >   Tested on Odroid HC1 (Exynos5422):
> >   Tested-by: Krzysztof Kozlowski <krzk@kernel.org>
> > 
> > Change in v6:
> > - [2/2] clean description of reg-io-width
> >   allOf is not needed. Just enum [1, 2] is enough.
> > 
> > Changes in v5:
> > - spit into 2 patch, newly added patch for dt-binding
> >   [1/2] newly added dt-binding and go as first patch in this series.
> >   [2/2] go as second patch in this series.
> > 
> > Changes in v4:
> > - correct variable types and change misleading function name
> > 
> > Changes in v3:
> > - line 2031: remove redundant init value  for ourport->port.iotype
> > 
> > Changes in v2:
> > - line 954 : change rd_regl to rd_reg in for backward compatibility.
> > - line 2031: Add init value for ourport->port.iotype  to UPIO_MEM
> > 
> > 
> > Hyunki Koo (3):
> >   serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg
> >   dt-bindings: serial: Add reg-io-width compatible
> >   tty: samsung_tty: 32-bit access for TX/RX hold registers
> > 
> >  .../devicetree/bindings/serial/samsung_uart.yaml   |  8 +++
> >  drivers/tty/serial/samsung_tty.c                   | 76 ++++++++++++++++++---
> > -
> >  2 files changed, 72 insertions(+), 12 deletions(-)
> > 
> > --
> > 2.15.0.rc1
> 
> Hi Greg KH
> 
> Can I ask is this series patch are acceptable or not?
> Do you think, I have to do any further action  for this patch?
> 

It's been 3 days, give us a chance please...

Also, I need to wait for the dt patch to be reviewed first before I can
take any of this, so that's up to the DT maintainers.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [PATCH v8 0/3] 32-bit access for TX/RX hold registers for samsung_tty driver
  2020-04-24  5:37         ` Greg KH
@ 2020-04-26 23:15           ` Hyunki Koo
  0 siblings, 0 replies; 13+ messages in thread
From: Hyunki Koo @ 2020-04-26 23:15 UTC (permalink / raw)
  To: 'Greg KH'; +Cc: robh+dt, linux-serial, devicetree, linux-kernel

On Fri, Apr 24, 2020 at 02:37:18PM +0900, Greg KH wrote:
> On Fri, Apr 24, 2020 at 09:40:18AM +0900, Hyunki Koo wrote:
> > On Sat, April 21, 2020 at 08:36:00 AM +0900, Hyunki Koo wrote:
> > >
> > > Change in v8:
> > > - spit into 3 patch
> > >   [1/3] create the new functions with no functional change to the
> > > code as- is.
> > >   Replace rd_regb/wr_regb with rd_reg/wr_reg for general usage.
> > >   [2/3] add the new binding reg-io-width in device tree
> > >   [3/3] add the new funtinality of rd_reg / wr_reg and wr_reg_barrier
> > >         to support 32-bit access for the TX/RX hold registers UTXH and
> URXH.
> > >
> > > Change in v7:
> > > - [1/2] correct build error on running 'make dt_binding_check'
> > > Documentation/devicetree/bindings/serial/samsung_uart.yaml:
> mapping
> > > values are not allowed in this context
> > >   in "<unicode string>", line 36, column 13
> > >   Documentation/devicetree/bindings/Makefile:12: recipe for target
> > >
> 'Documentation/devicetree/bindings/serial/samsung_uart.example.dts'
> > > failed
> > >   make[1]: ***
> > >
> [Documentation/devicetree/bindings/serial/samsung_uart.example.dts]
> > > Error 1
> > >   make[1]: *** Waiting for unfinished jobs....
> > >   Makefile:1262: recipe for target 'dt_binding_check' failed
> > >   make: *** [dt_binding_check] Error 2
> > > - [2/2] add commit message of reviewed by and tested by in commit
> > > message
> > >   Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
> > >   Tested on Odroid HC1 (Exynos5422):
> > >   Tested-by: Krzysztof Kozlowski <krzk@kernel.org>
> > >
> > > Change in v6:
> > > - [2/2] clean description of reg-io-width
> > >   allOf is not needed. Just enum [1, 2] is enough.
> > >
> > > Changes in v5:
> > > - spit into 2 patch, newly added patch for dt-binding
> > >   [1/2] newly added dt-binding and go as first patch in this series.
> > >   [2/2] go as second patch in this series.
> > >
> > > Changes in v4:
> > > - correct variable types and change misleading function name
> > >
> > > Changes in v3:
> > > - line 2031: remove redundant init value  for ourport->port.iotype
> > >
> > > Changes in v2:
> > > - line 954 : change rd_regl to rd_reg in for backward compatibility.
> > > - line 2031: Add init value for ourport->port.iotype  to UPIO_MEM
> > >
> > >
> > > Hyunki Koo (3):
> > >   serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg
> > >   dt-bindings: serial: Add reg-io-width compatible
> > >   tty: samsung_tty: 32-bit access for TX/RX hold registers
> > >
> > >  .../devicetree/bindings/serial/samsung_uart.yaml   |  8 +++
> > >  drivers/tty/serial/samsung_tty.c                   | 76
> ++++++++++++++++++---
> > > -
> > >  2 files changed, 72 insertions(+), 12 deletions(-)
> > >
> > > --
> > > 2.15.0.rc1
> >
> > Hi Greg KH
> >
> > Can I ask is this series patch are acceptable or not?
> > Do you think, I have to do any further action  for this patch?
> >
> 
> It's been 3 days, give us a chance please...
> 
> Also, I need to wait for the dt patch to be reviewed first before I can take
> any of this, so that's up to the DT maintainers.
> 
> thanks,
> 
> greg k-h

Sorry to disturb you and Thank you for your answer,
I will wait.


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v8 2/3] dt-bindings: serial: Add reg-io-width compatible
  2020-04-20  1:32     ` [PATCH v8 2/3] dt-bindings: serial: Add reg-io-width compatible Hyunki Koo
@ 2020-04-30 15:12       ` Rob Herring
  0 siblings, 0 replies; 13+ messages in thread
From: Rob Herring @ 2020-04-30 15:12 UTC (permalink / raw)
  To: Hyunki Koo
  Cc: Greg Kroah-Hartman, Rob Herring, linux-serial, devicetree,
	linux-kernel, hyunki00.koo

On Mon, 20 Apr 2020 10:32:57 +0900, Hyunki Koo wrote:
> Add a description for reg-io-width options for the samsung serial
> UART peripheral.
> 
> Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
> ---
>  Documentation/devicetree/bindings/serial/samsung_uart.yaml | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v8 1/3] serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg
  2020-04-20  1:32 ` [PATCH v8 1/3] serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg Hyunki Koo
                     ` (2 preceding siblings ...)
       [not found]   ` <CGME20200420233607epcas2p305dbd652ab73592a32c17773c1fce329@epcas2p3.samsung.com>
@ 2020-05-05 14:23   ` Greg Kroah-Hartman
  2020-05-05 23:30     ` Hyunki Koo
  3 siblings, 1 reply; 13+ messages in thread
From: Greg Kroah-Hartman @ 2020-05-05 14:23 UTC (permalink / raw)
  To: Hyunki Koo
  Cc: Kukjin Kim, Krzysztof Kozlowski, Jiri Slaby, linux-arm-kernel,
	linux-samsung-soc, linux-serial, linux-kernel

On Mon, Apr 20, 2020 at 10:32:56AM +0900, Hyunki Koo wrote:
> This patch change the name of macro for general usage.
> 
> Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>

This patch series creates the following build error, which is not
allowed:

  CC [M]  drivers/tty/serial/samsung_tty.o
drivers/tty/serial/samsung_tty.c:186:13: warning: ‘wr_reg_barrier’ defined but not used [-Wunused-function]
  186 | static void wr_reg_barrier(struct uart_port *port, u32 reg, u32 val)
      |             ^~~~~~~~~~~~~~

Please fix up and resend.  Always make sure you keep the reviewed-by
tags from others as well.

greg k-h

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [PATCH v8 1/3] serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg
  2020-05-05 14:23   ` [PATCH v8 1/3] serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg Greg Kroah-Hartman
@ 2020-05-05 23:30     ` Hyunki Koo
  2020-05-06  6:31       ` 'Greg Kroah-Hartman'
  0 siblings, 1 reply; 13+ messages in thread
From: Hyunki Koo @ 2020-05-05 23:30 UTC (permalink / raw)
  To: 'Greg Kroah-Hartman'
  Cc: 'Kukjin Kim', 'Krzysztof Kozlowski',
	'Jiri Slaby',
	linux-arm-kernel, linux-samsung-soc, linux-serial, linux-kernel

On Tuesday, May 5, 2020 at 2020 11:23:00 PM +0900, Greg Kroah-Hartman wrote:
> On Mon, Apr 20, 2020 at 10:32:56AM +0900, Hyunki Koo wrote:
> > This patch change the name of macro for general usage.
> >
> > Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
> 
> This patch series creates the following build error, which is not
> allowed:
> 
>   CC [M]  drivers/tty/serial/samsung_tty.o
> drivers/tty/serial/samsung_tty.c:186:13: warning: ‘wr_reg_barrier’
> defined but not used [-Wunused-function]
>   186 | static void wr_reg_barrier(struct uart_port *port, u32 reg, u32 val)
>       |             ^~~~~~~~~~~~~~
> 
> Please fix up and resend.  Always make sure you keep the reviewed-by
> tags from others as well.
> 
> greg k-h

I tested on latest kernel today one more time, there is no error and warning on my side, not only patch 1/3 and patch 3/3
Line 1735:   CC      drivers/tty/serial/samsung_tty.o
Line 343:   CC      drivers/tty/serial/samsung_tty.o

wr_reg_barrier is not defined in patch 1/3, 
and wr_reg_barrier is define and used in patch3/3
it might be no warning.




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v8 1/3] serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg
  2020-05-05 23:30     ` Hyunki Koo
@ 2020-05-06  6:31       ` 'Greg Kroah-Hartman'
  2020-05-06  7:18         ` Hyunki Koo
  0 siblings, 1 reply; 13+ messages in thread
From: 'Greg Kroah-Hartman' @ 2020-05-06  6:31 UTC (permalink / raw)
  To: Hyunki Koo
  Cc: 'Kukjin Kim', 'Krzysztof Kozlowski',
	'Jiri Slaby',
	linux-arm-kernel, linux-samsung-soc, linux-serial, linux-kernel

On Wed, May 06, 2020 at 08:30:46AM +0900, Hyunki Koo wrote:
> On Tuesday, May 5, 2020 at 2020 11:23:00 PM +0900, Greg Kroah-Hartman wrote:
> > On Mon, Apr 20, 2020 at 10:32:56AM +0900, Hyunki Koo wrote:
> > > This patch change the name of macro for general usage.
> > >
> > > Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
> > 
> > This patch series creates the following build error, which is not
> > allowed:
> > 
> >   CC [M]  drivers/tty/serial/samsung_tty.o
> > drivers/tty/serial/samsung_tty.c:186:13: warning: ‘wr_reg_barrier’
> > defined but not used [-Wunused-function]
> >   186 | static void wr_reg_barrier(struct uart_port *port, u32 reg, u32 val)
> >       |             ^~~~~~~~~~~~~~
> > 
> > Please fix up and resend.  Always make sure you keep the reviewed-by
> > tags from others as well.
> > 
> > greg k-h
> 
> I tested on latest kernel today one more time, there is no error and warning on my side, not only patch 1/3 and patch 3/3
> Line 1735:   CC      drivers/tty/serial/samsung_tty.o
> Line 343:   CC      drivers/tty/serial/samsung_tty.o
> 
> wr_reg_barrier is not defined in patch 1/3, 
> and wr_reg_barrier is define and used in patch3/3
> it might be no warning.

After I apply this series, I got the above build warning on my normal
x86 system, so I can not take the patches.  Please fix up and resend.

greg k-h

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [PATCH v8 1/3] serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg
  2020-05-06  6:31       ` 'Greg Kroah-Hartman'
@ 2020-05-06  7:18         ` Hyunki Koo
  0 siblings, 0 replies; 13+ messages in thread
From: Hyunki Koo @ 2020-05-06  7:18 UTC (permalink / raw)
  To: 'Greg Kroah-Hartman'
  Cc: 'Kukjin Kim', 'Krzysztof Kozlowski',
	'Jiri Slaby',
	linux-arm-kernel, linux-samsung-soc, linux-serial, linux-kernel

On Tuesday, May 5, 2020 at 2020 03:31:00 PM +0900, Greg Kroah-Hartman
> On Wed, May 06, 2020 at 08:30:46AM +0900, Hyunki Koo wrote:
> > On Tuesday, May 5, 2020 at 2020 11:23:00 PM +0900, Greg Kroah-Hartman
> Hartman wrote:
> > > On Mon, Apr 20, 2020 at 10:32:56AM +0900, Hyunki Koo wrote:
> > > > This patch change the name of macro for general usage.
> > > >
> > > > Signed-off-by: Hyunki Koo <hyunki00.koo@samsung.com>
> > >
> > > This patch series creates the following build error, which is not
> > > allowed:
> > >
> > >   CC [M]  drivers/tty/serial/samsung_tty.o
> > > drivers/tty/serial/samsung_tty.c:186:13: warning: ‘wr_reg_barrier’
> > > defined but not used [-Wunused-function]
> > >   186 | static void wr_reg_barrier(struct uart_port *port, u32 reg, u32
> val)
> > >       |             ^~~~~~~~~~~~~~
> > >
> > > Please fix up and resend.  Always make sure you keep the reviewed-by
> > > tags from others as well.
> > >
> > > greg k-h
> >
> > I tested on latest kernel today one more time, there is no error and
> warning on my side, not only patch 1/3 and patch 3/3
> > Line 1735:   CC      drivers/tty/serial/samsung_tty.o
> > Line 343:   CC      drivers/tty/serial/samsung_tty.o
> >
> > wr_reg_barrier is not defined in patch 1/3, and wr_reg_barrier is
> > define and used in patch3/3 it might be no warning.
> 
> After I apply this series, I got the above build warning on my normal
> x86 system, so I can not take the patches.  Please fix up and resend.
> 
> greg k-h

I'm so sorry, 
There is an warning if CONFIG_SERIAL_SAMSUNG_CONSOLE  is not enabled.
I've fix the patch and resend
Thank you in advance.



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2020-05-06  7:18 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CGME20200420013322epcas2p263e72997dd4ebdaf00b095a83a6b6651@epcas2p2.samsung.com>
2020-04-20  1:32 ` [PATCH v8 1/3] serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg Hyunki Koo
     [not found]   ` <CGME20200420013325epcas2p13f65e6bc8ba68f89c805704830144870@epcas2p1.samsung.com>
2020-04-20  1:32     ` [PATCH v8 2/3] dt-bindings: serial: Add reg-io-width compatible Hyunki Koo
2020-04-30 15:12       ` Rob Herring
     [not found]   ` <CGME20200420013332epcas2p381793b8c09d71269d3e8c38a196a1c74@epcas2p3.samsung.com>
2020-04-20  1:32     ` [PATCH v8 3/3] tty: samsung_tty: 32-bit access for TX/RX hold registers Hyunki Koo
2020-04-20 14:19       ` Hyunki Koo
     [not found]   ` <CGME20200420233607epcas2p305dbd652ab73592a32c17773c1fce329@epcas2p3.samsung.com>
2020-04-20 23:35     ` [PATCH v8 0/3] 32-bit access for TX/RX hold registers for samsung_tty driver Hyunki Koo
2020-04-24  0:40       ` Hyunki Koo
2020-04-24  5:37         ` Greg KH
2020-04-26 23:15           ` Hyunki Koo
2020-05-05 14:23   ` [PATCH v8 1/3] serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg Greg Kroah-Hartman
2020-05-05 23:30     ` Hyunki Koo
2020-05-06  6:31       ` 'Greg Kroah-Hartman'
2020-05-06  7:18         ` Hyunki Koo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).