diff options
| author | Robert Richter <robert.richter@amd.com> | 2010-10-25 18:28:14 +0400 | 
|---|---|---|
| committer | Robert Richter <robert.richter@amd.com> | 2010-10-25 18:29:12 +0400 | 
| commit | dbd1e66e04558a582e673bc4a9cd933ce0228d93 (patch) | |
| tree | 85f3633276282cde0a3ac558d988704eaa3e68af /kernel/irq/autoprobe.c | |
| parent | 328b8f1ba50b708a1b3c0acd7c41ee1b356822f6 (diff) | |
| parent | 4a60cfa9457749f7987fd4f3c956dbba5a281129 (diff) | |
| download | linux-dbd1e66e04558a582e673bc4a9cd933ce0228d93.tar.xz | |
Merge commit 'linux-2.6/master' (early part) into oprofile/core
This branch depends on these apic patches:
      apic, x86: Use BIOS settings for IBS and MCE threshold interrupt LVT offsets
      apic, x86: Check if EILVT APIC registers are available (AMD only)
Signed-off-by: Robert Richter <robert.richter@amd.com>
Diffstat (limited to 'kernel/irq/autoprobe.c')
| -rw-r--r-- | kernel/irq/autoprobe.c | 15 | 
1 files changed, 8 insertions, 7 deletions
diff --git a/kernel/irq/autoprobe.c b/kernel/irq/autoprobe.c index 2295a31ef110..505798f86c36 100644 --- a/kernel/irq/autoprobe.c +++ b/kernel/irq/autoprobe.c @@ -57,9 +57,10 @@ unsigned long probe_irq_on(void)  			 * Some chips need to know about probing in  			 * progress:  			 */ -			if (desc->chip->set_type) -				desc->chip->set_type(i, IRQ_TYPE_PROBE); -			desc->chip->startup(i); +			if (desc->irq_data.chip->irq_set_type) +				desc->irq_data.chip->irq_set_type(&desc->irq_data, +							 IRQ_TYPE_PROBE); +			desc->irq_data.chip->irq_startup(&desc->irq_data);  		}  		raw_spin_unlock_irq(&desc->lock);  	} @@ -76,7 +77,7 @@ unsigned long probe_irq_on(void)  		raw_spin_lock_irq(&desc->lock);  		if (!desc->action && !(desc->status & IRQ_NOPROBE)) {  			desc->status |= IRQ_AUTODETECT | IRQ_WAITING; -			if (desc->chip->startup(i)) +			if (desc->irq_data.chip->irq_startup(&desc->irq_data))  				desc->status |= IRQ_PENDING;  		}  		raw_spin_unlock_irq(&desc->lock); @@ -98,7 +99,7 @@ unsigned long probe_irq_on(void)  			/* It triggered already - consider it spurious. */  			if (!(status & IRQ_WAITING)) {  				desc->status = status & ~IRQ_AUTODETECT; -				desc->chip->shutdown(i); +				desc->irq_data.chip->irq_shutdown(&desc->irq_data);  			} else  				if (i < 32)  					mask |= 1 << i; @@ -137,7 +138,7 @@ unsigned int probe_irq_mask(unsigned long val)  				mask |= 1 << i;  			desc->status = status & ~IRQ_AUTODETECT; -			desc->chip->shutdown(i); +			desc->irq_data.chip->irq_shutdown(&desc->irq_data);  		}  		raw_spin_unlock_irq(&desc->lock);  	} @@ -181,7 +182,7 @@ int probe_irq_off(unsigned long val)  				nr_of_irqs++;  			}  			desc->status = status & ~IRQ_AUTODETECT; -			desc->chip->shutdown(i); +			desc->irq_data.chip->irq_shutdown(&desc->irq_data);  		}  		raw_spin_unlock_irq(&desc->lock);  	}  | 
