Re: [PATCH v7 5/8] x86/e820: Refactor e820__range_remove

From: Dave Hansen
Date: Tue Apr 26 2022 - 13:53:10 EST

On 4/26/22 10:37, Martin Fernandez wrote:
>> Also, in general, the naming is a bit verbose. You might want to trim
>> some of those names down, like:
>>> +static bool __init crypto_updater__should_update(const struct e820_entry
>>> *entry,
>>> + const void *data)
>>> +{
>>> + const struct e820_crypto_updater_data *crypto_updater_data =
>>> + (const struct e820_crypto_updater_data *)data;
> Yes I agree on this. Do you have any suggestions for these kind of
> functions? I want to explicitly state that these functions are in some of
> namespace and are different of the other ones.
> In the end I don't think this is very harmful since these functions are one-time
> used (in a single place), is not the case that you have to use them everywhere..

Let's just start with the fact that this is a pointer to a structure
containing an enum that represents a single bit. You could just pass
around an address to a bool:

bool crypto_capable = *(bool *)data;

or even just pass and use the 'void *data' pointer as a value directly:

bool crypto_capable = (bool)data;

That, for one, would get rid of some of the naming craziness.

If it were me, and I *really* wanted to keep the full types, I would
have just condensed that line down to:

struct e820_crypto_updater_data *crypto_data = data;

Yeah, it _can_ be const, but it buys you practically nothing in this
case and only hurts readability.