* [PATCH] RS485 serial communication on ColdFire
@ 2013-01-13 23:21 Kevin Nguyen
2013-01-14 3:33 ` Greg KH
0 siblings, 1 reply; 6+ messages in thread
From: Kevin Nguyen @ 2013-01-13 23:21 UTC (permalink / raw)
To: linux-serial
[-- Attachment #1: Type: text/plain, Size: 577 bytes --]
Hi
I've attached the patch that adds support RS485 communication in
ColdFire serial driver.
As defined in Documentation/serial/serial-rs485.txt, switching between
read or write mode can be done by toggling RTS signal that is
supported by ColdFire chips.
I actually wrote it more than a year ago (on Linux 3.2) but haven't
seen any similar patch for ColdFire microcontrollers so that I think
it would be useful for someone using this serial driver for RS485
communication. It is tested on my MCF5271 board.
Your comments are appreciated.
Cheers
--
Quoc-Viet (Kevin) Nguyen
[-- Attachment #2: 0001-mcf-Add-support-RS485-in-ColdFire-serial-driver.patch --]
[-- Type: application/octet-stream, Size: 5194 bytes --]
From 002fe4516d01fbf794450fd6bf95ff66e795d5fa Mon Sep 17 00:00:00 2001
From: Quoc-Viet Nguyen <afelion@gmail.com>
Date: Tue, 8 Jan 2013 17:56:39 +1000
Subject: [PATCH] mcf: Add support RS485 in ColdFire serial driver
Signed-off-by: Quoc-Viet Nguyen <afelion@gmail.com>
---
drivers/tty/serial/Kconfig | 6 ++++
drivers/tty/serial/mcf.c | 82 ++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 88 insertions(+)
diff --git a/drivers/tty/serial/Kconfig b/drivers/tty/serial/Kconfig
index 925a1e5..09da953 100644
--- a/drivers/tty/serial/Kconfig
+++ b/drivers/tty/serial/Kconfig
@@ -1042,6 +1042,12 @@ config SERIAL_MCF_CONSOLE
help
Enable a ColdFire internal serial port to be the system console.
+config SERIAL_MCF_RS485
+ bool "ColdFire serial RS485 support"
+ depends on SERIAL_MCF
+ help
+ Automatically switching read/write mode by toggling /RTS signal.
+
config SERIAL_PMACZILOG
tristate "Mac or PowerMac z85c30 ESCC support"
depends on (M68K && MAC) || (PPC_OF && PPC_PMAC)
diff --git a/drivers/tty/serial/mcf.c b/drivers/tty/serial/mcf.c
index 9afca09..c462707 100644
--- a/drivers/tty/serial/mcf.c
+++ b/drivers/tty/serial/mcf.c
@@ -27,6 +27,7 @@
#include <asm/mcfsim.h>
#include <asm/mcfuart.h>
#include <asm/nettel.h>
+#include <asm/uaccess.h>
/****************************************************************************/
@@ -55,6 +56,9 @@ struct mcf_uart {
struct uart_port port;
unsigned int sigs; /* Local copy of line sigs */
unsigned char imr; /* Local IMR mirror */
+#if defined(CONFIG_SERIAL_MCF_RS485)
+ struct serial_rs485 rs485;
+#endif
};
/****************************************************************************/
@@ -101,6 +105,14 @@ static void mcf_start_tx(struct uart_port *port)
{
struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
+#if defined(CONFIG_SERIAL_MCF_RS485)
+ if (pp->rs485.flags & SER_RS485_ENABLED) {
+ /* Enable Transmitter */
+ writeb(MCFUART_UCR_TXENABLE, port->membase + MCFUART_UCR);
+ /* Manually assert RTS */
+ writeb(MCFUART_UOP_RTS, port->membase + MCFUART_UOP1);
+ }
+#endif
pp->imr |= MCFUART_UIR_TXREADY;
writeb(pp->imr, port->membase + MCFUART_UIMR);
}
@@ -248,6 +260,15 @@ static void mcf_set_termios(struct uart_port *port, struct ktermios *termios,
mr2 |= MCFUART_MR2_TXCTS;
}
+#if defined(CONFIG_SERIAL_MCF_RS485)
+ {
+ struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
+ if (pp->rs485.flags & SER_RS485_ENABLED) {
+ printk(KERN_DEBUG "Setting UART to RS485\n");
+ mr2 |= MCFUART_MR2_TXRTS;
+ }
+ }
+#endif
spin_lock_irqsave(&port->lock, flags);
uart_update_timeout(port, termios->c_cflag, baud);
writeb(MCFUART_UCR_CMDRESETRX, port->membase + MCFUART_UCR);
@@ -342,6 +363,11 @@ static void mcf_tx_chars(struct mcf_uart *pp)
if (xmit->head == xmit->tail) {
pp->imr &= ~MCFUART_UIR_TXREADY;
writeb(pp->imr, port->membase + MCFUART_UIMR);
+#if defined(CONFIG_SERIAL_MCF_RS485)
+ /* disable Transmitter to negate automatically RTS */
+ if (pp->rs485.flags & SER_RS485_ENABLED)
+ writeb(MCFUART_UCR_TXDISABLE, port->membase + MCFUART_UCR);
+#endif
}
}
@@ -418,6 +444,59 @@ static int mcf_verify_port(struct uart_port *port, struct serial_struct *ser)
/****************************************************************************/
+#if defined(CONFIG_SERIAL_MCF_RS485)
+static void mcf_config_rs485(struct uart_port *port, struct serial_rs485 *rs485)
+{
+ struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
+ unsigned long flags;
+ unsigned char mr1, mr2;
+
+ spin_lock_irqsave(&port->lock, flags);
+ /* get mode register */
+ mr1 = readb(port->membase + MCFUART_UMR);
+ mr2 = readb(port->membase + MCFUART_UMR);
+ if (rs485->flags & SER_RS485_ENABLED) {
+ printk(KERN_DEBUG "Setting UART to RS485\n");
+ /* Automatically negate RTS after TX is complete */
+ mr2 |= MCFUART_MR2_TXRTS;
+ } else {
+ printk(KERN_DEBUG "Setting UART to RS232\n");
+ mr2 &= ~MCFUART_MR2_TXRTS;
+ }
+ writeb(mr1, port->membase + MCFUART_UMR);
+ writeb(mr2, port->membase + MCFUART_UMR);
+ pp->rs485 = *rs485;
+ spin_unlock_irqrestore(&port->lock, flags);
+}
+
+static int mcf_ioctl(struct uart_port *port, unsigned int cmd,
+ unsigned long arg)
+{
+ switch (cmd) {
+ case TIOCSRS485: {
+ struct serial_rs485 rs485;
+ if (copy_from_user(&rs485, (struct serial_rs485 *)arg,
+ sizeof(struct serial_rs485)))
+ return -EFAULT;
+ mcf_config_rs485(port, &rs485);
+ break;
+ }
+ case TIOCGRS485: {
+ struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
+ if (copy_to_user((struct serial_rs485 *)arg, &pp->rs485,
+ sizeof(struct serial_rs485)))
+ return -EFAULT;
+ break;
+ }
+ default:
+ return -ENOIOCTLCMD;
+ }
+ return 0;
+}
+#endif
+
+/****************************************************************************/
+
/*
* Define the basic serial functions we support.
*/
@@ -438,6 +517,9 @@ static const struct uart_ops mcf_uart_ops = {
.release_port = mcf_release_port,
.config_port = mcf_config_port,
.verify_port = mcf_verify_port,
+#if defined(CONFIG_SERIAL_MCF_RS485)
+ .ioctl = mcf_ioctl,
+#endif
};
static struct mcf_uart mcf_ports[4];
--
1.7.10.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] RS485 serial communication on ColdFire
2013-01-13 23:21 [PATCH] RS485 serial communication on ColdFire Kevin Nguyen
@ 2013-01-14 3:33 ` Greg KH
2013-01-14 8:12 ` Kevin Nguyen
0 siblings, 1 reply; 6+ messages in thread
From: Greg KH @ 2013-01-14 3:33 UTC (permalink / raw)
To: Kevin Nguyen; +Cc: linux-serial
On Mon, Jan 14, 2013 at 09:21:52AM +1000, Kevin Nguyen wrote:
> Hi
>
> I've attached the patch that adds support RS485 communication in
> ColdFire serial driver.
>
> As defined in Documentation/serial/serial-rs485.txt, switching between
> read or write mode can be done by toggling RTS signal that is
> supported by ColdFire chips.
>
> I actually wrote it more than a year ago (on Linux 3.2) but haven't
> seen any similar patch for ColdFire microcontrollers so that I think
> it would be useful for someone using this serial driver for RS485
> communication. It is tested on my MCF5271 board.
>
> Your comments are appreciated.
Is there any way to do this so that the option can be enabled at
runtime, instead of build time? Also, getting rid of a lot of the
#ifdefs in the .c file would be great to accomplish.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] RS485 serial communication on ColdFire
2013-01-14 3:33 ` Greg KH
@ 2013-01-14 8:12 ` Kevin Nguyen
2013-01-14 14:28 ` Greg KH
0 siblings, 1 reply; 6+ messages in thread
From: Kevin Nguyen @ 2013-01-14 8:12 UTC (permalink / raw)
To: Greg KH; +Cc: linux-serial
[-- Attachment #1: Type: text/plain, Size: 1134 bytes --]
Hi Greg,
The RS485 mode can be switched on/off from userspace by using the flag
SER_RS485_ENABLED, therefore I've removed those #ifdefs in the patch.
Regards
On Mon, Jan 14, 2013 at 1:33 PM, Greg KH <gregkh@linuxfoundation.org> wrote:
> On Mon, Jan 14, 2013 at 09:21:52AM +1000, Kevin Nguyen wrote:
>> Hi
>>
>> I've attached the patch that adds support RS485 communication in
>> ColdFire serial driver.
>>
>> As defined in Documentation/serial/serial-rs485.txt, switching between
>> read or write mode can be done by toggling RTS signal that is
>> supported by ColdFire chips.
>>
>> I actually wrote it more than a year ago (on Linux 3.2) but haven't
>> seen any similar patch for ColdFire microcontrollers so that I think
>> it would be useful for someone using this serial driver for RS485
>> communication. It is tested on my MCF5271 board.
>>
>> Your comments are appreciated.
>
> Is there any way to do this so that the option can be enabled at
> runtime, instead of build time? Also, getting rid of a lot of the
> #ifdefs in the .c file would be great to accomplish.
>
> thanks,
>
> greg k-h
--
Quoc-Viet (Kevin) Nguyen
[-- Attachment #2: 0001-mcf-Add-support-RS485-in-ColdFire-serial-driver.patch --]
[-- Type: application/octet-stream, Size: 4537 bytes --]
From 99a0806accd090dbb97bb6be2ff92af60a3db099 Mon Sep 17 00:00:00 2001
From: Quoc-Viet Nguyen <afelion@gmail.com>
Date: Tue, 8 Jan 2013 17:56:39 +1000
Subject: [PATCH] mcf: Add support RS485 in ColdFire serial driver
Signed-off-by: Quoc-Viet Nguyen <afelion@gmail.com>
---
drivers/tty/serial/mcf.c | 69 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 69 insertions(+)
diff --git a/drivers/tty/serial/mcf.c b/drivers/tty/serial/mcf.c
index 9afca09..fbcc494 100644
--- a/drivers/tty/serial/mcf.c
+++ b/drivers/tty/serial/mcf.c
@@ -27,6 +27,7 @@
#include <asm/mcfsim.h>
#include <asm/mcfuart.h>
#include <asm/nettel.h>
+#include <asm/uaccess.h>
/****************************************************************************/
@@ -55,6 +56,7 @@ struct mcf_uart {
struct uart_port port;
unsigned int sigs; /* Local copy of line sigs */
unsigned char imr; /* Local IMR mirror */
+ struct serial_rs485 rs485;
};
/****************************************************************************/
@@ -101,6 +103,12 @@ static void mcf_start_tx(struct uart_port *port)
{
struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
+ if (pp->rs485.flags & SER_RS485_ENABLED) {
+ /* Enable Transmitter */
+ writeb(MCFUART_UCR_TXENABLE, port->membase + MCFUART_UCR);
+ /* Manually assert RTS */
+ writeb(MCFUART_UOP_RTS, port->membase + MCFUART_UOP1);
+ }
pp->imr |= MCFUART_UIR_TXREADY;
writeb(pp->imr, port->membase + MCFUART_UIMR);
}
@@ -196,6 +204,7 @@ static void mcf_shutdown(struct uart_port *port)
static void mcf_set_termios(struct uart_port *port, struct ktermios *termios,
struct ktermios *old)
{
+ struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
unsigned long flags;
unsigned int baud, baudclk;
#if defined(CONFIG_M5272)
@@ -248,6 +257,11 @@ static void mcf_set_termios(struct uart_port *port, struct ktermios *termios,
mr2 |= MCFUART_MR2_TXCTS;
}
+ if (pp->rs485.flags & SER_RS485_ENABLED) {
+ printk(KERN_DEBUG "Setting UART to RS485\n");
+ mr2 |= MCFUART_MR2_TXRTS;
+ }
+
spin_lock_irqsave(&port->lock, flags);
uart_update_timeout(port, termios->c_cflag, baud);
writeb(MCFUART_UCR_CMDRESETRX, port->membase + MCFUART_UCR);
@@ -342,6 +356,9 @@ static void mcf_tx_chars(struct mcf_uart *pp)
if (xmit->head == xmit->tail) {
pp->imr &= ~MCFUART_UIR_TXREADY;
writeb(pp->imr, port->membase + MCFUART_UIMR);
+ /* disable Transmitter to negate automatically RTS */
+ if (pp->rs485.flags & SER_RS485_ENABLED)
+ writeb(MCFUART_UCR_TXDISABLE, port->membase + MCFUART_UCR);
}
}
@@ -418,6 +435,57 @@ static int mcf_verify_port(struct uart_port *port, struct serial_struct *ser)
/****************************************************************************/
+static void mcf_config_rs485(struct uart_port *port, struct serial_rs485 *rs485)
+{
+ struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
+ unsigned long flags;
+ unsigned char mr1, mr2;
+
+ spin_lock_irqsave(&port->lock, flags);
+ /* get mode register */
+ mr1 = readb(port->membase + MCFUART_UMR);
+ mr2 = readb(port->membase + MCFUART_UMR);
+ if (rs485->flags & SER_RS485_ENABLED) {
+ printk(KERN_DEBUG "Setting UART to RS485\n");
+ /* Automatically negate RTS after TX is complete */
+ mr2 |= MCFUART_MR2_TXRTS;
+ } else {
+ printk(KERN_DEBUG "Setting UART to RS232\n");
+ mr2 &= ~MCFUART_MR2_TXRTS;
+ }
+ writeb(mr1, port->membase + MCFUART_UMR);
+ writeb(mr2, port->membase + MCFUART_UMR);
+ pp->rs485 = *rs485;
+ spin_unlock_irqrestore(&port->lock, flags);
+}
+
+static int mcf_ioctl(struct uart_port *port, unsigned int cmd,
+ unsigned long arg)
+{
+ switch (cmd) {
+ case TIOCSRS485: {
+ struct serial_rs485 rs485;
+ if (copy_from_user(&rs485, (struct serial_rs485 *)arg,
+ sizeof(struct serial_rs485)))
+ return -EFAULT;
+ mcf_config_rs485(port, &rs485);
+ break;
+ }
+ case TIOCGRS485: {
+ struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
+ if (copy_to_user((struct serial_rs485 *)arg, &pp->rs485,
+ sizeof(struct serial_rs485)))
+ return -EFAULT;
+ break;
+ }
+ default:
+ return -ENOIOCTLCMD;
+ }
+ return 0;
+}
+
+/****************************************************************************/
+
/*
* Define the basic serial functions we support.
*/
@@ -438,6 +506,7 @@ static const struct uart_ops mcf_uart_ops = {
.release_port = mcf_release_port,
.config_port = mcf_config_port,
.verify_port = mcf_verify_port,
+ .ioctl = mcf_ioctl,
};
static struct mcf_uart mcf_ports[4];
--
1.7.10.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] RS485 serial communication on ColdFire
2013-01-14 8:12 ` Kevin Nguyen
@ 2013-01-14 14:28 ` Greg KH
2013-01-15 2:09 ` Kevin Nguyen
0 siblings, 1 reply; 6+ messages in thread
From: Greg KH @ 2013-01-14 14:28 UTC (permalink / raw)
To: Kevin Nguyen; +Cc: linux-serial
On Mon, Jan 14, 2013 at 06:12:34PM +1000, Kevin Nguyen wrote:
> Hi Greg,
>
> The RS485 mode can be switched on/off from userspace by using the flag
> SER_RS485_ENABLED, therefore I've removed those #ifdefs in the patch.
Much better, thanks.
Can you also remove the debugging printk() messages you added? Or,
convert them to dev_dbg() calls instead? If you run your patch through
the scripts/checkpatch.pl tool, it should tell you things like this.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] RS485 serial communication on ColdFire
2013-01-14 14:28 ` Greg KH
@ 2013-01-15 2:09 ` Kevin Nguyen
2013-01-15 2:30 ` Greg KH
0 siblings, 1 reply; 6+ messages in thread
From: Kevin Nguyen @ 2013-01-15 2:09 UTC (permalink / raw)
To: Greg KH; +Cc: linux-serial
[-- Attachment #1: Type: text/plain, Size: 376 bytes --]
On Tue, Jan 15, 2013 at 12:28 AM, Greg KH <gregkh@linuxfoundation.org> wrote:
> Can you also remove the debugging printk() messages you added? Or,
> convert them to dev_dbg() calls instead? If you run your patch through
> the scripts/checkpatch.pl tool, it should tell you things like this.
Those issues are fixed in the patch attached.
Thanks
--
Quoc-Viet (Kevin) Nguyen
[-- Attachment #2: 0001-mcf-Add-support-RS485-in-ColdFire-serial-driver.patch --]
[-- Type: application/octet-stream, Size: 4604 bytes --]
From 8630b0b865688c95fb10f202e365e4eaca3ba3bc Mon Sep 17 00:00:00 2001
From: Quoc-Viet Nguyen <afelion@gmail.com>
Date: Tue, 15 Jan 2013 09:32:53 +1000
Subject: [PATCH] mcf: Add support RS485 in ColdFire serial driver
Signed-off-by: Quoc-Viet Nguyen <afelion@gmail.com>
---
drivers/tty/serial/mcf.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 71 insertions(+)
diff --git a/drivers/tty/serial/mcf.c b/drivers/tty/serial/mcf.c
index 9afca09..7f770df 100644
--- a/drivers/tty/serial/mcf.c
+++ b/drivers/tty/serial/mcf.c
@@ -23,6 +23,7 @@
#include <linux/serial.h>
#include <linux/serial_core.h>
#include <linux/io.h>
+#include <linux/uaccess.h>
#include <asm/coldfire.h>
#include <asm/mcfsim.h>
#include <asm/mcfuart.h>
@@ -55,6 +56,7 @@ struct mcf_uart {
struct uart_port port;
unsigned int sigs; /* Local copy of line sigs */
unsigned char imr; /* Local IMR mirror */
+ struct serial_rs485 rs485; /* RS485 settings */
};
/****************************************************************************/
@@ -101,6 +103,12 @@ static void mcf_start_tx(struct uart_port *port)
{
struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
+ if (pp->rs485.flags & SER_RS485_ENABLED) {
+ /* Enable Transmitter */
+ writeb(MCFUART_UCR_TXENABLE, port->membase + MCFUART_UCR);
+ /* Manually assert RTS */
+ writeb(MCFUART_UOP_RTS, port->membase + MCFUART_UOP1);
+ }
pp->imr |= MCFUART_UIR_TXREADY;
writeb(pp->imr, port->membase + MCFUART_UIMR);
}
@@ -196,6 +204,7 @@ static void mcf_shutdown(struct uart_port *port)
static void mcf_set_termios(struct uart_port *port, struct ktermios *termios,
struct ktermios *old)
{
+ struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
unsigned long flags;
unsigned int baud, baudclk;
#if defined(CONFIG_M5272)
@@ -248,6 +257,11 @@ static void mcf_set_termios(struct uart_port *port, struct ktermios *termios,
mr2 |= MCFUART_MR2_TXCTS;
}
+ if (pp->rs485.flags & SER_RS485_ENABLED) {
+ dev_dbg(port->dev, "Setting UART to RS485\n");
+ mr2 |= MCFUART_MR2_TXRTS;
+ }
+
spin_lock_irqsave(&port->lock, flags);
uart_update_timeout(port, termios->c_cflag, baud);
writeb(MCFUART_UCR_CMDRESETRX, port->membase + MCFUART_UCR);
@@ -342,6 +356,10 @@ static void mcf_tx_chars(struct mcf_uart *pp)
if (xmit->head == xmit->tail) {
pp->imr &= ~MCFUART_UIR_TXREADY;
writeb(pp->imr, port->membase + MCFUART_UIMR);
+ /* Disable TX to negate RTS automatically */
+ if (pp->rs485.flags & SER_RS485_ENABLED)
+ writeb(MCFUART_UCR_TXDISABLE,
+ port->membase + MCFUART_UCR);
}
}
@@ -418,6 +436,58 @@ static int mcf_verify_port(struct uart_port *port, struct serial_struct *ser)
/****************************************************************************/
+/* Enable or disable the RS485 support */
+static void mcf_config_rs485(struct uart_port *port, struct serial_rs485 *rs485)
+{
+ struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
+ unsigned long flags;
+ unsigned char mr1, mr2;
+
+ spin_lock_irqsave(&port->lock, flags);
+ /* Get mode registers */
+ mr1 = readb(port->membase + MCFUART_UMR);
+ mr2 = readb(port->membase + MCFUART_UMR);
+ if (rs485->flags & SER_RS485_ENABLED) {
+ dev_dbg(port->dev, "Setting UART to RS485\n");
+ /* Automatically negate RTS after TX completes */
+ mr2 |= MCFUART_MR2_TXRTS;
+ } else {
+ dev_dbg(port->dev, "Setting UART to RS232\n");
+ mr2 &= ~MCFUART_MR2_TXRTS;
+ }
+ writeb(mr1, port->membase + MCFUART_UMR);
+ writeb(mr2, port->membase + MCFUART_UMR);
+ pp->rs485 = *rs485;
+ spin_unlock_irqrestore(&port->lock, flags);
+}
+
+static int mcf_ioctl(struct uart_port *port, unsigned int cmd,
+ unsigned long arg)
+{
+ switch (cmd) {
+ case TIOCSRS485: {
+ struct serial_rs485 rs485;
+ if (copy_from_user(&rs485, (struct serial_rs485 *)arg,
+ sizeof(struct serial_rs485)))
+ return -EFAULT;
+ mcf_config_rs485(port, &rs485);
+ break;
+ }
+ case TIOCGRS485: {
+ struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
+ if (copy_to_user((struct serial_rs485 *)arg, &pp->rs485,
+ sizeof(struct serial_rs485)))
+ return -EFAULT;
+ break;
+ }
+ default:
+ return -ENOIOCTLCMD;
+ }
+ return 0;
+}
+
+/****************************************************************************/
+
/*
* Define the basic serial functions we support.
*/
@@ -438,6 +508,7 @@ static const struct uart_ops mcf_uart_ops = {
.release_port = mcf_release_port,
.config_port = mcf_config_port,
.verify_port = mcf_verify_port,
+ .ioctl = mcf_ioctl,
};
static struct mcf_uart mcf_ports[4];
--
1.7.10.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] RS485 serial communication on ColdFire
2013-01-15 2:09 ` Kevin Nguyen
@ 2013-01-15 2:30 ` Greg KH
0 siblings, 0 replies; 6+ messages in thread
From: Greg KH @ 2013-01-15 2:30 UTC (permalink / raw)
To: Kevin Nguyen; +Cc: linux-serial
On Tue, Jan 15, 2013 at 12:09:28PM +1000, Kevin Nguyen wrote:
> On Tue, Jan 15, 2013 at 12:28 AM, Greg KH <gregkh@linuxfoundation.org> wrote:
> > Can you also remove the debugging printk() messages you added? Or,
> > convert them to dev_dbg() calls instead? If you run your patch through
> > the scripts/checkpatch.pl tool, it should tell you things like this.
>
> Those issues are fixed in the patch attached.
Nice, I'll queue this up later this week unless someone objects.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-01-15 2:30 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-13 23:21 [PATCH] RS485 serial communication on ColdFire Kevin Nguyen
2013-01-14 3:33 ` Greg KH
2013-01-14 8:12 ` Kevin Nguyen
2013-01-14 14:28 ` Greg KH
2013-01-15 2:09 ` Kevin Nguyen
2013-01-15 2:30 ` Greg KH
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).