Re: [PATCH] firmware loader: allow disabling of udev as firmware loader

From: Takashi Iwai
Date: Wed Jun 04 2014 - 10:31:56 EST


At Wed, 04 Jun 2014 16:20:16 +0200,
Takashi Iwai wrote:
>
> At Mon, 2 Jun 2014 20:24:34 +0200,
> Tom Gundersen wrote:
> >
> > 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.
> >
> > 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.
>
> The logic of this patch looks good to me, but the Kconfig items become
> confusing by this. Basically what we'd need is a Kconfig item
> deciding whether to build the user helper or not, in addition to a
> Kconfig item for deciding the fallback mode of request_firmware().
>
> What about the patch like below instead? It's smaller and the meaning
> of Kconfig items are clearer. (In the final form, the help text
> change you added should be included there, too.)
>
> The only (and biggest) drawback is, however, that the user-selectable
> Kconfig would be actually renamed from CONFIG_FW_LOADER_USER_HELPER to
> CONFIG_FW_LOADER_USER_HELPER_FALLBACK.

Also, since it's deprecated in the udev upstream, let's drop "default
y", too. (It can be another patch, though.)


Takashi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/