brcm47xx: various fixes and code cleanups for irq code
This is based on a patch send by Nathan Hintz <nlhintz@hotmail.com> SVN-Revision: 34997v19.07.3_mercusys_ac12_duma
parent
ac383f95a5
commit
a105eea1a1
@ -0,0 +1,21 @@
|
||||
--- a/drivers/bcma/driver_mips.c
|
||||
+++ b/drivers/bcma/driver_mips.c
|
||||
@@ -280,8 +280,6 @@ void bcma_core_mips_init(struct bcma_drv
|
||||
|
||||
bcma_core_mips_early_init(mcore);
|
||||
|
||||
- mcore->assigned_irqs = 1;
|
||||
-
|
||||
switch (bus->chipinfo.id) {
|
||||
case BCMA_CHIP_ID_BCM4716:
|
||||
case BCMA_CHIP_ID_BCM4748:
|
||||
--- a/include/linux/bcma/bcma_driver_mips.h
|
||||
+++ b/include/linux/bcma/bcma_driver_mips.h
|
||||
@@ -36,7 +36,6 @@ struct bcma_drv_mips {
|
||||
struct bcma_device *core;
|
||||
u8 setup_done:1;
|
||||
u8 early_setup_done:1;
|
||||
- unsigned int assigned_irqs;
|
||||
};
|
||||
|
||||
#ifdef CONFIG_BCMA_DRIVER_MIPS
|
@ -0,0 +1,24 @@
|
||||
--- a/drivers/bcma/driver_mips.c
|
||||
+++ b/drivers/bcma/driver_mips.c
|
||||
@@ -131,9 +131,9 @@ static void bcma_core_mips_set_irq(struc
|
||||
bcma_read32(mdev, BCMA_MIPS_MIPS74K_INTMASK(0)) |
|
||||
(1 << irqflag));
|
||||
} else {
|
||||
- u32 oldirqflag = bcma_read32(mdev,
|
||||
- BCMA_MIPS_MIPS74K_INTMASK(irq));
|
||||
- if (oldirqflag) {
|
||||
+ u32 irqinitmask = bcma_read32(mdev,
|
||||
+ BCMA_MIPS_MIPS74K_INTMASK(irq));
|
||||
+ if (irqinitmask) {
|
||||
struct bcma_device *core;
|
||||
|
||||
/* backplane irq line is in use, find out who uses
|
||||
@@ -141,7 +141,7 @@ static void bcma_core_mips_set_irq(struc
|
||||
*/
|
||||
list_for_each_entry(core, &bus->cores, list) {
|
||||
if ((1 << bcma_core_mips_irqflag(core)) ==
|
||||
- oldirqflag) {
|
||||
+ irqinitmask) {
|
||||
bcma_core_mips_set_irq(core, 0);
|
||||
break;
|
||||
}
|
Loading…
Reference in New Issue