Commit a4b08df4 authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman

greybus: interface: clean up bootrom quirk handling

Clean up bootrom quirk handling in preparation for addition of further
flags.
Reviewed-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarJohan Hovold <johan@hovoldconsulting.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 7aefe791
......@@ -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. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment