On Fri, May 22, 2020 at 03:49:05PM -0700, Scott Branden wrote: > Hi Luis, > > On 2020-05-22 3:45 p.m., Luis Chamberlain wrote: > > On Fri, May 22, 2020 at 02:46:58PM -0700, Scott Branden wrote: > > > /** > > > - * enum fw_opt - options to control firmware loading behaviour > > > + * fw_opt - options to control firmware loading behaviour > > > * > > > * @FW_OPT_UEVENT: Enables the fallback mechanism to send a kobject uevent > > > * when the firmware is not found. Userspace is in charge to load the > > > @@ -33,15 +33,13 @@ > > > * the platform's main firmware. If both this fallback and the sysfs > > > * fallback are enabled, then this fallback will be tried first. > > > */ > > > -enum fw_opt { > > > - FW_OPT_UEVENT = BIT(0), > > > - FW_OPT_NOWAIT = BIT(1), > > > - FW_OPT_USERHELPER = BIT(2), > > > - FW_OPT_NO_WARN = BIT(3), > > > - FW_OPT_NOCACHE = BIT(4), > > > - FW_OPT_NOFALLBACK_SYSFS = BIT(5), > > > - FW_OPT_FALLBACK_PLATFORM = BIT(6), > > > -}; > > > +#define FW_OPT_UEVENT BIT(0) > > > +#define FW_OPT_NOWAIT BIT(1) > > > +#define FW_OPT_USERHELPER BIT(2) > > > +#define FW_OPT_NO_WARN BIT(3) > > > +#define FW_OPT_NOCACHE BIT(4) > > > +#define FW_OPT_NOFALLBACK_SYSFS BIT(5) > > > +#define FW_OPT_FALLBACK_PLATFORM BIT(6) > > Everything looked good up to here. The enum defines each flag. > > We just want to use an enum for *one* flag represetnation, not > > a bundle. > > I do not know exactly what you are looking for then. The FW_OPT_* > values are OR'd together in the code. You still want the fw_opt enum > above left in place entirely and then the values used in OR'd > together? Yes, exactly. If they are combined then we just use a u32 to represent these are then flags combined. An enum represents just *one* flag, not a set which are OR'd together. Let me know if this is still not clear. Luis