* [PATCH] drivers/net/ethernet/sfc/: Simplify code
@ 2021-11-20 20:14 Alejandro Colomar
2021-11-22 16:17 ` Edward Cree
0 siblings, 1 reply; 3+ messages in thread
From: Alejandro Colomar @ 2021-11-20 20:14 UTC (permalink / raw)
To: netdev; +Cc: Alejandro Colomar, Edward Cree, Martin Habets
That ternary operator has
the same exact code in both of the branches.
Unless there's some hidden magic in the condition,
there's no reason for it to be,
and it can be replaced
by the code in one of the branches.
That code has been untouched since it was added,
so there's no information in git about
why it was written that way.
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Cc: Edward Cree <ecree.xilinx@gmail.com>
Cc: Martin Habets <habetsm.xilinx@gmail.com>
Cc: netdev@vger.kernel.org
---
drivers/net/ethernet/sfc/ethtool_common.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/sfc/ethtool_common.c b/drivers/net/ethernet/sfc/ethtool_common.c
index bd552c7dffcb..1b9e8b0afb3c 100644
--- a/drivers/net/ethernet/sfc/ethtool_common.c
+++ b/drivers/net/ethernet/sfc/ethtool_common.c
@@ -33,10 +33,7 @@ struct efx_sw_stat_desc {
get_stat_function) { \
.name = #stat_name, \
.source = EFX_ETHTOOL_STAT_SOURCE_##source_name, \
- .offset = ((((field_type *) 0) == \
- &((struct efx_##source_name *)0)->field) ? \
- offsetof(struct efx_##source_name, field) : \
- offsetof(struct efx_##source_name, field)), \
+ .offset = offsetof(struct efx_##source_name, field), \
.get_stat = get_stat_function, \
}
--
2.33.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] drivers/net/ethernet/sfc/: Simplify code
2021-11-20 20:14 [PATCH] drivers/net/ethernet/sfc/: Simplify code Alejandro Colomar
@ 2021-11-22 16:17 ` Edward Cree
2021-11-22 17:19 ` Alejandro Colomar (man-pages)
0 siblings, 1 reply; 3+ messages in thread
From: Edward Cree @ 2021-11-22 16:17 UTC (permalink / raw)
To: Alejandro Colomar, netdev; +Cc: Martin Habets
On 20/11/2021 20:14, Alejandro Colomar wrote:
> That ternary operator has
> the same exact code in both of the branches.
>
> Unless there's some hidden magic in the condition,
> there's no reason for it to be,
> and it can be replaced
> by the code in one of the branches.
>
> That code has been untouched since it was added,
> so there's no information in git about
> why it was written that way.
>
> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
> Cc: Edward Cree <ecree.xilinx@gmail.com>
> Cc: Martin Habets <habetsm.xilinx@gmail.com>
> Cc: netdev@vger.kernel.org
I guess it's there for type-checking — essentially as an assert that
field_type == typeof(efx_##source_name.field). Probably when it was
added there was no standard way to do this; now we could probably
use <linux/typecheck.h> or some such.
The comment just above the macro does mention "with type-checking".
-ed
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] drivers/net/ethernet/sfc/: Simplify code
2021-11-22 16:17 ` Edward Cree
@ 2021-11-22 17:19 ` Alejandro Colomar (man-pages)
0 siblings, 0 replies; 3+ messages in thread
From: Alejandro Colomar (man-pages) @ 2021-11-22 17:19 UTC (permalink / raw)
To: Edward Cree, netdev; +Cc: Martin Habets
Hi Edward,
On 11/22/21 17:17, Edward Cree wrote:
> On 20/11/2021 20:14, Alejandro Colomar wrote:
>> That ternary operator has
>> the same exact code in both of the branches.
>>
>> Unless there's some hidden magic in the condition,
>> there's no reason for it to be,
>> and it can be replaced
>> by the code in one of the branches.
>>
>> That code has been untouched since it was added,
>> so there's no information in git about
>> why it was written that way.
>>
>> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
>> Cc: Edward Cree <ecree.xilinx@gmail.com>
>> Cc: Martin Habets <habetsm.xilinx@gmail.com>
>> Cc: netdev@vger.kernel.org
>
> I guess it's there for type-checking — essentially as an assert that
> field_type == typeof(efx_##source_name.field). Probably when it was
> added there was no standard way to do this; now we could probably
> use <linux/typecheck.h> or some such.
> The comment just above the macro does mention "with type-checking".
Yes, that's why I suggested there was probably some black magic
involved. But I couldn't read it, though.
I suggest replacing it with a static_assert(__same_type()) thingy.
Cheers,
Alex
--
Alejandro Colomar
Linux man-pages comaintainer; http://www.kernel.org/doc/man-pages/
http://www.alejandro-colomar.es/
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-11-22 17:19 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-20 20:14 [PATCH] drivers/net/ethernet/sfc/: Simplify code Alejandro Colomar
2021-11-22 16:17 ` Edward Cree
2021-11-22 17:19 ` Alejandro Colomar (man-pages)
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.