diff options
Diffstat (limited to 'drivers/net/wireless/p54/p54spi.c')
-rw-r--r-- | drivers/net/wireless/p54/p54spi.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/net/wireless/p54/p54spi.c b/drivers/net/wireless/p54/p54spi.c index 087bf0698a5a..6d9204fef90b 100644 --- a/drivers/net/wireless/p54/p54spi.c +++ b/drivers/net/wireless/p54/p54spi.c | |||
@@ -32,11 +32,14 @@ | |||
32 | #include <linux/slab.h> | 32 | #include <linux/slab.h> |
33 | 33 | ||
34 | #include "p54spi.h" | 34 | #include "p54spi.h" |
35 | #include "p54spi_eeprom.h" | ||
36 | #include "p54.h" | 35 | #include "p54.h" |
37 | 36 | ||
38 | #include "lmac.h" | 37 | #include "lmac.h" |
39 | 38 | ||
39 | #ifdef CONFIG_P54_SPI_DEFAULT_EEPROM | ||
40 | #include "p54spi_eeprom.h" | ||
41 | #endif /* CONFIG_P54_SPI_DEFAULT_EEPROM */ | ||
42 | |||
40 | MODULE_FIRMWARE("3826.arm"); | 43 | MODULE_FIRMWARE("3826.arm"); |
41 | MODULE_ALIAS("stlc45xx"); | 44 | MODULE_ALIAS("stlc45xx"); |
42 | 45 | ||
@@ -195,9 +198,13 @@ static int p54spi_request_eeprom(struct ieee80211_hw *dev) | |||
195 | 198 | ||
196 | ret = request_firmware(&eeprom, "3826.eeprom", &priv->spi->dev); | 199 | ret = request_firmware(&eeprom, "3826.eeprom", &priv->spi->dev); |
197 | if (ret < 0) { | 200 | if (ret < 0) { |
201 | #ifdef CONFIG_P54_SPI_DEFAULT_EEPROM | ||
198 | dev_info(&priv->spi->dev, "loading default eeprom...\n"); | 202 | dev_info(&priv->spi->dev, "loading default eeprom...\n"); |
199 | ret = p54_parse_eeprom(dev, (void *) p54spi_eeprom, | 203 | ret = p54_parse_eeprom(dev, (void *) p54spi_eeprom, |
200 | sizeof(p54spi_eeprom)); | 204 | sizeof(p54spi_eeprom)); |
205 | #else | ||
206 | dev_err(&priv->spi->dev, "Failed to request user eeprom\n"); | ||
207 | #endif /* CONFIG_P54_SPI_DEFAULT_EEPROM */ | ||
201 | } else { | 208 | } else { |
202 | dev_info(&priv->spi->dev, "loading user eeprom...\n"); | 209 | dev_info(&priv->spi->dev, "loading user eeprom...\n"); |
203 | ret = p54_parse_eeprom(dev, (void *) eeprom->data, | 210 | ret = p54_parse_eeprom(dev, (void *) eeprom->data, |
@@ -280,7 +287,7 @@ static void p54spi_power_on(struct p54s_priv *priv) | |||
280 | enable_irq(gpio_to_irq(p54spi_gpio_irq)); | 287 | enable_irq(gpio_to_irq(p54spi_gpio_irq)); |
281 | 288 | ||
282 | /* | 289 | /* |
283 | * need to wait a while before device can be accessed, the lenght | 290 | * need to wait a while before device can be accessed, the length |
284 | * is just a guess | 291 | * is just a guess |
285 | */ | 292 | */ |
286 | msleep(10); | 293 | msleep(10); |
@@ -642,8 +649,7 @@ static int __devinit p54spi_probe(struct spi_device *spi) | |||
642 | goto err_free_common; | 649 | goto err_free_common; |
643 | } | 650 | } |
644 | 651 | ||
645 | set_irq_type(gpio_to_irq(p54spi_gpio_irq), | 652 | irq_set_irq_type(gpio_to_irq(p54spi_gpio_irq), IRQ_TYPE_EDGE_RISING); |
646 | IRQ_TYPE_EDGE_RISING); | ||
647 | 653 | ||
648 | disable_irq(gpio_to_irq(p54spi_gpio_irq)); | 654 | disable_irq(gpio_to_irq(p54spi_gpio_irq)); |
649 | 655 | ||