• T
    firmware loader: allow disabling of udev as firmware loader · 5a1379e8
    Takashi Iwai 提交于
    [The patch was originally proposed by Tom Gundersen, and rewritten
     afterwards by me; most of changelogs below borrowed from Tom's
     original patch -- tiwai]
    
    Currently (at least) the dell-rbu driver selects FW_LOADER_USER_HELPER,
    which means that distros can't really stop loading firmware through
    udev without breaking other users (though some have).
    
    Ideally we would remove/disable the udev firmware helper in both the
    kernel and in udev, but if we were to disable it in udev and not the
    kernel, the result would be (seemingly) hung kernels as no one would
    be around to cancel firmware requests.
    
    This patch allows udev firmware loading to be disabled while still
    allowing non-udev firmware loading, as done by the dell-rbu driver, to
    continue working. This is achieved by only using the fallback
    mechanism when the uevent is suppressed.
    
    The patch renames the user-selectable Kconfig from FW_LOADER_USER_HELPER
    to FW_LOADER_USER_HELPER_FALLBACK, and the former is reverse-selected
    by the latter or the drivers that need userhelper like dell-rbu.
    
    Also, the "default y" is removed together with this change, since it's
    been deprecated in udev upstream, thus rather better to disable it
    nowadays.
    
    Tested with
        FW_LOADER_USER_HELPER=n
        LATTICE_ECP3_CONFIG=y
        DELL_RBU=y
    and udev without the firmware loading support, but I don't have the
    hardware to test the lattice/dell drivers, so additional testing would
    be appreciated.
    Reviewed-by: NTom Gundersen <teg@jklm.no>
    Cc: Ming Lei <ming.lei@canonical.com>
    Cc: Abhay Salunke <Abhay_Salunke@dell.com>
    Cc: Stefan Roese <sr@denx.de>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Kay Sievers <kay@vrfy.org>
    Tested-by: NBalaji Singh <B_B_Singh@DELL.com>
    Signed-off-by: NTakashi Iwai <tiwai@suse.de>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    5a1379e8
firmware.h 2.0 KB