Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d7065c30 authored by Christian Lamparter's avatar Christian Lamparter Committed by John W. Linville
Browse files

p54spi: Kconfig option for config blob



This patch adds an Kconfig option, which allows the user
to select, whenever he/she wants to include a 4k blob for
generic calibration and interface values into the driver,
or cut the module size by about 15 to 20%.

Signed-off-by: default avatarChristian Lamparter <chunkeey@googlemail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent b4c52612
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -49,6 +49,23 @@ config P54_SPI

	  If you choose to build a module, it'll be called p54spi.

config P54_SPI_DEFAULT_EEPROM
	bool "Include fallback EEPROM blob"
	depends on P54_SPI
	default n
	---help---
	 Unlike the PCI or USB devices, the SPI variants don't have
	 a dedicated EEPROM chip to store all device specific values
	 for calibration, country and interface settings.

	 The driver will try to load the image "3826.eeprom", if the
	 file is put at the right place. (usually /lib/firmware.)

	 Only if this request fails, this option will provide a
	 backup set of generic values to get the device working.

	 Enabling this option adds about 4k to p54spi.

config P54_LEDS
	bool
	depends on P54_COMMON && MAC80211_LEDS && (LEDS_CLASS = y || LEDS_CLASS = P54_COMMON)
+6 −1
Original line number Diff line number Diff line
@@ -32,11 +32,14 @@
#include <linux/slab.h>

#include "p54spi.h"
#include "p54spi_eeprom.h"
#include "p54.h"

#include "lmac.h"

#ifdef CONFIG_P54_SPI_DEFAULT_EEPROM
#include "p54spi_eeprom.h"
#endif /* CONFIG_P54_SPI_DEFAULT_EEPROM */

MODULE_FIRMWARE("3826.arm");
MODULE_ALIAS("stlc45xx");

@@ -195,9 +198,11 @@ static int p54spi_request_eeprom(struct ieee80211_hw *dev)

	ret = request_firmware(&eeprom, "3826.eeprom", &priv->spi->dev);
	if (ret < 0) {
#ifdef CONFIG_P54_SPI_DEFAULT_EEPROM
		dev_info(&priv->spi->dev, "loading default eeprom...\n");
		ret = p54_parse_eeprom(dev, (void *) p54spi_eeprom,
				       sizeof(p54spi_eeprom));
#endif /* CONFIG_P54_SPI_DEFAULT_EEPROM */
	} else {
		dev_info(&priv->spi->dev, "loading user eeprom...\n");
		ret = p54_parse_eeprom(dev, (void *) eeprom->data,