usbdebug: Refactor early enable
Always sanity check for EHCI class device and move PCI function power enablement up. Change-Id: I1eebe813fbb420738af2d572178213fc660f392a Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/20826 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
This commit is contained in:
@@ -33,13 +33,17 @@ static struct device_operations ehci_dbg_ops;
|
||||
int ehci_debug_hw_enable(unsigned int *base, unsigned int *dbg_offset)
|
||||
{
|
||||
pci_devfn_t dbg_dev = pci_ehci_dbg_dev(CONFIG_USBDEBUG_HCD_INDEX);
|
||||
pci_ehci_dbg_enable(dbg_dev, CONFIG_EHCI_BAR);
|
||||
|
||||
#ifdef __SIMPLE_DEVICE__
|
||||
pci_devfn_t dev = dbg_dev;
|
||||
#else
|
||||
device_t dev = dev_find_slot(PCI_DEV2SEGBUS(dbg_dev), PCI_DEV2DEVFN(dbg_dev));
|
||||
#endif
|
||||
|
||||
u32 class = pci_read_config32(dev, PCI_CLASS_REVISION) >> 8;
|
||||
if (class != PCI_EHCI_CLASSCODE)
|
||||
return -1;
|
||||
|
||||
u8 pos = pci_find_capability(dev, PCI_CAP_ID_EHCI_DEBUG);
|
||||
if (!pos)
|
||||
return -1;
|
||||
|
Reference in New Issue
Block a user