2020-09-01 20:18:52

by Antoni Przybylik

[permalink] [raw]
Subject: [PATCH] staging: gdm724x: gdm_tty: replaced macro with a function

This approach is more elegant and prevents some problems related to
macros such as operator precedence in expanded expression.

Signed-off-by: Antoni Przybylik <[email protected]>
---
drivers/staging/gdm724x/gdm_tty.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/gdm724x/gdm_tty.c b/drivers/staging/gdm724x/gdm_tty.c
index 6e813693a766..c19d82a6f25e 100644
--- a/drivers/staging/gdm724x/gdm_tty.c
+++ b/drivers/staging/gdm724x/gdm_tty.c
@@ -27,8 +27,6 @@

#define MUX_TX_MAX_SIZE 2048

-#define GDM_TTY_READY(gdm) (gdm && gdm->tty_dev && gdm->port.count)
-
static struct tty_driver *gdm_driver[TTY_MAX_COUNT];
static struct gdm *gdm_table[TTY_MAX_COUNT][GDM_TTY_MINOR];
static DEFINE_MUTEX(gdm_table_lock);
@@ -36,6 +34,11 @@ static DEFINE_MUTEX(gdm_table_lock);
static const char *DRIVER_STRING[TTY_MAX_COUNT] = {"GCTATC", "GCTDM"};
static char *DEVICE_STRING[TTY_MAX_COUNT] = {"GCT-ATC", "GCT-DM"};

+static int gdm_tty_ready(struct gdm *gdm)
+{
+ return (gdm && gdm->tty_dev && gdm->port.count);
+}
+
static void gdm_port_destruct(struct tty_port *port)
{
struct gdm *gdm = container_of(port, struct gdm, port);
@@ -119,7 +122,7 @@ static int gdm_tty_recv_complete(void *data,
{
struct gdm *gdm = tty_dev->gdm[index];

- if (!GDM_TTY_READY(gdm)) {
+ if (!gdm_tty_ready(gdm)) {
if (complete == RECV_PACKET_PROCESS_COMPLETE)
gdm->tty_dev->recv_func(gdm->tty_dev->priv_dev,
gdm_tty_recv_complete);
@@ -146,7 +149,7 @@ static void gdm_tty_send_complete(void *arg)
{
struct gdm *gdm = arg;

- if (!GDM_TTY_READY(gdm))
+ if (!gdm_tty_ready(gdm))
return;

tty_port_tty_wakeup(&gdm->port);
@@ -160,7 +163,7 @@ static int gdm_tty_write(struct tty_struct *tty, const unsigned char *buf,
int sent_len = 0;
int sending_len = 0;

- if (!GDM_TTY_READY(gdm))
+ if (!gdm_tty_ready(gdm))
return -ENODEV;

if (!len)
@@ -187,7 +190,7 @@ static int gdm_tty_write_room(struct tty_struct *tty)
{
struct gdm *gdm = tty->driver_data;

- if (!GDM_TTY_READY(gdm))
+ if (!gdm_tty_ready(gdm))
return -ENODEV;

return WRITE_SIZE;
--
2.28.0


2020-09-02 06:26:34

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] staging: gdm724x: gdm_tty: replaced macro with a function

On Tue, Sep 01, 2020 at 10:16:26PM +0200, Antoni Przybylik wrote:
> This approach is more elegant and prevents some problems related to
> macros such as operator precedence in expanded expression.
>
> Signed-off-by: Antoni Przybylik <[email protected]>
> ---
> drivers/staging/gdm724x/gdm_tty.c | 15 +++++++++------
> 1 file changed, 9 insertions(+), 6 deletions(-)

If this is a new version of a previously submitted patch, please version
it (is this v2, or v3 or something else?) and put below the --- line
what changed from the previous versions, so we have a chance to know
what patch to take and which to ignore.

Please fix this up and resend.

thanks,

greg k-h

2020-09-02 07:03:44

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH] staging: gdm724x: gdm_tty: replaced macro with a function

On Tue, 2020-09-01 at 22:16 +0200, Antoni Przybylik wrote:
> This approach is more elegant and prevents some problems related to
> macros such as operator precedence in expanded expression.
[]
> diff --git a/drivers/staging/gdm724x/gdm_tty.c b/drivers/staging/gdm724x/gdm_tty.c
[]
> @@ -36,6 +34,11 @@ static DEFINE_MUTEX(gdm_table_lock);
> static const char *DRIVER_STRING[TTY_MAX_COUNT] = {"GCTATC", "GCTDM"};
> static char *DEVICE_STRING[TTY_MAX_COUNT] = {"GCT-ATC", "GCT-DM"};
>
> +static int gdm_tty_ready(struct gdm *gdm)
> +{
> + return (gdm && gdm->tty_dev && gdm->port.count);
> +}

static bool gdm_tty_ready might be better.