Thomas Zimmermann <tzimmerm...@suse.de> writes:

> Test if the firmware framebuffer's parent PCI device, if any, has
> been enabled. If not, the firmware framebuffer is most likely not
> working. Hence, do not create a device for the firmware framebuffer
> on disabled PCI devices.
>
> So far, efifb tracked the status of the PCI parent device internally
> and did not bind if it was disabled. This patch implements the
> functionality for all firmware framebuffers.
>
> Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>
> ---

[...]

>  
> +static __init bool sysfb_pci_dev_is_enabled(struct pci_dev *pdev)
> +{
> +#if defined(CONFIG_PCI)
> +     /*
> +      * TODO: Try to integrate this code into the PCI subsystem
> +      */
> +     int ret;
> +     u16 command;
> +
> +     ret = pci_read_config_word(pdev, PCI_COMMAND, &command);
> +     if (ret != PCIBIOS_SUCCESSFUL)
> +             return false;
> +     if (!(command & PCI_COMMAND_MEMORY))
> +             return false;
> +     return true;
> +#else
> +     // Getting here without PCI support is probably a bug.
> +     return false;

Should we warn before return in this case ?

Reviewed-by: Javier Martinez Canillas <javi...@redhat.com>

-- 
Best regards,

Javier Martinez Canillas
Core Platforms
Red Hat

Reply via email to