Re: [PATCH] firmware_loader: change enum fw_opt to u32

From: Scott Branden
Date: Fri May 22 2020 - 18:49:20 EST


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?

Luis