• Mario Limonciello's avatar
    platform/x86: dell-*wmi*: Relay failed initial probe to dependent drivers · 868b8d33
    Mario Limonciello authored
    dell-wmi and dell-smbios-wmi are dependent upon dell-wmi-descriptor
    finishing probe successfully to probe themselves.
    
    Currently if dell-wmi-descriptor fails probing in a non-recoverable way
    (such as invalid header) dell-wmi and dell-smbios-wmi will continue to
    try to redo probing due to deferred probing.
    
    To solve this have the dependent drivers query the dell-wmi-descriptor
    driver whether the descriptor has been determined valid. The possible
    results are:
    -ENODEV: Descriptor GUID missing from WMI bus
    -EPROBE_DEFER: Descriptor not yet probed, dependent driver should wait
     and use deferred probing
    < 0: Descriptor probed, invalid.  Dependent driver should return an
     error.
    0: Successful descriptor probe, dependent driver can continue
    
    Successful descriptor probe still doesn't mean that the descriptor driver
    is necessarily bound at the time of initialization of dependent driver.
    Userspace can unbind the driver, so all methods used from driver
    should still be verified to return success values otherwise deferred
    probing be used.
    Signed-off-by: default avatarMario Limonciello <mario.limonciello@dell.com>
    Reviewed-by: default avatarPali Rohár <pali.rohar@gmail.com>
    Signed-off-by: default avatarDarren Hart (VMware) <dvhart@infradead.org>
    868b8d33
dell-wmi.c 18.8 KB