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: <5cf3824f-6375-4c76-86ff-c5389ddf4196@gmail.com>
Date:   Mon, 20 Nov 2023 17:55:12 +0200
From:   Ceclan Dumitru <mitrutzceclan@...il.com>
To:     Andy Shevchenko <andy@...nel.org>
Cc:     linus.walleij@...aro.org, brgl@...ev.pl,
        linux-gpio@...r.kernel.org, Lars-Peter Clausen <lars@...afoo.de>,
        Jonathan Cameron <jic23@...nel.org>,
        Rob Herring <robh+dt@...nel.org>,
        Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
        Conor Dooley <conor+dt@...nel.org>,
        Michael Walle <michael@...le.cc>,
        Arnd Bergmann <arnd@...db.de>,
        ChiaEn Wu <chiaen_wu@...htek.com>,
        Niklas Schnelle <schnelle@...ux.ibm.com>,
        Leonard Göhrs <l.goehrs@...gutronix.de>,
        Mike Looijmans <mike.looijmans@...ic.nl>,
        Haibo Chen <haibo.chen@....com>,
        Hugo Villeneuve <hvilleneuve@...onoff.com>,
        Ceclan Dumitru <dumitru.ceclan@...log.com>,
        linux-iio@...r.kernel.org, devicetree@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4 2/2] iio: adc: ad7173: add AD7173 driver


On 11/20/23 15:00, Andy Shevchenko wrote:
> On Thu, Nov 16, 2023 at 03:46:55PM +0200, mitrutzceclan wrote:
>> +struct ad7173_channel_config {
>> +	bool live;
>> +	u8 cfg_slot;
>> +	/* Following fields are used to compare equality. Bipolar must be first */
>> +	bool bipolar;
>> +	bool input_buf;
>> +	u8 odr;
>> +	u8 ref_sel;
> 
> If you group better by types, it might save a few bytes on the architectures /
> compilers where bool != byte.
>
Grouping by type will result in not being able to use memcmp() for
comparing configs. But then there is the issue that I was under the
assumption that bool=byte. If that is not the case, the config equality
check might be comparing padding bytes.

In this case what do you suggest:
- using the packed attribute
- using only u8
- drop memcmp, manually compare fields

...

>> +	cmp_size = sizeof(*cfg) - offset;
> 
> sizeof_field() from the above mentioned header?

This computes the size of multiple fields, following cfg_slot. Better to
group the fields that need to be compared into another struct then use
sizeof_field()?

...

> 
>> +	return vref / (MICRO/MILLI);
> 
> What does the denominator mean and why you can't simply use MILL?
>

Original vref values are in micro, I considered that it was adequate to
represent the conversion from MICRO to MILLI as a fraction.

>> +		*val = st->info->sinc5_data_rates[reg] / (MICRO/MILLI);
>> +		*val2 = (st->info->sinc5_data_rates[reg] % MILLI) * (MICRO/MILLI);
> 
> Same Q about denominator.
> 
Here, a misunderstanding on my part of a suggestion from Jonathan in V2,
will be removed.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ