greybus: interface: clean up bootrom quirk handling
authorJohan Hovold <johan@hovoldconsulting.com>
Fri, 27 May 2016 15:26:23 +0000 (17:26 +0200)
committerGreg Kroah-Hartman <gregkh@google.com>
Fri, 27 May 2016 19:19:29 +0000 (12:19 -0700)
Clean up bootrom quirk handling in preparation for addition of further
flags.

Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/interface.c

index d1e2c45..0f2b591 100644 (file)
@@ -174,6 +174,7 @@ static void gb_interface_route_destroy(struct gb_interface *intf)
 static int gb_interface_read_and_clear_init_status(struct gb_interface *intf)
 {
        struct gb_host_device *hd = intf->hd;
+       unsigned long bootrom_quirks;
        int ret;
        u32 value;
        u16 attr;
@@ -217,16 +218,18 @@ static int gb_interface_read_and_clear_init_status(struct gb_interface *intf)
                init_status = value >> 24;
 
        /*
-        * Check if the interface is executing the quirky ES3 bootrom that
-        * requires E2EFC, CSD and CSV to be disabled.
+        * Check if the interface is executing the quirky ES3 bootrom that,
+        * for example, requires E2EFC, CSD and CSV to be disabled.
         */
+       bootrom_quirks = GB_INTERFACE_QUIRK_NO_CPORT_FEATURES;
+
        switch (init_status) {
        case GB_INIT_BOOTROM_UNIPRO_BOOT_STARTED:
        case GB_INIT_BOOTROM_FALLBACK_UNIPRO_BOOT_STARTED:
-               intf->quirks |= GB_INTERFACE_QUIRK_NO_CPORT_FEATURES;
+               intf->quirks |= bootrom_quirks;
                break;
        default:
-               intf->quirks &= ~GB_INTERFACE_QUIRK_NO_CPORT_FEATURES;
+               intf->quirks &= ~bootrom_quirks;
        }
 
        /* Clear the init status. */