diff mbox series

[v2,3/3] serial: core: Update uart_poll_timeout() function to return unsigned long

Message ID 20231025142609.2869769-1-vamshigajjela@google.com
State Superseded
Headers show
Series None | expand

Commit Message

VAMSHI GAJJELA Oct. 25, 2023, 2:26 p.m. UTC
From: VAMSHI GAJJELA <vamshigajjela@google.com>

The function uart_fifo_timeout() returns an unsigned long value, which is
the number of jiffies. Therefore, the function uart_poll_timeout() has been
modified to use an unsigned long type for timeout values instead of an int
and to avoid truncation.
The return type of the function uart_poll_timeout() has also been changed
from int to unsigned long to be consistent with the type of timeout values.

Signed-off-by: VAMSHI GAJJELA <vamshigajjela@google.com>
---
v2:
- unsigned long instead of unsigned int
- added () after function name in short log
- updated description
 include/linux/serial_core.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Jiri Slaby Oct. 26, 2023, 8:56 a.m. UTC | #1
On 25. 10. 23, 16:26, Vamshi Gajjela wrote:
> From: VAMSHI GAJJELA <vamshigajjela@google.com>
> 
> The function uart_fifo_timeout() returns an unsigned long value, which is
> the number of jiffies. Therefore, the function uart_poll_timeout() has been
> modified to use an unsigned long type for timeout values instead of an int
> and to avoid truncation.

Hi,

there is no truncation possible, right?

> The return type of the function uart_poll_timeout() has also been changed
> from int to unsigned long to be consistent with the type of timeout values.
> 
> Signed-off-by: VAMSHI GAJJELA <vamshigajjela@google.com>
> ---
> v2:
> - unsigned long instead of unsigned int
> - added () after function name in short log
> - updated description
>   include/linux/serial_core.h | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
> index bb6f073bc159..6916a1d7e477 100644
> --- a/include/linux/serial_core.h
> +++ b/include/linux/serial_core.h
> @@ -773,9 +773,9 @@ static inline unsigned long uart_fifo_timeout(struct uart_port *port)
>   }
>   
>   /* Base timer interval for polling */
> -static inline int uart_poll_timeout(struct uart_port *port)
> +static inline unsigned long uart_poll_timeout(struct uart_port *port)
>   {
> -	int timeout = uart_fifo_timeout(port);
> +	unsigned long timeout = uart_fifo_timeout(port);
>   
>   	return timeout > 6 ? (timeout / 2 - 2) : 1;
>   }
Ilpo Järvinen Oct. 26, 2023, 9:24 a.m. UTC | #2
On Thu, 26 Oct 2023, Jiri Slaby wrote:

> On 25. 10. 23, 16:26, Vamshi Gajjela wrote:
> > From: VAMSHI GAJJELA <vamshigajjela@google.com>
> > 
> > The function uart_fifo_timeout() returns an unsigned long value, which is
> > the number of jiffies. Therefore, the function uart_poll_timeout() has been
> > modified to use an unsigned long type for timeout values instead of an int
> > and to avoid truncation.
> 
> Hi,
> 
> there is no truncation possible, right?

That's very likely true (I didn't run the calculations), thus it's correct 
to not have Fixes tag. It's more about having consistent typing since 
we're talking about jiffies, so unsigned long as usual.

> > The return type of the function uart_poll_timeout() has also been changed
> > from int to unsigned long to be consistent with the type of timeout values.

Don't write changes you make in the patch in the past tense. Just say:

Change the return type of uart_poll_timeout() from ...

The comment also applies to the other sentence above this one.
Jiri Slaby Oct. 26, 2023, 9:49 a.m. UTC | #3
On 26. 10. 23, 11:24, Ilpo Järvinen wrote:
> On Thu, 26 Oct 2023, Jiri Slaby wrote:
> 
>> On 25. 10. 23, 16:26, Vamshi Gajjela wrote:
>>> From: VAMSHI GAJJELA <vamshigajjela@google.com>
>>>
>>> The function uart_fifo_timeout() returns an unsigned long value, which is
>>> the number of jiffies. Therefore, the function uart_poll_timeout() has been
>>> modified to use an unsigned long type for timeout values instead of an int
>>> and to avoid truncation.
>>
>> Hi,
>>
>> there is no truncation possible, right?
> 
> That's very likely true (I didn't run the calculations), thus it's correct
> to not have Fixes tag.

Good. I would remove that "and to avoid truncation" completely from the 
commit log. I would only say that we are getting things consistent.

"avoid truncation" can lead to -> we should backport it to stable. And 
neither is true.

> It's more about having consistent typing since
> we're talking about jiffies, so unsigned long as usual.

Yeah and that's of course fine by me.

thanks,
VAMSHI GAJJELA Oct. 26, 2023, 12:28 p.m. UTC | #4
On Thu, Oct 26, 2023 at 2:54 PM Ilpo Järvinen
<ilpo.jarvinen@linux.intel.com> wrote:
>
> On Thu, 26 Oct 2023, Jiri Slaby wrote:
>
> > On 25. 10. 23, 16:26, Vamshi Gajjela wrote:
> > > From: VAMSHI GAJJELA <vamshigajjela@google.com>
> > >
> > > The function uart_fifo_timeout() returns an unsigned long value, which is
> > > the number of jiffies. Therefore, the function uart_poll_timeout() has been
> > > modified to use an unsigned long type for timeout values instead of an int
> > > and to avoid truncation.
> >
> > Hi,
> >
> > there is no truncation possible, right?
>
> That's very likely true (I didn't run the calculations), thus it's correct
> to not have Fixes tag. It's more about having consistent typing since
> we're talking about jiffies, so unsigned long as usual.
>
> > > The return type of the function uart_poll_timeout() has also been changed
> > > from int to unsigned long to be consistent with the type of timeout values.
>
> Don't write changes you make in the patch in the past tense. Just say:
>
> Change the return type of uart_poll_timeout() from ...
>
> The comment also applies to the other sentence above this one.
Sure, will update commit message.
>
> --
>  i.
>
> > > Signed-off-by: VAMSHI GAJJELA <vamshigajjela@google.com>
> > > ---
> > > v2:
> > > - unsigned long instead of unsigned int
> > > - added () after function name in short log
> > > - updated description
> > >   include/linux/serial_core.h | 4 ++--
> > >   1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
> > > index bb6f073bc159..6916a1d7e477 100644
> > > --- a/include/linux/serial_core.h
> > > +++ b/include/linux/serial_core.h
> > > @@ -773,9 +773,9 @@ static inline unsigned long uart_fifo_timeout(struct
> > > uart_port *port)
> > >   }
> > >     /* Base timer interval for polling */
> > > -static inline int uart_poll_timeout(struct uart_port *port)
> > > +static inline unsigned long uart_poll_timeout(struct uart_port *port)
> > >   {
> > > -   int timeout = uart_fifo_timeout(port);
> > > +   unsigned long timeout = uart_fifo_timeout(port);
> > >             return timeout > 6 ? (timeout / 2 - 2) : 1;
> > >   }
> >
> >
VAMSHI GAJJELA Oct. 26, 2023, 12:30 p.m. UTC | #5
On Thu, Oct 26, 2023 at 3:19 PM Jiri Slaby <jirislaby@kernel.org> wrote:
>
> On 26. 10. 23, 11:24, Ilpo Järvinen wrote:
> > On Thu, 26 Oct 2023, Jiri Slaby wrote:
> >
> >> On 25. 10. 23, 16:26, Vamshi Gajjela wrote:
> >>> From: VAMSHI GAJJELA <vamshigajjela@google.com>
> >>>
> >>> The function uart_fifo_timeout() returns an unsigned long value, which is
> >>> the number of jiffies. Therefore, the function uart_poll_timeout() has been
> >>> modified to use an unsigned long type for timeout values instead of an int
> >>> and to avoid truncation.
> >>
> >> Hi,
> >>
> >> there is no truncation possible, right?
> >
> > That's very likely true (I didn't run the calculations), thus it's correct
> > to not have Fixes tag.
>
> Good. I would remove that "and to avoid truncation" completely from the
> commit log. I would only say that we are getting things consistent.
>
> "avoid truncation" can lead to -> we should backport it to stable. And
> neither is true.
I will drop "and to avoid truncation".
>
> > It's more about having consistent typing since
> > we're talking about jiffies, so unsigned long as usual.
>
> Yeah and that's of course fine by me.
>
> thanks,
> --
> js
> suse labs
>
diff mbox series

Patch

diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
index bb6f073bc159..6916a1d7e477 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -773,9 +773,9 @@  static inline unsigned long uart_fifo_timeout(struct uart_port *port)
 }
 
 /* Base timer interval for polling */
-static inline int uart_poll_timeout(struct uart_port *port)
+static inline unsigned long uart_poll_timeout(struct uart_port *port)
 {
-	int timeout = uart_fifo_timeout(port);
+	unsigned long timeout = uart_fifo_timeout(port);
 
 	return timeout > 6 ? (timeout / 2 - 2) : 1;
 }