Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1567921

Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for loading NVS calibration data

From Kalle Valo <kvalo@codeaurora.org>
Newsgroups linux.kernel
Subject Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for loading NVS calibration data
Date 2017-01-27 08:50 +0100
Message-ID <t49sd-1kd-3@gated-at.bofh.it> (permalink)
References <sRXPQ-Xz-5@gated-at.bofh.it> <sRXPQ-Xz-15@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Pali Rohár <pali.rohar@gmail.com> writes:

> NVS calibration data for wl1251 are model specific. Every one device with
> wl1251 chip has different and calibrated in factory.
>
> Not all wl1251 chips have own EEPROM where are calibration data stored. And
> in that case there is no "standard" place. Every device has stored them on
> different place (some in rootfs file, some in dedicated nand partition,
> some in another proprietary structure).
>
> Kernel wl1251 driver cannot support every one different storage decided by
> device manufacture so it will use request_firmware_prefer_user() call for
> loading NVS calibration data and userspace helper will be responsible to
> prepare correct data.
>
> In case userspace helper fails request_firmware_prefer_user() still try to
> load data file directly from VFS as fallback mechanism.
>
> On Nokia N900 device which has wl1251 chip, NVS calibration data are stored
> in CAL nand partition. CAL is proprietary Nokia key/value format for nand
> devices.
>
> With this patch it is finally possible to load correct model specific NVS
> calibration data for Nokia N900.
>
> Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
> ---
>  drivers/net/wireless/ti/wl1251/Kconfig |    1 +
>  drivers/net/wireless/ti/wl1251/main.c  |    2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ti/wl1251/Kconfig b/drivers/net/wireless/ti/wl1251/Kconfig
> index 7142ccf..affe154 100644
> --- a/drivers/net/wireless/ti/wl1251/Kconfig
> +++ b/drivers/net/wireless/ti/wl1251/Kconfig
> @@ -2,6 +2,7 @@ config WL1251
>  	tristate "TI wl1251 driver support"
>  	depends on MAC80211
>  	select FW_LOADER
> +	select FW_LOADER_USER_HELPER
>  	select CRC7
>  	---help---
>  	  This will enable TI wl1251 driver support. The drivers make
> diff --git a/drivers/net/wireless/ti/wl1251/main.c b/drivers/net/wireless/ti/wl1251/main.c
> index 208f062..24f8866 100644
> --- a/drivers/net/wireless/ti/wl1251/main.c
> +++ b/drivers/net/wireless/ti/wl1251/main.c
> @@ -110,7 +110,7 @@ static int wl1251_fetch_nvs(struct wl1251 *wl)
>  	struct device *dev = wiphy_dev(wl->hw->wiphy);
>  	int ret;
>  
> -	ret = request_firmware(&fw, WL1251_NVS_NAME, dev);
> +	ret = request_firmware_prefer_user(&fw, WL1251_NVS_NAME, dev);

I don't see the need for this. Just remove the default nvs file from
filesystem and the fallback user helper will be always used, right?

Like we discussed earlier, the default nvs file should not be used by
normal users.

-- 
Kalle Valo

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for loading NVS calibration data Kalle Valo <kvalo@codeaurora.org> - 2017-01-27 08:50 +0100
  Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for  loading NVS calibration data Pali Rohár <pali.rohar@gmail.com> - 2017-01-27 10:50 +0100
    Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for  loading NVS calibration data Arend Van Spriel <arend.vanspriel@broadcom.com> - 2017-01-27 11:20 +0100
      Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for  loading NVS calibration data Pali Rohár <pali.rohar@gmail.com> - 2017-01-27 11:20 +0100
        Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for  loading NVS calibration data Arend Van Spriel <arend.vanspriel@broadcom.com> - 2017-01-27 11:30 +0100
          Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for  loading NVS calibration data Pali Rohár <pali.rohar@gmail.com> - 2017-01-27 12:00 +0100
            Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for loading NVS calibration data Kalle Valo <kvalo@codeaurora.org> - 2017-01-27 12:50 +0100
              Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for  loading NVS calibration data Pali Rohár <pali.rohar@gmail.com> - 2017-01-27 13:00 +0100
                Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for loading NVS calibration data Kalle Valo <kvalo@codeaurora.org> - 2017-01-27 13:40 +0100
                Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for  loading NVS calibration data Arend Van Spriel <arend.vanspriel@broadcom.com> - 2017-01-27 14:00 +0100
                Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for  loading NVS calibration data Pali Rohár <pali.rohar@gmail.com> - 2017-01-27 14:20 +0100
                Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for  loading NVS calibration data Pali Rohár <pali.rohar@gmail.com> - 2017-01-27 14:20 +0100
                Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for loading NVS calibration data Kalle Valo <kvalo@codeaurora.org> - 2017-01-27 16:30 +0100
                Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for  loading NVS calibration data Pali Rohár <pali.rohar@gmail.com> - 2017-01-27 17:00 +0100
                Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for  loading NVS calibration data Pavel Machek <pavel@ucw.cz> - 2017-01-27 20:50 +0100
                Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for  loading NVS calibration data Tony Lindgren <tony@atomide.com> - 2017-01-30 19:00 +0100
                Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for loading NVS calibration data Pali Rohár <pali.rohar@gmail.com> - 2017-01-30 19:10 +0100
                Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for  loading NVS calibration data "Luis R. Rodriguez" <mcgrof@kernel.org> - 2017-01-29 18:30 +0100
        Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for  loading NVS calibration data Pavel Machek <pavel@ucw.cz> - 2017-01-27 13:10 +0100
  Re: [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for  loading NVS calibration data Arend Van Spriel <arend.vanspriel@broadcom.com> - 2017-01-27 21:40 +0100

csiph-web