From dc712e47c39f4dbc5f089831fd50dd1a2752c8fc Mon Sep 17 00:00:00 2001 From: Vishal Verma Date: Thu, 7 Oct 2021 02:21:23 -0600 Subject: [PATCH 031/217] ndctl: add .clang-format Copy the Linux kernel's .clang-format and modify it for ndctl. Only the 'ForEachMacros' section has been modified from the original kernel copy. Cc: Dan Williams Reported-by: Ben Widawsky Reviewed-by: Dan Williams Signed-off-by: Vishal Verma --- .clang-format | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 .clang-format diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..4e00fff --- /dev/null +++ b/.clang-format @@ -0,0 +1,161 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# clang-format configuration file. Intended for clang-format >= 4. +# Copied from Linux's .clang-format +# +# For more information, see: +# +# https://clang.llvm.org/docs/ClangFormat.html +# https://clang.llvm.org/docs/ClangFormatStyleOptions.html +# +--- +AccessModifierOffset: -4 +AlignAfterOpenBracket: Align +AlignConsecutiveAssignments: false +AlignConsecutiveDeclarations: false +#AlignEscapedNewlines: Left # Unknown to clang-format-4.0 +AlignOperands: true +AlignTrailingComments: false +AllowAllParametersOfDeclarationOnNextLine: false +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: None +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: false +BinPackArguments: true +BinPackParameters: true +BraceWrapping: + AfterClass: false + AfterControlStatement: false + AfterEnum: false + AfterFunction: true + AfterNamespace: true + AfterObjCDeclaration: false + AfterStruct: false + AfterUnion: false + #AfterExternBlock: false # Unknown to clang-format-5.0 + BeforeCatch: false + BeforeElse: false + IndentBraces: false + #SplitEmptyFunction: true # Unknown to clang-format-4.0 + #SplitEmptyRecord: true # Unknown to clang-format-4.0 + #SplitEmptyNamespace: true # Unknown to clang-format-4.0 +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Custom +#BreakBeforeInheritanceComma: false # Unknown to clang-format-4.0 +BreakBeforeTernaryOperators: false +BreakConstructorInitializersBeforeComma: false +#BreakConstructorInitializers: BeforeComma # Unknown to clang-format-4.0 +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: false +ColumnLimit: 80 +CommentPragmas: '^ IWYU pragma:' +#CompactNamespaces: false # Unknown to clang-format-4.0 +ConstructorInitializerAllOnOneLineOrOnePerLine: false +ConstructorInitializerIndentWidth: 8 +ContinuationIndentWidth: 8 +Cpp11BracedListStyle: false +DerivePointerAlignment: false +DisableFormat: false +ExperimentalAutoDetectBinPacking: false +#FixNamespaceComments: false # Unknown to clang-format-4.0 + +# Taken from: +# while read -r sym; do +# printf " - '%s'\n" "$sym"; +# done < \ +# <(cscope -dL6 "foreach|for_each" \ +# | awk '{ print $4 $5 }' | grep -E 'foreach|for_each' \ +# | sed -e 's/#define//' \ +# -e 's/*//' \ +# -e 's/://' \ +# -e 's/\(.*for_each.*\)(.*/\1/' \ +# -e 's/\(.*foreach.*\)(.*/\1/' \ +# | sort -u) +ForEachMacros: + - 'daxctl_dev_foreach' + - 'daxctl_mapping_foreach' + - 'daxctl_region_foreach' + - 'kmod_list_foreach' + - 'kmod_list_foreach_reverse' + - 'list_for_each' + - 'list_for_each_off' + - 'list_for_each_rev' + - 'list_for_each_safe' + - 'list_for_each_safe_off' + - 'ndctl_btt_foreach' + - 'ndctl_btt_foreach_safe' + - 'ndctl_bus_foreach' + - 'ndctl_dax_foreach' + - 'ndctl_dax_foreach_safe' + - 'ndctl_dimm_foreach' + - 'ndctl_dimm_foreach_in_interleave_set' + - 'ndctl_dimm_foreach_in_region' + - 'ndctl_interleave_set_foreach' + - 'ndctl_mapping_foreach' + - 'ndctl_namespace_badblock_foreach' + - 'ndctl_namespace_bb_foreach' + - 'ndctl_namespace_foreach' + - 'ndctl_namespace_foreach_safe' + - 'ndctl_pfn_foreach' + - 'ndctl_pfn_foreach_safe' + - 'ndctl_region_badblock_foreach' + - 'ndctl_region_foreach' + - 'udev_list_entry_foreach' + +#IncludeBlocks: Preserve # Unknown to clang-format-5.0 +IncludeCategories: + - Regex: '.*' + Priority: 1 +IncludeIsMainRegex: '(Test)?$' +IndentCaseLabels: false +#IndentPPDirectives: None # Unknown to clang-format-5.0 +IndentWidth: 8 +IndentWrappedFunctionNames: false +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: false +MacroBlockBegin: '' +MacroBlockEnd: '' +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +#ObjCBinPackProtocolList: Auto # Unknown to clang-format-5.0 +ObjCBlockIndentWidth: 8 +ObjCSpaceAfterProperty: true +ObjCSpaceBeforeProtocolList: true + +# Taken from git's rules +#PenaltyBreakAssignment: 10 # Unknown to clang-format-4.0 +PenaltyBreakBeforeFirstCallParameter: 30 +PenaltyBreakComment: 10 +PenaltyBreakFirstLessLess: 0 +PenaltyBreakString: 10 +PenaltyExcessCharacter: 100 +PenaltyReturnTypeOnItsOwnLine: 60 + +PointerAlignment: Right +ReflowComments: false +SortIncludes: false +#SortUsingDeclarations: false # Unknown to clang-format-4.0 +SpaceAfterCStyleCast: false +SpaceAfterTemplateKeyword: true +SpaceBeforeAssignmentOperators: true +#SpaceBeforeCtorInitializerColon: true # Unknown to clang-format-5.0 +#SpaceBeforeInheritanceColon: true # Unknown to clang-format-5.0 +SpaceBeforeParens: ControlStatements +#SpaceBeforeRangeBasedForLoopColon: true # Unknown to clang-format-5.0 +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInContainerLiterals: false +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Cpp03 +TabWidth: 8 +UseTab: Always +... -- 2.27.0