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: <1459036383.23450.12.camel@perches.com>
Date:	Sat, 26 Mar 2016 16:53:03 -0700
From:	Joe Perches <joe@...ches.com>
To:	Rasmus Villemoes <linux@...musvillemoes.dk>,
	Sujith Thomas <sujith.thomas@...el.com>,
	Darren Hart <dvhart@...radead.org>
Cc:	platform-driver-x86@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] intel_menlow: reduce code duplication

On Sat, 2016-03-26 at 22:40 +0100, Rasmus Villemoes wrote:
> aux0_show and aux1_show consists of almost identical code. Pull that
> into a common helper and make them thin wrappers. Similarly for
> _store.

Seems sensible, thanks

> diff --git a/drivers/platform/x86/intel_menlow.c b/drivers/platform/x86/intel_menlow.c
[]
> @@ -306,33 +306,32 @@ static int sensor_set_auxtrip(acpi_handle handle, int index, int value)
>  #define to_intel_menlow_attr(_attr)	\
>  	container_of(_attr, struct intel_menlow_attribute, attr)
>  
> -static ssize_t aux0_show(struct device *dev,
> -			 struct device_attribute *dev_attr, char *buf)
> +static ssize_t aux_show(struct device *dev, struct device_attribute *dev_attr,
> +			char *buf, int idx)
>  {
>  	struct intel_menlow_attribute *attr = to_intel_menlow_attr(dev_attr);
>  	unsigned long long value;
>  	int result;
>  
> -	result = sensor_get_auxtrip(attr->handle, 0, &value);
> +	result = sensor_get_auxtrip(attr->handle, idx, &value);
>  
>  	return result ? result : sprintf(buf, "%lu", DECI_KELVIN_TO_CELSIUS(value));

While not something you've done differently than the
existing code, perhaps this would be more common
without the ternary operator like:

	result = sensor_get_auxtrip(attr->handle, idx, &value);
	if (result < 0)
		return result;

	return sprintf(buf, "%lu", DECI_KELVIN_TO_CELSIUS(value));

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ