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] [day] [month] [year] [list]
Message-ID: <DC148C5AA1CEBA4E87973D432B1C2D8825FFCBE3@P3PWEX4MB008.ex4.secureserver.net>
Date:	Thu, 23 Oct 2014 20:23:49 +0000
From:	Hartley Sweeten <HartleyS@...ionengravers.com>
To:	Ian Abbott <abbotti@....co.uk>,
	"driverdev-devel@...uxdriverproject.org" 
	<driverdev-devel@...uxdriverproject.org>
CC:	Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] staging: comedi: introduce some sample size
 manipulation functions

On Thursday, October 23, 2014 5:48 AM, Ian Abbott wrote:
> Introduce a few static inline helper functions:
>
> `comedi_bytes_per_sample(s)` is the same as the existing
> `bytes_per_sample(s)` and determines the size of a comedi sample in
> bytes.  (`bytes_per_sample(s)` will be removed.)
>
> `comedi_sample_shift(s)` determines the log2 of the comedi sample size,
> so it can be used in bit-shift operations to multiply or divide by the
> sample size.
>
> `comedi_bytes_to_samples(s, nbytes)` converts a number of bytes to a
> number of samples (rounding down).
>
> `comedi_samples_to_bytes(s, nsamples)` converts a number of samples to a
> number of bytes.
>
> Signed-off-by: Ian Abbott <abbotti@....co.uk>
> ---
>  drivers/staging/comedi/comedidev.h | 63 +++++++++++++++++++++++++++++++++++---
>  1 file changed, 59 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/staging/comedi/comedidev.h b/drivers/staging/comedi/comedidev.h
> index 1b2bbd5..69cf6fe 100644
> --- a/drivers/staging/comedi/comedidev.h
> +++ b/drivers/staging/comedi/comedidev.h
> @@ -391,12 +391,67 @@ static inline unsigned int comedi_offset_munge(struct comedi_subdevice *s,
>  	return val ^ s->maxdata ^ (s->maxdata >> 1);
>  }
> 
> -static inline unsigned int bytes_per_sample(const struct comedi_subdevice *subd)
> +/**
> + * comedi_bytes_per_sample - determine subdevice sample size
> + * @s:		comedi_subdevice struct
> + *
> + * The sample size will be 4 (sizeof int) or 2 (sizeof short) depending on
> + * whether the SDF_LSAMPL subdevice flag is set or not.
> + *
> + * Returns the subdevice sample size.
> + */
> +static inline unsigned int comedi_bytes_per_sample(struct comedi_subdevice *s)
>  {
> -	if (subd->subdev_flags & SDF_LSAMPL)
> -		return sizeof(unsigned int);
> +	return s->subdev_flags & SDF_LSAMPL ? sizeof(int) : sizeof(short);

The samples are really 'unsigned' types but I guess it doesn't matter here.

> +}
 
Reviewed-by: H Hartley Sweeten <hsweeten@...ionengravers.com>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ