RE: [PATCH 3/5] drivers:usb:fsl: Replace macros with enumerated type

From: Badola Nikhil
Date: Mon Jun 01 2015 - 02:20:03 EST


> -----Original Message-----
> From: Greg KH [mailto:gregkh@xxxxxxxxxxxxxxxxxxx]
> Sent: Monday, June 01, 2015 2:32 AM
> To: Joe Perches
> Cc: Badola Nikhil-B46172; linux-kernel@xxxxxxxxxxxxxxx;
> stern@xxxxxxxxxxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH 3/5] drivers:usb:fsl: Replace macros with enumerated
> type
>
> On Sun, May 31, 2015 at 12:11:18AM -0700, Joe Perches wrote:
> > On Sun, 2015-05-31 at 15:50 +0900, Greg KH wrote:
> > > On Tue, May 26, 2015 at 05:15:48PM +0530, Nikhil Badola wrote:
> > > > Replace macros with enumerated type to represent usb ip controller
> > > > version
> > > >
> > > > Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx>
> > > > ---
> > > > include/linux/fsl_devices.h | 13 ++++++++-----
> > > > 1 file changed, 8 insertions(+), 5 deletions(-)
> > > >
> > > > diff --git a/include/linux/fsl_devices.h
> > > > b/include/linux/fsl_devices.h
> > []
> > > > +enum fsl_usb2_controller_ver {
> > > > + FSL_USB_VER_OLD = 0,
> > > > + FSL_USB_VER_1_6,
> > > > + FSL_USB_VER_2_2,
> > > > + FSL_USB_VER_2_4,
> > > > + FSL_USB_VER_2_5,
> > > > +};
> > >
> > > Don't you want to change that function that uses these to return the
> > > enumerated type and not an integer?
> > >

I missed that. I will do this change in the next patch version.

> > > Also, I don't think the C standard forces the non-numbered values to
> > > be sequential,
> >
> > Then you haven't read the standard in awhile and you likely forgot.
> >
> > 6.7.2.2
> > If the first enumerator has no =, the value of its enumeration
> > constant is 0. Each subsequent enumerator with no = defines its
> > enumeration constant as the value of the constant expression obtained
> > by adding 1 to the value of the previous enumeration constant.
>
> Ah, you are right, I did forget.
>
> But if you are wanting to use the "numerical" value of these, please be
> explicit when defining it. Otherwise someone might think it was just fine to
> put a new entry in the middle of the list.
>
We are only relying on the controller version to be less (or greater) than a specific version
and we are not using exact "numerical" value. Refer drivers/usb/host/ehci-fsl.c .
In addition, the enum entries defined are specific to controller version i.e 1.6, 2.2, 2.4 and 2.5.
In future if anyone needs to add an entry; supposedly 2.6; he would do so as per the
sequence maintained.

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