2020-04-20 01:36:24

by Hyunki Koo

[permalink] [raw]
Subject: [PATCH v8 1/3] serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg

This patch change the name of macro for general usage.

Signed-off-by: Hyunki Koo <[email protected]>
---
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


2020-04-20 01:36:52

by Hyunki Koo

[permalink] [raw]
Subject: [PATCH v8 3/3] tty: samsung_tty: 32-bit access for TX/RX hold registers

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 <[email protected]>
---
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

2020-04-20 15:13:35

by Hyunki Koo

[permalink] [raw]
Subject: Re: [PATCH v8 3/3] tty: samsung_tty: 32-bit access for TX/RX hold registers

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 <[email protected]>
> ---
> 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,

2020-04-20 23:37:37

by Hyunki Koo

[permalink] [raw]
Subject: [PATCH v8 0/3] 32-bit access for TX/RX hold registers for samsung_tty driver

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 <[email protected]>
Tested on Odroid HC1 (Exynos5422):
Tested-by: Krzysztof Kozlowski <[email protected]>

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

2020-04-24 00:42:19

by Hyunki Koo

[permalink] [raw]
Subject: RE: [PATCH v8 0/3] 32-bit access for TX/RX hold registers for samsung_tty driver

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 <[email protected]>
> Tested on Odroid HC1 (Exynos5422):
> Tested-by: Krzysztof Kozlowski <[email protected]>
>
> 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?

2020-04-24 05:40:15

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v8 0/3] 32-bit access for TX/RX hold registers for samsung_tty driver

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 <[email protected]>
> > Tested on Odroid HC1 (Exynos5422):
> > Tested-by: Krzysztof Kozlowski <[email protected]>
> >
> > 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

2020-04-26 23:24:25

by Hyunki Koo

[permalink] [raw]
Subject: RE: [PATCH v8 0/3] 32-bit access for TX/RX hold registers for samsung_tty driver

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 <[email protected]>
> > > Tested on Odroid HC1 (Exynos5422):
> > > Tested-by: Krzysztof Kozlowski <[email protected]>
> > >
> > > 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.

2020-05-05 14:26:47

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v8 1/3] serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg

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 <[email protected]>

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

2020-05-05 23:32:59

by Hyunki Koo

[permalink] [raw]
Subject: RE: [PATCH v8 1/3] serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg

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 <[email protected]>
>
> 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.



2020-05-06 06:33:25

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH v8 1/3] serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg

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 <[email protected]>
> >
> > 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

2020-05-06 07:20:40

by Hyunki Koo

[permalink] [raw]
Subject: RE: [PATCH v8 1/3] serial: samsung: Replace rd_regb/wr_regb with rd_reg/wr_reg

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 <[email protected]>
> > >
> > > 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.