module: Convert symbol namespace to string literalClean up the existing export namespace code along the same lines ofcommit 33def8498fdd ("treewide: Convert macro and uses of __section(foo)to __s
module: Convert symbol namespace to string literalClean up the existing export namespace code along the same lines ofcommit 33def8498fdd ("treewide: Convert macro and uses of __section(foo)to __section("foo")") and for the same reason, it is not desired for thenamespace argument to be a macro expansion itself.Scripted using git grep -l -e MODULE_IMPORT_NS -e EXPORT_SYMBOL_NS | while read file; do awk -i inplace ' /^#define EXPORT_SYMBOL_NS/ { gsub(/__stringify\(ns\)/, "ns"); print; next; } /^#define MODULE_IMPORT_NS/ { gsub(/__stringify\(ns\)/, "ns"); print; next; } /MODULE_IMPORT_NS/ { $0 = gensub(/MODULE_IMPORT_NS\(([^)]*)\)/, "MODULE_IMPORT_NS(\"\\1\")", "g"); } /EXPORT_SYMBOL_NS/ { if ($0 ~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+),/) { if ($0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/ && $0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(\)/ && $0 !~ /^my/) { getline line; gsub(/[[:space:]]*\\$/, ""); gsub(/[[:space:]]/, "", line); $0 = $0 " " line; } $0 = gensub(/(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/, "\\1(\\2, \"\\3\")", "g"); } } { print }' $file; doneRequested-by: Masahiro Yamada <masahiroy@kernel.org>Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>Link: https://mail.google.com/mail/u/2/#inbox/FMfcgzQXKWgMmjdFwwdsfgxzKpVHWPlcAcked-by: Greg KH <gregkh@linuxfoundation.org>Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
show more ...
net: intel: Remove MODULE_AUTHORsWe are moving away from the Sourceforge email address. Rather thanremoving or updating the email for the affected entries, remove theMODULE_AUTHOR altogether as i
net: intel: Remove MODULE_AUTHORsWe are moving away from the Sourceforge email address. Rather thanremoving or updating the email for the affected entries, remove theMODULE_AUTHOR altogether as its usage is incorrect [1].Link: https://lore.kernel.org/netdev/20200626115236.7f36d379@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com/ [1]Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>Acked-by: Alexander Lobakin <aleksander.lobakin@intel.com> # libeth, libieReviewed-by: Simon Horman <horms@kernel.org>Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
net: intel: Use *-y instead of *-objs in Makefile*-objs suffix is reserved rather for (user-space) host programs whileusually *-y suffix is used for kernel drivers (although *-objs worksfor that
net: intel: Use *-y instead of *-objs in Makefile*-objs suffix is reserved rather for (user-space) host programs whileusually *-y suffix is used for kernel drivers (although *-objs worksfor that purpose for now).Let's correct the old usages of *-objs in Makefiles.Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com>Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>Link: https://lore.kernel.org/r/20240607-next-2024-06-03-intel-next-batch-v3-1-d1470cee3347@intel.comSigned-off-by: Jakub Kicinski <kuba@kernel.org>
net: intel: introduce {, Intel} Ethernet common libraryNot a secret there's a ton of code duplication between two and more Intelethernet modules.Before introducing new changes, which would need
net: intel: introduce {, Intel} Ethernet common libraryNot a secret there's a ton of code duplication between two and more Intelethernet modules.Before introducing new changes, which would need to be copied over again,start decoupling the already existing duplicate functionality into a newmodule, which will be shared between several Intel Ethernet drivers.Add the lookup table which converts 8/10-bit hardware packet type intoa parsed bitfield structure for easy checking packet format parameters,such as payload level, IP version, etc. This is currently used by i40e,ice and iavf and it's all the same in all three drivers.The only difference introduced in this implementation is that instead ofdefining a 256 (or 1024 in case of ice) element array, add unlikely()condition to limit the input to 154 (current maximum non-reserved packettype). There's no reason to waste 600 (or even 3600) bytes only to nothurt very unlikely exception packets.The hash computation function now takes payload level directly as apkt_hash_type. There's a couple cases when non-IP ptypes are marked asL3 payload and in the previous versions their hash level would be 2, not3. But skb_set_hash() only sees difference between L4 and non-L4, thusthis won't change anything at all.The module is behind the hidden Kconfig symbol, which the drivers willselect when needed. The exports are behind 'LIBIE' namespace to limitthe scope of the functions.Not that non-HW-specific symbols will live in yet another module,libeth. This is done to easily distinguish pretty generic code readyfor reusing by any other vendor and/or for moving the layer up fromthe code useful in Intel's 1-100G drivers only.Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com>Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>