On 29/05/15 11:48, David Laight wrote:
From: Shradha Shah
Sent: 29 May 2015 11:01
On every adapter there will be one primary PF per adaptor and
one link control PF per port.
...
+return sprintf(buf, %d\n,
+ ((efx-mcdi-fn_flags)
+(1 MC_CMD_DRV_ATTACH_EXT_OUT_FLAG_LINKCTRL))
+ ? 1 : 0);
Horrid expression.
Why not:
(efx-mcdi-fn_flags MC_CMD_DRV_ATTACH_EXT_OUT_FLAG_LINKCTRL) 1
I think the idea is that this is more explicit about what it's doing.
It's a toss-up which is more readable / idiomatic; I prefer the OP version.
(They probably compile to the same thing, though I haven't checked.)
using sprintf() is also excessive. Maybe:
*buf = '0' + (expression);
return 1;
That loses the '\n'; it's annoying when you cat a file and it doesn't end in a
'\n', because it gloms onto your shell prompt.
sprintf isn't really that expensive, this isn't likely to be called very
frequently.
You may also need to check for buffer overrun.
In fact Documentation/filesystems/sysfs.txt says that show() should always use
scnprintf() and that The buffer will always be PAGE_SIZE bytes in length.
So if we want to be consistent, it should be
return scnprintf(buf, PAGE_SIZE, %d\n, expression);
although it'd be rather surprising if either 0\n or 1\n were ever too big for
PAGE_SIZE :grin:.
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html