linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/3] serial: sc16is7xx: cosmetic cleanup
@ 2024-08-26 15:40 Lech Perczak
  2024-08-26 17:40 ` Andy Shevchenko
  0 siblings, 1 reply; 5+ messages in thread
From: Lech Perczak @ 2024-08-26 15:40 UTC (permalink / raw)
  To: linux-serial, linux-kernel
  Cc: Greg Kroah-Hartman, Jiri Slaby, Hugo Villeneuve, Andy Shevchenko,
	Krzysztof Drobiński, Pawel Lenkow, Kirill Yatsenko

When submitting previous, functional fixes, Tomasz Moń omitted those
two cosmetic patches, that kept lurking in our company tree - likely
by oversight. Let's submit them.

Signed-off-by: Lech Perczak <lech.perczak@camlingroup.com>
---
v4:
No changes to patch 1 and 2.
- Fix typo in commit message in patch 3.
- Revert interrupt source constants back to numerical representation.
- Add a line break to SC16IS7XX_LSR_BRK_ERROR_MASK definition.

v3:
No code changes in patches 1 and 2.
- Pick up Reviewed-by from Andy in patch 1
- Adjust commit message in patch 2
- Perform further cleanup in bit constants,
  use GENMASK for SC16IS7XX_IIR_* and reuse bit definitions in
  SC16IS7XX_LSR_BRK_ERROR_MASK in patch 3.

v2:
- Converted bitmask definitions to use BIT macro
  (thanks Jiri Slaby for the idea)
- Removed redundant comments in patch 2 altogether
- Fixed commit messages (thanks Andy Shevchenko for
  thorough review)

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jiri Slaby <jirislaby@kernel.org>
Cc: Hugo Villeneuve <hvilleneuve@dimonoff.com>
Cc: Andy Shevchenko <andy@kernel.org>

Lech Perczak (3):
  serial: sc16is7xx: remove SC16IS7XX_MSR_DELTA_MASK
  serial: sc16is7xx: fix copy-paste errors in EFR_SWFLOWx_BIT constants
  serial: sc16is7xx: convert bitmask definitions to use BIT() macro

 drivers/tty/serial/sc16is7xx.c | 183 +++++++++++++++++----------------
 1 file changed, 94 insertions(+), 89 deletions(-)


base-commit: 0c3836482481200ead7b416ca80c68a29cfdaabd
-- 
2.34.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v4 0/3] serial: sc16is7xx: cosmetic cleanup
  2024-08-26 15:40 Lech Perczak
@ 2024-08-26 17:40 ` Andy Shevchenko
  0 siblings, 0 replies; 5+ messages in thread
From: Andy Shevchenko @ 2024-08-26 17:40 UTC (permalink / raw)
  To: Lech Perczak
  Cc: linux-serial, linux-kernel, Greg Kroah-Hartman, Jiri Slaby,
	Hugo Villeneuve, Krzysztof Drobiński, Pawel Lenkow,
	Kirill Yatsenko

On Mon, Aug 26, 2024 at 05:40:28PM +0200, Lech Perczak wrote:
> When submitting previous, functional fixes, Tomasz Moń omitted those
> two cosmetic patches, that kept lurking in our company tree - likely
> by oversight. Let's submit them.

Reviewed-by: Andy Shevchenko <andy@kernel.org>

I haven't looked into the details of the changes, but feels good.
What you can do to confirm is to run this via C preprocessor and
show the diff here or assure that it's empty.

-- 
With Best Regards,
Andy Shevchenko



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v4 0/3] serial: sc16is7xx: cosmetic cleanup
       [not found] <Zsy998mgOAyJa2xn () smile ! fi ! intel ! com>
@ 2024-08-27 15:38 ` Lech Perczak
  2024-08-28  4:35   ` Jiri Slaby
  0 siblings, 1 reply; 5+ messages in thread
From: Lech Perczak @ 2024-08-27 15:38 UTC (permalink / raw)
  To: Andy Shevchenko, linux-serial, linux-kernel@vger.kernel.org
  Cc: Greg Kroah-Hartman, Jiri Slaby, Hugo Villeneuve,
	Krzysztof Drobiński, Pawel Lenkow, Kirill Yatsenko

Hi Andy,

W dniu 26.08.2024 o 19:40, Andy Shevchenko pisze:
> On Mon, Aug 26, 2024 at 05:40:28PM +0200, Lech Perczak wrote:
>> When submitting previous, functional fixes, Tomasz Moń omitted those
>> two cosmetic patches, that kept lurking in our company tree - likely
>> by oversight. Let's submit them.
> 
> Reviewed-by: Andy Shevchenko <andy@kernel.org>
> 
> I haven't looked into the details of the changes, but feels good.
> What you can do to confirm is to run this via C preprocessor and
> show the diff here or assure that it's empty.
> 

Great tip for checking such changes the correctness.
Up to patch v2 there were no significant changes, as expected, but for patch 3,
diff is quite substantial, due to BIT() being more explicit,
than open-coded constants.

Only the single expansion of GENMASK proves very hard to analyze in the
diff - so I double-checked with a calculator,
though all BIT() expansions do match, as does the updated definition.
of SC16IS7XX_LSR_BRK_ERROR_MASK.

Anyway, for completeness here is the diff in full for completeness. It's huge 
and has lines way over 80 characters, but that's how it is.
I obtained inputs for the diff by 'make drivers/tty/serial/sc16is7xx.i'.

46,48c46,80
< # 1 "./include/linux/clk.h" 1
< # 12 "./include/linux/clk.h"
< # 1 "./include/linux/err.h" 1
---
> # 1 "./include/linux/bits.h" 1
> 
> 
> 
> 
> # 1 "./include/linux/const.h" 1
> 
> 
> 
> # 1 "./include/vdso/const.h" 1
> 
> 
> 
> 
> # 1 "./include/uapi/linux/const.h" 1
> # 6 "./include/vdso/const.h" 2
> # 5 "./include/linux/const.h" 2
> # 6 "./include/linux/bits.h" 2
> # 1 "./include/vdso/bits.h" 1
> # 7 "./include/linux/bits.h" 2
> # 1 "./include/uapi/linux/bits.h" 1
> # 8 "./include/linux/bits.h" 2
> # 1 "./arch/x86/include/uapi/asm/bitsperlong.h" 1
> # 11 "./arch/x86/include/uapi/asm/bitsperlong.h"
> # 1 "./include/asm-generic/bitsperlong.h" 1
> 
> 
> 
> 
> # 1 "./include/uapi/asm-generic/bitsperlong.h" 1
> # 6 "./include/asm-generic/bitsperlong.h" 2
> # 12 "./arch/x86/include/uapi/asm/bitsperlong.h" 2
> # 9 "./include/linux/bits.h" 2
> # 22 "./include/linux/bits.h"
> # 1 "./include/linux/build_bug.h" 1
99,117c131
< # 12 "./include/uapi/asm-generic/int-ll64.h"
< # 1 "./arch/x86/include/uapi/asm/bitsperlong.h" 1
< # 11 "./arch/x86/include/uapi/asm/bitsperlong.h"
< # 1 "./include/asm-generic/bitsperlong.h" 1
< 
< 
< 
< 
< # 1 "./include/uapi/asm-generic/bitsperlong.h" 1
< # 6 "./include/asm-generic/bitsperlong.h" 2
< # 12 "./arch/x86/include/uapi/asm/bitsperlong.h" 2
< # 13 "./include/uapi/asm-generic/int-ll64.h" 2
< 
< 
< 
< 
< 
< 
< 
---
> # 20 "./include/uapi/asm-generic/int-ll64.h"
534c548,558
< # 6 "./include/linux/err.h" 2
---
> # 6 "./include/linux/build_bug.h" 2
> # 23 "./include/linux/bits.h" 2
> # 14 "drivers/tty/serial/sc16is7xx.c" 2
> # 1 "./include/linux/clk.h" 1
> # 12 "./include/linux/clk.h"
> # 1 "./include/linux/err.h" 1
> 
> 
> 
> 
> 
608,624d631
< 
< 
< 
< 
< # 1 "./include/linux/const.h" 1
< 
< 
< 
< # 1 "./include/vdso/const.h" 1
< 
< 
< 
< 
< # 1 "./include/uapi/linux/const.h" 1
< # 6 "./include/vdso/const.h" 2
< # 5 "./include/linux/const.h" 2
< # 6 "./include/linux/align.h" 2
706,711d712
< 
< 
< 
< 
< # 1 "./include/linux/build_bug.h" 1
< # 6 "./include/linux/container_of.h" 2
720,721d720
< # 1 "./include/linux/bits.h" 1
< 
723,730d721
< 
< 
< 
< # 1 "./include/vdso/bits.h" 1
< # 7 "./include/linux/bits.h" 2
< # 1 "./include/uapi/linux/bits.h" 1
< # 8 "./include/linux/bits.h" 2
< # 7 "./include/linux/bitops.h" 2
21426c21417
< # 14 "drivers/tty/serial/sc16is7xx.c" 2
---
> # 15 "drivers/tty/serial/sc16is7xx.c" 2
21491c21482
< # 15 "drivers/tty/serial/sc16is7xx.c" 2
---
> # 16 "drivers/tty/serial/sc16is7xx.c" 2
48375c48366
< # 16 "drivers/tty/serial/sc16is7xx.c" 2
---
> # 17 "drivers/tty/serial/sc16is7xx.c" 2
53866c53857
< # 18 "drivers/tty/serial/sc16is7xx.c" 2
---
> # 19 "drivers/tty/serial/sc16is7xx.c" 2
54000c53991
< # 20 "drivers/tty/serial/sc16is7xx.c" 2
---
> # 21 "drivers/tty/serial/sc16is7xx.c" 2
54680c54671
< # 24 "drivers/tty/serial/sc16is7xx.c" 2
---
> # 25 "drivers/tty/serial/sc16is7xx.c" 2
62770c62761
< # 26 "drivers/tty/serial/sc16is7xx.c" 2
---
> # 27 "drivers/tty/serial/sc16is7xx.c" 2
62833c62824
< # 30 "drivers/tty/serial/sc16is7xx.c" 2
---
> # 31 "drivers/tty/serial/sc16is7xx.c" 2
62904c62895
< # 32 "drivers/tty/serial/sc16is7xx.c" 2
---
> # 33 "drivers/tty/serial/sc16is7xx.c" 2
62934,62935c62925,62926
< # 34 "drivers/tty/serial/sc16is7xx.c" 2
< # 315 "drivers/tty/serial/sc16is7xx.c"
---
> # 35 "drivers/tty/serial/sc16is7xx.c" 2
> # 320 "drivers/tty/serial/sc16is7xx.c"
63029,63030c63020,63021
<          (1 << 4),
<          on ? 0 : (1 << 4));
---
>          ((((1UL))) << (4)),
>          on ? 0 : ((((1UL))) << (4)));
63032c63023
< # 426 "drivers/tty/serial/sc16is7xx.c"
---
> # 431 "drivers/tty/serial/sc16is7xx.c"
63069c63060
<  one->config.flags |= (1 << 1);
---
>  one->config.flags |= ((((1UL))) << (1));
63082c63073
<  one->config.flags |= (1 << 1);
---
>  one->config.flags |= ((((1UL))) << (1));
63090c63081
<  sc16is7xx_ier_clear(port, (1 << 1));
---
>  sc16is7xx_ier_clear(port, ((((1UL))) << (1)));
63095c63086
<  sc16is7xx_ier_clear(port, (1 << 0));
---
>  sc16is7xx_ier_clear(port, ((((1UL))) << (0)));
63164c63155
< # 570 "drivers/tty/serial/sc16is7xx.c"
---
> # 575 "drivers/tty/serial/sc16is7xx.c"
63180,63181c63171,63172
<          (1 << 4),
<          (1 << 4));
---
>          ((((1UL))) << (4)),
>          ((((1UL))) << (4)));
63186,63187c63177,63178
<          (1 << 7),
<          prescaler == 1 ? 0 : (1 << 7));
---
>          ((((1UL))) << (7)),
>          prescaler == 1 ? 0 : ((((1UL))) << (7)));
63192c63183
<         (1 << 7));
---
>         ((((1UL))) << (7)));
63227c63218
<    if (!(lsr & (1 << 7)))
---
>    if (!(lsr & ((((1UL))) << (7))))
63240c63231
<   lsr &= 0x1E;
---
>   lsr &= (((((1UL))) << (1)) | ((((1UL))) << (2)) | ((((1UL))) << (3)) | ((((1UL))) << (4)));
63246c63237
<    if (lsr & (1 << 4)) {
---
>    if (lsr & ((((1UL))) << (4))) {
63250c63241
<    } else if (lsr & (1 << 2))
---
>    } else if (lsr & ((((1UL))) << (2)))
63252c63243
<    else if (lsr & (1 << 3))
---
>    else if (lsr & ((((1UL))) << (3)))
63254c63245
<    else if (lsr & (1 << 1))
---
>    else if (lsr & ((((1UL))) << (1)))
63258c63249
<    if (lsr & (1 << 4))
---
>    if (lsr & ((((1UL))) << (4)))
63260c63251
<    else if (lsr & (1 << 2))
---
>    else if (lsr & ((((1UL))) << (2)))
63262c63253
<    else if (lsr & (1 << 3))
---
>    else if (lsr & ((((1UL))) << (3)))
63264c63255
<    else if (lsr & (1 << 1))
---
>    else if (lsr & ((((1UL))) << (1)))
63276c63267
<    uart_insert_char(port, lsr, (1 << 1), ch,
---
>    uart_insert_char(port, lsr, ((((1UL))) << (1)), ch,
63325c63316
<   sc16is7xx_ier_set(port, (1 << 1));
---
>   sc16is7xx_ier_set(port, ((((1UL))) << (1)));
63334,63337c63325,63328
<  mctrl |= (msr & (1 << 4)) ? 0x020 : 0;
<  mctrl |= (msr & (1 << 5)) ? 0x100 : 0;
<  mctrl |= (msr & (1 << 7)) ? 0x040 : 0;
<  mctrl |= (msr & (1 << 6)) ? 0x080 : 0;
---
>  mctrl |= (msr & ((((1UL))) << (4))) ? 0x020 : 0;
>  mctrl |= (msr & ((((1UL))) << (5))) ? 0x100 : 0;
>  mctrl |= (msr & ((((1UL))) << (7))) ? 0x040 : 0;
>  mctrl |= (msr & ((((1UL))) << (6))) ? 0x080 : 0;
63381c63372
<  if (iir & (1 << 0)) {
---
>  if (iir & 0x01) {
63386c63377
<  iir &= 0x3e;
---
>  iir &= ((((int)(sizeof(struct { int:(-!!(__builtin_choose_expr( (sizeof(int) == sizeof(*(8 ? ((void *)((long)((1) > (5)) * 0l)) : (int *)8))), (1) > (5), 0))); })))) + (((~((0UL))) - (((1UL)) << (1)) + 1) & (~((0UL)) >> (64 - 1 - (5)))));
63394c63385
< # 808 "drivers/tty/serial/sc16is7xx.c"
---
> # 813 "drivers/tty/serial/sc16is7xx.c"
63456,63457c63447,63448
<  const u32 mask = (1 << 4) |
<     (1 << 5);
---
>  const u32 mask = ((((1UL))) << (4)) |
>     ((((1UL))) << (5));
63464c63455
<   efcr |= (1 << 4);
---
>   efcr |= ((((1UL))) << (4));
63467c63458
<    efcr |= (1 << 5);
---
>    efcr |= ((((1UL))) << (5));
63485c63476
<  if (config.flags & (1 << 0)) {
---
>  if (config.flags & ((((1UL))) << (0))) {
63490c63481
<    mcr |= (1 << 1);
---
>    mcr |= ((((1UL))) << (1));
63493c63484
<    mcr |= (1 << 0);
---
>    mcr |= ((((1UL))) << (0));
63496c63487
<    mcr |= (1 << 4);
---
>    mcr |= ((((1UL))) << (4));
63498,63500c63489,63491
<           (1 << 1) |
<           (1 << 0) |
<           (1 << 4),
---
>           ((((1UL))) << (1)) |
>           ((((1UL))) << (0)) |
>           ((((1UL))) << (4)),
63504c63495
<  if (config.flags & (1 << 1))
---
>  if (config.flags & ((((1UL))) << (1)))
63508c63499
<  if (config.flags & (1 << 2))
---
>  if (config.flags & ((((1UL))) << (2)))
63554c63545
<  sc16is7xx_ier_clear(port, (1 << 0));
---
>  sc16is7xx_ier_clear(port, ((((1UL))) << (0)));
63563c63554
<  sc16is7xx_ier_set(port, (1 << 0));
---
>  sc16is7xx_ier_set(port, ((((1UL))) << (0)));
63573c63564
<  return (lsr & (1 << 6)) ? 0x01 : 0;
---
>  return (lsr & ((((1UL))) << (6))) ? 0x01 : 0;
63589c63580
<  one->config.flags |= (1 << 0);
---
>  one->config.flags |= ((((1UL))) << (0));
63596,63597c63587,63588
<          (1 << 6),
<          break_state ? (1 << 6) : 0);
---
>          ((((1UL))) << (6)),
>          break_state ? ((((1UL))) << (6)) : 0);
63637c63628
<   lcr |= (1 << 3);
---
>   lcr |= ((((1UL))) << (3));
63639c63630
<    lcr |= (1 << 4);
---
>    lcr |= ((((1UL))) << (4));
63644c63635
<   lcr |= (1 << 2);
---
>   lcr |= ((((1UL))) << (2));
63647c63638
<  port->read_status_mask = (1 << 1);
---
>  port->read_status_mask = ((((1UL))) << (1));
63649,63650c63640,63641
<   port->read_status_mask |= (1 << 2) |
<        (1 << 3);
---
>   port->read_status_mask |= ((((1UL))) << (2)) |
>        ((((1UL))) << (3));
63652c63643
<   port->read_status_mask |= (1 << 4);
---
>   port->read_status_mask |= ((((1UL))) << (4));
63657c63648
<   port->ignore_status_mask |= (1 << 4);
---
>   port->ignore_status_mask |= ((((1UL))) << (4));
63659c63650
<   port->ignore_status_mask |= 0x1E;
---
>   port->ignore_status_mask |= (((((1UL))) << (1)) | ((((1UL))) << (2)) | ((((1UL))) << (3)) | ((((1UL))) << (4)));
63664,63665c63655,63656
<   flow |= (1 << 7) |
<    (1 << 6);
---
>   flow |= ((((1UL))) << (7)) |
>    ((((1UL))) << (6));
63669c63660
<   flow |= (1 << 3);
---
>   flow |= ((((1UL))) << (3));
63671c63662
<   flow |= (1 << 1);
---
>   flow |= ((((1UL))) << (1));
63681c63672
<          ((1 << 6) | (1 << 7) | (1 << 5) | (1 << 3) | (1 << 2) | (1 << 1) | (1 << 0)), flow);
---
>          (((((1UL))) << (6)) | ((((1UL))) << (7)) | ((((1UL))) << (5)) | ((((1UL))) << (3)) | ((((1UL))) << (2)) | ((((1UL))) << (1)) | ((((1UL))) << (0))), flow);
63719c63710
<  one->config.flags |= (1 << 2);
---
>  one->config.flags |= ((((1UL))) << (2));
63734c63725
<  val = (1 << 1) | (1 << 2);
---
>  val = ((((1UL))) << (1)) | ((((1UL))) << (2));
63738c63729
<         (1 << 0));
---
>         ((((1UL))) << (0)));
63748,63749c63739,63740
<          (1 << 4),
<          (1 << 4));
---
>          ((((1UL))) << (4)),
>          ((((1UL))) << (4)));
63753,63754c63744,63745
<          (1 << 2),
<          (1 << 2));
---
>          ((((1UL))) << (2)),
>          ((((1UL))) << (2)));
63770c63761
<          (1 << 6),
---
>          ((((1UL))) << (6)),
63772c63763
<     (1 << 6) : 0);
---
>     ((((1UL))) << (6)) : 0);
63776,63777c63767,63768
<          (1 << 1) |
<          (1 << 2),
---
>          ((((1UL))) << (1)) |
>          ((((1UL))) << (2)),
63781,63782c63772,63773
<  val = (1 << 0) | (1 << 7) |
<        (1 << 3);
---
>  val = ((((1UL))) << (0)) | ((((1UL))) << (7)) |
>        ((((1UL))) << (3));
63804,63807c63795,63798
<          (1 << 1) |
<          (1 << 2),
<          (1 << 1) |
<          (1 << 2));
---
>          ((((1UL))) << (1)) |
>          ((((1UL))) << (2)),
>          ((((1UL))) << (1)) |
>          ((((1UL))) << (2)));
63876c63867
< # 1400 "drivers/tty/serial/sc16is7xx.c"
---
> # 1405 "drivers/tty/serial/sc16is7xx.c"
63926c63917
<    s->mctrl_mask |= (1 << 1);
---
>    s->mctrl_mask |= ((((1UL))) << (1));
63928c63919
<    s->mctrl_mask |= (1 << 2);
---
>    s->mctrl_mask |= ((((1UL))) << (2));
63935,63936c63926,63927
<    (1 << 1) |
<    (1 << 2), s->mctrl_mask);
---
>    ((((1UL))) << (1)) |
>    ((((1UL))) << (2)), s->mctrl_mask);
63960c63951
< # 1493 "drivers/tty/serial/sc16is7xx.c"
---
> # 1498 "drivers/tty/serial/sc16is7xx.c"
64009c64000
<        (1 << 3));
---
>        ((((1UL))) << (3)));
64056,64057c64047,64048
<          (1 << 1) |
<          (1 << 2));
---
>          ((((1UL))) << (1)) |
>          ((((1UL))) << (2)));
64079c64070
<          (1 << 4));
---
>          ((((1UL))) << (4)));
64095c64086
< # 1640 "drivers/tty/serial/sc16is7xx.c"
---
> # 1645 "drivers/tty/serial/sc16is7xx.c"
64188c64179
<   ({ int __ret_warn_on = !!(true); if (__builtin_expect(!!(__ret_warn_on), 0)) do { __auto_type __flags = (1 << 0)|(((9) << 8)); ({ asm volatile("406" ": nop\n\t" ".pushsection .discard.instr_begin\n\t" ".long " "406" "b - .\n\t" ".popsection\n\t" : : "i" (406)); }); do { asm __inline volatile("1:\t" ".byte 0x0f, 0x0b" "\n" ".pushsection __bug_table,\"aw\"\n" "2:\t" ".long " "1b" " - ." "\t# bug_entry::bug_addr\n" "\t" ".long " "%c0" " - ." "\t# bug_entry::file\n" "\t.word %c1" "\t# bug_entry::line\n" "\t.word %c2" "\t# bug_entry::flags\n" "\t.org 2b+%c3\n" ".popsection\n" "998:\n\t" ".pushsection .discard.reachable\n\t" ".long 998b\n\t" ".popsection\n\t" : : "i" ("drivers/tty/serial/sc16is7xx.c"), "i" (1732), "i" (__flags), "i" (sizeof(struct bug_entry))); } while (0); ({ asm volatile("407" ": nop\n\t" ".pushsection .discard.instr_end\n\t" ".long " "407" "b - .\n\t" ".popsection\n\t" : : "i" (407)); }); } while (0); __builtin_expect(!!(__ret_warn_on), 0); });
---
>   ({ int __ret_warn_on = !!(true); if (__builtin_expect(!!(__ret_warn_on), 0)) do { __auto_type __flags = (1 << 0)|(((9) << 8)); ({ asm volatile("406" ": nop\n\t" ".pushsection .discard.instr_begin\n\t" ".long " "406" "b - .\n\t" ".popsection\n\t" : : "i" (406)); }); do { asm __inline volatile("1:\t" ".byte 0x0f, 0x0b" "\n" ".pushsection __bug_table,\"aw\"\n" "2:\t" ".long " "1b" " - ." "\t# bug_entry::bug_addr\n" "\t" ".long " "%c0" " - ." "\t# bug_entry::file\n" "\t.word %c1" "\t# bug_entry::line\n" "\t.word %c2" "\t# bug_entry::flags\n" "\t.org 2b+%c3\n" ".popsection\n" "998:\n\t" ".pushsection .discard.reachable\n\t" ".long 998b\n\t" ".popsection\n\t" : : "i" ("drivers/tty/serial/sc16is7xx.c"), "i" (1737), "i" (__flags), "i" (sizeof(struct bug_entry))); } while (0); ({ asm volatile("407" ": nop\n\t" ".pushsection .discard.instr_end\n\t" ".long " "407" "b - .\n\t" ".popsection\n\t" : : "i" (407)); }); } while (0); __builtin_expect(!!(__ret_warn_on), 0); });
64205c64196
< static void * __attribute__((__used__)) __attribute__((__section__(".discard.addressable"))) __UNIQUE_ID___addressable_sc16is7xx_init411 = (void *)(uintptr_t)&sc16is7xx_init; asm(".section	\"" ".initcall6" ".init" "\", \"a\"		\n" "__initcall__kmod_sc16is7xx__410_1749_sc16is7xx_init6" ":			\n" ".long	" "sc16is7xx_init" " - .	\n" ".previous					\n"); _Static_assert(__builtin_types_compatible_p(typeof(initcall_t), typeof(&sc16is7xx_init)), "__same_type(initcall_t, &sc16is7xx_init)");;;
---
> static void * __attribute__((__used__)) __attribute__((__section__(".discard.addressable"))) __UNIQUE_ID___addressable_sc16is7xx_init411 = (void *)(uintptr_t)&sc16is7xx_init; asm(".section	\"" ".initcall6" ".init" "\", \"a\"		\n" "__initcall__kmod_sc16is7xx__410_1754_sc16is7xx_init6" ":			\n" ".long	" "sc16is7xx_init" " - .	\n" ".previous					\n"); _Static_assert(__builtin_types_compatible_p(typeof(initcall_t), typeof(&sc16is7xx_init)), "__same_type(initcall_t, &sc16is7xx_init)");;;


-- 
Pozdrawiam/With kind regards,
Lech Perczak

Sr. Software Engineer
Camlin Technologies Poland Limited Sp. z o.o.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v4 0/3] serial: sc16is7xx: cosmetic cleanup
  2024-08-27 15:38 ` [PATCH v4 0/3] serial: sc16is7xx: cosmetic cleanup Lech Perczak
@ 2024-08-28  4:35   ` Jiri Slaby
  0 siblings, 0 replies; 5+ messages in thread
From: Jiri Slaby @ 2024-08-28  4:35 UTC (permalink / raw)
  To: Lech Perczak, Andy Shevchenko, linux-serial,
	linux-kernel@vger.kernel.org
  Cc: Greg Kroah-Hartman, Hugo Villeneuve, Krzysztof Drobiński,
	Pawel Lenkow, Kirill Yatsenko

On 27. 08. 24, 17:38, Lech Perczak wrote:
> Only the single expansion of GENMASK proves very hard to analyze in the
> diff - so I double-checked with a calculator,
> though all BIT() expansions do match, as does the updated definition.
> of SC16IS7XX_LSR_BRK_ERROR_MASK.

You can diff also the generated .o fed through objdump -d (generated .s 
usually contains line numbers).

regards,
-- 
js
suse labs


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v4 0/3] serial: sc16is7xx: cosmetic cleanup
       [not found] <19c7e2b8-7f74-4138-b366-758b65da998b () kernel ! org>
@ 2024-09-04 14:18 ` Lech Perczak
  0 siblings, 0 replies; 5+ messages in thread
From: Lech Perczak @ 2024-09-04 14:18 UTC (permalink / raw)
  To: Jiri Slaby, linux-serial
  Cc: linux-kernel@vger.kernel.org, Greg Kroah-Hartman, Hugo Villeneuve,
	Krzysztof Drobiński, Pawel Lenkow, Kirill Yatsenko,
	Andy Shevchenko

Hello Jiri,

W dniu 28.08.2024 o 06:35, Jiri Slaby pisze:
> On 27. 08. 24, 17:38, Lech Perczak wrote:
>> Only the single expansion of GENMASK proves very hard to analyze in the
>> diff - so I double-checked with a calculator,
>> though all BIT() expansions do match, as does the updated definition.
>> of SC16IS7XX_LSR_BRK_ERROR_MASK.
> 
> You can diff also the generated .o fed through objdump -d (generated .s 
> usually contains line numbers).

I see that Greg already got the series into tty-next, but for the sake of completeness,
I did the check anyway.
This also came to my mind after I posted diff of preprocessed source ;-)

The diff is way, way smaller, but functionality is the same.
On amd64, the sign extension used in BIT() is visible:

--- sc16is7xx.c.asm.1	2024-09-04 16:06:02.523038659 +0200
+++ sc16is7xx.c.asm.2	2024-09-04 16:05:42.103938886 +0200
@@ -289,17 +289,16 @@
      1f9:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%rsp)
      200:	00 
      201:	e8 00 00 00 00       	call   206 <sc16is7xx_tx_empty+0x36>
-     206:	8b 44 24 04          	mov    0x4(%rsp),%eax
-     20a:	c1 e8 06             	shr    $0x6,%eax
-     20d:	83 e0 01             	and    $0x1,%eax
-     210:	48 8b 54 24 08       	mov    0x8(%rsp),%rdx
-     215:	65 48 2b 14 25 28 00 	sub    %gs:0x28,%rdx
-     21c:	00 00 
-     21e:	75 09                	jne    229 <sc16is7xx_tx_empty+0x59>
-     220:	48 83 c4 10          	add    $0x10,%rsp
-     224:	e9 00 00 00 00       	jmp    229 <sc16is7xx_tx_empty+0x59>
-     229:	e8 00 00 00 00       	call   22e <sc16is7xx_tx_empty+0x5e>
-     22e:	66 90                	xchg   %ax,%ax
+     206:	0f b6 44 24 04       	movzbl 0x4(%rsp),%eax
+     20b:	48 c1 e8 06          	shr    $0x6,%rax
+     20f:	83 e0 01             	and    $0x1,%eax
+     212:	48 8b 54 24 08       	mov    0x8(%rsp),%rdx
+     217:	65 48 2b 14 25 28 00 	sub    %gs:0x28,%rdx
+     21e:	00 00 
+     220:	75 09                	jne    22b <sc16is7xx_tx_empty+0x5b>
+     222:	48 83 c4 10          	add    $0x10,%rsp
+     226:	e9 00 00 00 00       	jmp    22b <sc16is7xx_tx_empty+0x5b>
+     22b:	e8 00 00 00 00       	call   230 <sc16is7xx_tx_empty+0x60>
      230:	90                   	nop
      231:	90                   	nop
      232:	90                   	nop

> 
> regards,

-- 
Pozdrawiam/With kind regards,
Lech Perczak

Sr. Software Engineer
Camlin Technologies Poland Limited Sp. z o.o.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-09-04 14:20 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <Zsy998mgOAyJa2xn () smile ! fi ! intel ! com>
2024-08-27 15:38 ` [PATCH v4 0/3] serial: sc16is7xx: cosmetic cleanup Lech Perczak
2024-08-28  4:35   ` Jiri Slaby
     [not found] <19c7e2b8-7f74-4138-b366-758b65da998b () kernel ! org>
2024-09-04 14:18 ` Lech Perczak
2024-08-26 15:40 Lech Perczak
2024-08-26 17:40 ` Andy Shevchenko

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).