2020-09-01 16:20:29

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..a7db0672e81d 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(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-01 17:52:56

by Greg Kroah-Hartman

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

On Tue, Sep 01, 2020 at 06:18:46PM +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(-)
>
> diff --git a/drivers/staging/gdm724x/gdm_tty.c b/drivers/staging/gdm724x/gdm_tty.c
> index 6e813693a766..a7db0672e81d 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(gdm *gdm)
> +{
> + return (gdm && gdm->tty_dev && gdm->port.count);
> +}

You obviously did not even build this patch, which is a bit rude, don't
you think?

:(

2020-09-01 20:32:54

by Antoni Przybylik

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

On 01.09.2020 19:50, Greg KH wrote:

> On Tue, Sep 01, 2020 at 06:18:46PM +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(-)
>>
>> diff --git a/drivers/staging/gdm724x/gdm_tty.c b/drivers/staging/gdm724x/gdm_tty.c
>> index 6e813693a766..a7db0672e81d 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(gdm *gdm)
>> +{
>> + return (gdm && gdm->tty_dev && gdm->port.count);
>> +}
> You obviously did not even build this patch, which is a bit rude, don't
> you think?
>
> :(

I'm stupid. I misconfigured the kernel. I fixed this bug and sent a new
patch.
Linux configuration script is horrible...

Antoni Przybylik