On 4/6/21 12:21 PM, Joe Perches wrote:
On Tue, 2021-04-06 at 15:27 +0200, Greg KH wrote:
On Tue, Apr 06, 2021 at 06:42:59PM +0600, Zhansaya Bagdauletkyzy wrote:
Match next line with open parentheses by adding tabs/spaces
to conform with Linux kernel coding style.
Reported by checkpatch.
[]
diff --git a/drivers/staging/greybus/camera.c b/drivers/staging/greybus/camera.c
[]
@@ -378,8 +378,8 @@ struct ap_csi_config_request {
#define GB_CAMERA_CSI_CLK_FREQ_MARGIN 150000000U
static int gb_camera_setup_data_connection(struct gb_camera *gcam,
- struct gb_camera_configure_streams_response *resp,
- struct gb_camera_csi_params *csi_params)
+ struct gb_camera_configure_streams_response *resp,
+ struct gb_camera_csi_params *csi_params)
And now you violate another coding style requirement, which means
someone will send another patch to fix that up and around and around it
goes...
None of the coding style document is an actual requirement Greg.
It's all rules of thumb. Useful rules, but not hard and fast right?
I agree with this, but this ambiguity causes some problems.
Greybus is a go-to place for just-starting developers to
work with some reasonably good "real" code. But someone
just starting has no way of judging whether the warnings
issued by checkpatch are real or not. Even experienced
developers will lack the insight to judge this if they
are modifying on a less-familiar part of the kernel.
The result--for Greybus certainly--is fairly regular
stream patches that suggest making trivial changes based
on checkpatch recommendations. And unfortunately each
one is destined to be rejected by the maintainers. This
is no good for anybody.
Can you think of a way to try to further characterize
how "serious" a warning message is? I recognize that
even if (for example) you had something like 1-10 severity
scale, the scale might not be uniform across the whole
kernel tree. Perhaps (like the -W options for GCC) there
could be a way to specify in a Makefile which checkpatch
messages are reported/not reported? I don't claim that's
a good suggestion, but if I could optionally indicate
somewhere that "two consecutive blank lines is OK for
Greybus" (one example that comes to mind) I might do so.
To me, the biggest issue with this code isn't whether or not the
code is aligned at open parentheses or stays within 80 columns,
but is the use of 30+ character length identifiers.
I agree with you on this one... I've worked with code
like that and it's very difficult to make it readable.
I've made a mental note to go look at this and see if
I can make it better. I can't say when I'll get to it
but I think it's a good suggestion.
-Alex
Using identifiers of that length makes using 80 column, or even
100 column length lines infeasible.
Perhaps seeing if include/linux/greybus/greybus_protocols.h
could be updated to use shorter length identifiers might be useful.
The median length identifier there is ~25 chars long and the
maximum length identifier is ~50 chars.