diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2014-12-07 21:53:20 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2014-12-07 21:53:20 +0000 |
commit | d9bb8326fa2cb6f964a6dcdf841e2e9551ee7899 (patch) | |
tree | ded871d0ae0a461cb985370b267b456ab6851c82 /target/linux/bcm53xx/patches-3.18/420-mtd-bcm5301x_nand.patch | |
parent | 7a65768ddca031ec9d450366881c5958a687a996 (diff) | |
download | upstream-d9bb8326fa2cb6f964a6dcdf841e2e9551ee7899.tar.gz upstream-d9bb8326fa2cb6f964a6dcdf841e2e9551ee7899.tar.bz2 upstream-d9bb8326fa2cb6f964a6dcdf841e2e9551ee7899.zip |
kernel: update bcma and ssb to wireless-testing master-2014-12-05
This brings ssb and bcma to wireless-testing tag master-2014-12-05
In addition it also adds the ARM-BCM5301X-Add-IRQs-to-Broadcom-s-bus-
axi-in-DTS-f.patch which adds the irq number in a way it is done in the
mainline kernel.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 43544
Diffstat (limited to 'target/linux/bcm53xx/patches-3.18/420-mtd-bcm5301x_nand.patch')
-rw-r--r-- | target/linux/bcm53xx/patches-3.18/420-mtd-bcm5301x_nand.patch | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/target/linux/bcm53xx/patches-3.18/420-mtd-bcm5301x_nand.patch b/target/linux/bcm53xx/patches-3.18/420-mtd-bcm5301x_nand.patch index 0b549f842c..d51ce04962 100644 --- a/target/linux/bcm53xx/patches-3.18/420-mtd-bcm5301x_nand.patch +++ b/target/linux/bcm53xx/patches-3.18/420-mtd-bcm5301x_nand.patch @@ -22,7 +22,7 @@ nand-objs := nand_base.o nand_bbt.o nand_timings.o --- /dev/null +++ b/drivers/mtd/nand/bcm_nand.c -@@ -0,0 +1,1591 @@ +@@ -0,0 +1,1590 @@ +/* + * Nortstar NAND controller driver + * for Linux NAND library and MTD interface @@ -1527,15 +1527,9 @@ +static int bcmnand_probe(struct bcma_device *core) +{ + struct device *dev = &core->dev; -+ struct device_node *np = dev->of_node; + struct bcmnand_ctrl *ctrl; + int res, i, irq; + -+ if (!np) { -+ pr_err("%s: no device tree node found\n", DRV_NAME); -+ return -ENOENT; -+ } -+ + ctrl = devm_kzalloc(dev, sizeof(*ctrl), GFP_KERNEL); + if (!ctrl) + return -ENOMEM; @@ -1546,8 +1540,13 @@ + ctrl->core = core; + + /* Acquire all interrupt lines */ -+ for (i = 0; i < of_irq_count(np); i++) { -+ irq = irq_of_parse_and_map(np, i); ++ for (i = 0; i < NANDC_IRQ_NUM; i++) { ++ irq = bcma_core_irq(core, i); ++ if (!irq) { ++ pr_err("%s: IRQ no available irq: %i (idx: %i)\n", ++ DRV_NAME, irq, i); ++ return res; ++ } + res = devm_request_irq(dev, irq, bcmnand_isr, 0, DRV_NAME, ctrl); + if (res < 0) { + pr_err("%s: problem requesting irq: %i (idx: %i)\n", |