Re: [greybus-dev] [PATCH 3/3] [PATCH] staging: greybus: __u8 is sufficient for snd_ctl_elem_type_t and snd_ctl_elem_iface_t

From: Coiby Xu
Date: Sat Sep 26 2020 - 00:01:29 EST


On Fri, Sep 25, 2020 at 11:02:23AM -0500, Alex Elder wrote:
On 9/25/20 9:11 AM, Coiby Xu wrote:
On Thu, Sep 24, 2020 at 10:54:50AM +0000, David Laight wrote:
From: Coiby Xu
Sent: 24 September 2020 11:21
Use __8 to replace int and remove the unnecessary __bitwise type
attribute.

Found by sparse,
...
diff --git a/include/uapi/sound/asound.h b/include/uapi/sound/asound.h
index 535a7229e1d9..8e71a95644ab 100644
--- a/include/uapi/sound/asound.h
+++ b/include/uapi/sound/asound.h
@@ -950,7 +950,7 @@ struct snd_ctl_card_info {
     unsigned char components[128];    /* card components / fine
identification, delimited with one
space (AC97 etc..) */
 };

-typedef int __bitwise snd_ctl_elem_type_t;
+typedef __u8 snd_ctl_elem_type_t;
 #define    SNDRV_CTL_ELEM_TYPE_NONE    ((__force
snd_ctl_elem_type_t) 0) /* invalid */
 #define    SNDRV_CTL_ELEM_TYPE_BOOLEAN    ((__force
snd_ctl_elem_type_t) 1) /* boolean type */
 #define    SNDRV_CTL_ELEM_TYPE_INTEGER    ((__force
snd_ctl_elem_type_t) 2) /* integer type */

WTF is all that about anyway??
What is wrong with:
#define    SNDRV_CTL_ELEM_TYPE_NONE    0u /* invalid */

I'm sorry I don't quite understand you. Are you suggesting
SNDRV_CTL_ELEM_TYPE_NONE
isn't needed in the first place?

I think David is asking why it's defined the way it is,
and I'd guess it's to have the compiler issue an error
if you attempt to assign one of these values to a variable
or field of the wrong type.

No, you should not attempt to change this.

Thank you for the explanation!


-Alex
    David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton
Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)


--
Best regards,
Coiby
_______________________________________________
greybus-dev mailing list
greybus-dev@xxxxxxxxxxxxxxxx
https://lists.linaro.org/mailman/listinfo/greybus-dev


--
Best regards,
Coiby