[PATCH 04/20] Staging: ipack: Obtain supported speeds from ID ROM.

Dan Carpenter dan.carpenter at oracle.com
Tue Sep 11 08:47:27 UTC 2012


On Mon, Sep 10, 2012 at 10:51:42AM +0200, Samuel Iglesias Gonsálvez wrote:
> From: Jens Taprogge <jens.taprogge at taprogge.org>
> 
> Signed-off-by: Jens Taprogge <jens.taprogge at taprogge.org>
> Signed-off-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
> ---
>  drivers/staging/ipack/ipack.c |    6 ++++++
>  drivers/staging/ipack/ipack.h |    2 ++
>  2 files changed, 8 insertions(+)
> 
> diff --git a/drivers/staging/ipack/ipack.c b/drivers/staging/ipack/ipack.c
> index b3736c0..521ff55 100644
> --- a/drivers/staging/ipack/ipack.c
> +++ b/drivers/staging/ipack/ipack.c
> @@ -261,15 +261,21 @@ static void ipack_parse_id1(struct ipack_device *dev)
>  
>  	dev->id_vendor = id[4];
>  	dev->id_device = id[5];
> +	dev->speed_8mhz = 1;
> +	dev->speed_32mhz = (id[7] == 'H');
>  }
>  
>  static void ipack_parse_id2(struct ipack_device *dev)
>  {
>  	__be16 *id = (__be16 *) dev->id;
> +	u16 flags;
>  
>  	dev->id_vendor = ((be16_to_cpu(id[3]) & 0xff) << 16)
>  			 + be16_to_cpu(id[4]);
>  	dev->id_device = be16_to_cpu(id[5]);
> +	flags = be16_to_cpu(id[10]);
> +	dev->speed_8mhz = ((flags & 2) != 0);
> +	dev->speed_32mhz = ((flags & 4) != 0);

I really dislike "!= 0" double negatives.  I would prefer this:

	dev->speed_8mhz = !!(flags & 2);
	dev->speed_32mhz = !!(flags & 4);

For me the !! is idiomatic and means turn this into a bool.  I don't
know if maybe I'm the only person who feels this way.

regards,
dan carpenter




More information about the devel mailing list