greybus: interface: clean up bootrom quirk handling

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>
This commit is contained in:
Johan Hovold 2016-05-27 17:26:23 +02:00 committed by Greg Kroah-Hartman
parent 7aefe7918f
commit a4b08df4e0
1 changed files with 7 additions and 4 deletions

View 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. */