Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@linux.intel.com>
To: "Michal Wajdeczko" <michal.wajdeczko@intel.com>,
	"Matthew Brost" <matthew.brost@intel.com>,
	"Matt Roper" <matthew.d.roper@intel.com>,
	"Thomas Hellström" <thomas.hellstrom@linux.intel.com>,
	"Lucas De Marchi" <lucas.demarchi@intel.com>
Cc: intel-xe@lists.freedesktop.org
Subject: Re: [PATCH 4/5] drm/xe: Rename internal vram helper function
Date: Wed, 29 May 2024 14:50:23 +0300	[thread overview]
Message-ID: <87bk4okfb4.fsf@intel.com> (raw)
In-Reply-To: <46164a96-f72c-4991-a41d-eea299540d75@intel.com>

On Wed, 29 May 2024, Michal Wajdeczko <michal.wajdeczko@intel.com> wrote:
> ++ maintainers
>
> On 29.05.2024 00:15, Matthew Brost wrote:
>> We have talked about this before and I think the consensous was "xe_"
>> prefixes for static functions are fine, perhaps even desired. I can't
>
> IMO use of "xe_foo" prefix for static functions is inconsistent (as its
> name suggests that it is public function while OTOH it is declared as
> static) and may mislead that it could be used in other compilation unit.
>
> thus use of "xe_" (for static) should be rather discouraged but also at
> the same time it shouldn't be treated as showstopper (with the hope
> better name will be provided later)
>
>> find a reference but I do recall a discussion on the list about this.
>> 
>> I think the maintainers should make / document a rule wrt to "xe_"
>> prefixes before we start making changes in this area as it is not clear.

IMO the prefix is useful even for static functions for a few reasons:

- C has no namespaces. The use of prefixes in the kernel global
  functions and macros is inconsistent at best. Prefixes avoid clashes.

- It's quite handy to be able to just glance at a backtrace to see where
  it's originating from. With a bunch of generic non-prefixed functions
  in there, you kind of lose track, and have to look at the source.

- During refactoring, it's not uncommon to make functions
  static/non-static, and having to rename at that point is a bit
  tedious.

That said, we haven't required this in i915. Also platform acronym
prefixes are common especially in display code. Some people have started
adding single underscore prefixes for static functions in a few places,
but I pretty much frown on that.

> before we start writing rules for static functions, better to focus only
> on rules for public naming convention for the components, like:
>
> files:
> 	GOOD
> 		xe_foo.ch
> 		xe_foo_types.h
> 		xe_foo_helpers.h
> 	FINE
> 		xe_gt_foo.ch
> 	BAD
> 		foo.ch
>
> types:
> 	GOOD
> 		struct xe_foo_xxx
> 		enum xe_foo_yyy
> 		typedef xe_foo_zzz
> 	BAD
> 		struct foo
> 		struct xe_bar
>
> functions:
> 	GOOD
> 		xe_foo_bar(struct xe_foo *foo, ...)
> 	FINE
> 		xe_foo_bar(struct xe_device *xe, ...)
> 		xe_gt_foo_bar(struct xe_gt *gt, ...)
> 	BAD
> 		xe_foo_bar(..., struct xe_foo *foo)
> 		xe_bar_foo(struct xe_foo *foo, ...)

And sometimes you want to prefer names that are easy to pronounce and
make sense over names that strictly adhere to rules...

BR,
Jani.


-- 
Jani Nikula, Intel

  reply	other threads:[~2024-05-29 11:50 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-27 17:35 [PATCH 0/5] VF: Setup VRAM based on received config data Michal Wajdeczko
2024-05-27 17:35 ` [PATCH 1/5] drm/xe: Move XEHP_MTCFG_ADDR register definition to xe_regs.h Michal Wajdeczko
2024-05-28 21:14   ` Matt Roper
2024-05-27 17:35 ` [PATCH 2/5] drm/xe: Move BAR definitions to dedicated file Michal Wajdeczko
2024-05-28 21:18   ` Matt Roper
2024-05-27 17:35 ` [PATCH 3/5] drm/xe: Promote VRAM initialization function to own file Michal Wajdeczko
2024-05-28 21:27   ` Matt Roper
2024-05-27 17:35 ` [PATCH 4/5] drm/xe: Rename internal vram helper function Michal Wajdeczko
2024-05-28 21:35   ` Matt Roper
2024-05-28 22:15     ` Matthew Brost
2024-05-29 11:25       ` Michal Wajdeczko
2024-05-29 11:50         ` Jani Nikula [this message]
2024-05-29 12:45           ` Michal Wajdeczko
2024-05-29 12:52             ` Jani Nikula
2024-05-29 16:22               ` Lucas De Marchi
2024-05-29 18:01                 ` Jani Nikula
2024-05-29 20:03                   ` Lucas De Marchi
2024-05-27 17:35 ` [PATCH 5/5] drm/xe/vf: Setup VRAM based on received config data Michal Wajdeczko
2024-05-28 21:50   ` Matt Roper
2024-05-27 17:42 ` ✓ CI.Patch_applied: success for VF: " Patchwork
2024-05-27 17:42 ` ✗ CI.checkpatch: warning " Patchwork
2024-05-27 17:43 ` ✓ CI.KUnit: success " Patchwork
2024-05-27 17:55 ` ✓ CI.Build: " Patchwork
2024-05-27 17:55 ` ✗ CI.Hooks: failure " Patchwork
2024-05-27 17:57 ` ✓ CI.checksparse: success " Patchwork
2024-05-27 18:28 ` ✗ CI.BAT: failure " Patchwork
2024-05-27 19:38 ` ✗ CI.FULL: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87bk4okfb4.fsf@intel.com \
    --to=jani.nikula@linux.intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=lucas.demarchi@intel.com \
    --cc=matthew.brost@intel.com \
    --cc=matthew.d.roper@intel.com \
    --cc=michal.wajdeczko@intel.com \
    --cc=thomas.hellstrom@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox