lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f5a5cd1c-763b-4dc1-e40a-dafbc47a1eaf@fi.rohmeurope.com>
Date:   Thu, 18 Nov 2021 15:14:02 +0000
From:   "Vaittinen, Matti" <Matti.Vaittinen@...rohmeurope.com>
To:     Mark Brown <broonie@...nel.org>
CC:     Matti Vaittinen <mazziesaccount@...il.com>,
        Liam Girdwood <lgirdwood@...il.com>,
        Lee Jones <lee.jones@...aro.org>,
        linux-power <linux-power@...rohmeurope.com>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/5] regulator: irq_helpers: Allow omitting map_event for
 simple IRQs

Hi Mark,

Thanks for the review :)

On 11/18/21 15:35, Mark Brown wrote:
> On Thu, Nov 18, 2021 at 01:48:26PM +0200, Matti Vaittinen wrote:
> 
>> +static bool single_bit_set(int val, int bits_to_check)
>> +{
>> +	int bit;
>> +	const unsigned long bits = val;
>> +
>> +	bit = find_first_bit(&bits, bits_to_check);
>> +	if (bit == bits_to_check)
>> +		return false;
>> +
>> +	bit = find_next_bit(&bits, bits_to_check, bit + 1);
>> +
>> +	return (bit == bits_to_check);
>> +}
> 
> The namespacing here feels like it should be with the other _bit()
> helpers rather than private to the regulator code, I can certainly see
> other things wanting to use it.

Hmm. Right, thanks. I can put that in the same place where other bit() 
operations are - let's see what the reception is :)

> 
>> +	if (!h->desc.map_event) {
>> +		if (rdev_amount != 1 ||
>> +		    !single_bit_set(common_errs, sizeof(common_errs) * 8) ||
>> +		    per_rdev_errs)
>> +			return ERR_PTR(-EINVAL);
>> +
>> +		h->desc.map_event = map_event_simple;
>> +	}
> 
> This isn't the usual pattern, normally we would have the driver assign
> the helper operation.  We can always still do the check based on finding
> the expected map_event set up.

So, do you suggest that we export the map_event_simple() as a helper 
which drivers can provide to irq_helpers? If yes, do you think we should 
leave out the sanity check regarding the conditions (only one common 
error and only one rdev)? Or should we compare the given map function to 
the adress of the map_event_simple() and perform checks if it matches? 
It looks a bit strange to me. Or did you have some other vision?

Best Regards
     Matti Vaittinen


-- 
The Linux Kernel guy at ROHM Semiconductors

Matti Vaittinen, Linux device drivers
ROHM Semiconductors, Finland SWDC
Kiviharjunlenkki 1E
90220 OULU
FINLAND

~~ this year is the year of a signature writers block ~~

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ