Răsfoiți Sursa

Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6

Conflicts:

	drivers/pci/dmar.c
David Woodhouse 16 ani în urmă
părinte
comite
b876d08f81
100 a modificat fișierele cu 191 adăugiri și 148 ștergeri
  1. 6 6
      CREDITS
  2. 1 1
      Documentation/DocBook/kernel-hacking.tmpl
  3. 2 4
      Documentation/MSI-HOWTO.txt
  4. 4 0
      Documentation/PCI/pci.txt
  5. 3 8
      Documentation/PCI/pcieaer-howto.txt
  6. 19 12
      Documentation/kernel-parameters.txt
  7. 6 4
      Documentation/markers.txt
  8. 3 2
      Documentation/sysrq.txt
  9. 101 0
      Documentation/tracepoints.txt
  10. 2 3
      Documentation/tracers/mmiotrace.txt
  11. 1 1
      MAINTAINERS
  12. 3 3
      arch/alpha/kernel/sys_sable.c
  13. 2 2
      arch/arm/mach-iop13xx/include/mach/time.h
  14. 2 2
      arch/arm/mach-ixp2000/ixdp2x00.c
  15. 4 4
      arch/arm/mach-omap2/irq.c
  16. 2 2
      arch/arm/mach-pxa/include/mach/zylonite.h
  17. 0 75
      arch/arm/mach-sa1100/include/mach/ide.h
  18. 4 4
      arch/avr32/mach-at32ap/extint.c
  19. 2 10
      arch/ia64/include/asm/pci.h
  20. 6 1
      arch/ia64/pci/pci.c
  21. 1 0
      arch/m32r/kernel/smpboot.c
  22. 2 0
      arch/parisc/Kconfig
  23. 0 0
      arch/parisc/include/asm/Kbuild
  24. 0 0
      arch/parisc/include/asm/agp.h
  25. 0 0
      arch/parisc/include/asm/asmregs.h
  26. 0 0
      arch/parisc/include/asm/assembly.h
  27. 0 0
      arch/parisc/include/asm/atomic.h
  28. 0 0
      arch/parisc/include/asm/auxvec.h
  29. 0 0
      arch/parisc/include/asm/bitops.h
  30. 0 0
      arch/parisc/include/asm/bug.h
  31. 0 0
      arch/parisc/include/asm/bugs.h
  32. 0 0
      arch/parisc/include/asm/byteorder.h
  33. 0 0
      arch/parisc/include/asm/cache.h
  34. 0 0
      arch/parisc/include/asm/cacheflush.h
  35. 0 0
      arch/parisc/include/asm/checksum.h
  36. 0 0
      arch/parisc/include/asm/compat.h
  37. 0 0
      arch/parisc/include/asm/compat_rt_sigframe.h
  38. 0 0
      arch/parisc/include/asm/compat_signal.h
  39. 0 0
      arch/parisc/include/asm/compat_ucontext.h
  40. 0 0
      arch/parisc/include/asm/cputime.h
  41. 0 0
      arch/parisc/include/asm/current.h
  42. 0 0
      arch/parisc/include/asm/delay.h
  43. 0 0
      arch/parisc/include/asm/device.h
  44. 0 0
      arch/parisc/include/asm/div64.h
  45. 0 0
      arch/parisc/include/asm/dma-mapping.h
  46. 0 0
      arch/parisc/include/asm/dma.h
  47. 0 0
      arch/parisc/include/asm/eisa_bus.h
  48. 0 0
      arch/parisc/include/asm/eisa_eeprom.h
  49. 0 0
      arch/parisc/include/asm/elf.h
  50. 0 0
      arch/parisc/include/asm/emergency-restart.h
  51. 0 0
      arch/parisc/include/asm/errno.h
  52. 0 0
      arch/parisc/include/asm/fb.h
  53. 0 0
      arch/parisc/include/asm/fcntl.h
  54. 0 0
      arch/parisc/include/asm/fixmap.h
  55. 0 0
      arch/parisc/include/asm/floppy.h
  56. 0 0
      arch/parisc/include/asm/futex.h
  57. 0 0
      arch/parisc/include/asm/grfioctl.h
  58. 0 0
      arch/parisc/include/asm/hardirq.h
  59. 0 0
      arch/parisc/include/asm/hardware.h
  60. 0 0
      arch/parisc/include/asm/hw_irq.h
  61. 0 4
      arch/parisc/include/asm/ide.h
  62. 0 0
      arch/parisc/include/asm/io.h
  63. 0 0
      arch/parisc/include/asm/ioctl.h
  64. 0 0
      arch/parisc/include/asm/ioctls.h
  65. 0 0
      arch/parisc/include/asm/ipcbuf.h
  66. 0 0
      arch/parisc/include/asm/irq.h
  67. 0 0
      arch/parisc/include/asm/irq_regs.h
  68. 0 0
      arch/parisc/include/asm/kdebug.h
  69. 0 0
      arch/parisc/include/asm/kmap_types.h
  70. 0 0
      arch/parisc/include/asm/led.h
  71. 0 0
      arch/parisc/include/asm/linkage.h
  72. 0 0
      arch/parisc/include/asm/local.h
  73. 0 0
      arch/parisc/include/asm/machdep.h
  74. 0 0
      arch/parisc/include/asm/mc146818rtc.h
  75. 0 0
      arch/parisc/include/asm/mckinley.h
  76. 0 0
      arch/parisc/include/asm/mman.h
  77. 0 0
      arch/parisc/include/asm/mmu.h
  78. 0 0
      arch/parisc/include/asm/mmu_context.h
  79. 0 0
      arch/parisc/include/asm/mmzone.h
  80. 0 0
      arch/parisc/include/asm/module.h
  81. 0 0
      arch/parisc/include/asm/msgbuf.h
  82. 0 0
      arch/parisc/include/asm/mutex.h
  83. 0 0
      arch/parisc/include/asm/page.h
  84. 0 0
      arch/parisc/include/asm/param.h
  85. 0 0
      arch/parisc/include/asm/parisc-device.h
  86. 0 0
      arch/parisc/include/asm/parport.h
  87. 0 0
      arch/parisc/include/asm/pci.h
  88. 5 0
      arch/parisc/include/asm/pdc.h
  89. 0 0
      arch/parisc/include/asm/pdc_chassis.h
  90. 0 0
      arch/parisc/include/asm/pdcpat.h
  91. 0 0
      arch/parisc/include/asm/percpu.h
  92. 0 0
      arch/parisc/include/asm/perf.h
  93. 0 0
      arch/parisc/include/asm/pgalloc.h
  94. 0 0
      arch/parisc/include/asm/pgtable.h
  95. 0 0
      arch/parisc/include/asm/poll.h
  96. 0 0
      arch/parisc/include/asm/posix_types.h
  97. 0 0
      arch/parisc/include/asm/prefetch.h
  98. 0 0
      arch/parisc/include/asm/processor.h
  99. 0 0
      arch/parisc/include/asm/psw.h
  100. 10 0
      arch/parisc/include/asm/ptrace.h

+ 6 - 6
CREDITS

@@ -1653,14 +1653,14 @@ S: Chapel Hill, North Carolina 27514-4818
 S: USA
 
 N: Dave Jones
-E: davej@codemonkey.org.uk
+E: davej@redhat.com
 W: http://www.codemonkey.org.uk
-D: x86 errata/setup maintenance.
-D: AGPGART driver.
+D: Assorted VIA x86 support.
+D: 2.5 AGPGART overhaul.
 D: CPUFREQ maintenance.
-D: Backport/Forwardport merge monkey.
-D: Various Janitor work.
-S: United Kingdom
+D: Fedora kernel maintainence.
+D: Misc/Other.
+S: 314 Littleton Rd, Westford, MA 01886, USA
 
 N: Martin Josfsson
 E: gandalf@wlug.westbo.se

+ 1 - 1
Documentation/DocBook/kernel-hacking.tmpl

@@ -1105,7 +1105,7 @@ static struct block_device_operations opt_fops = {
     </listitem>
     <listitem>
      <para>
-      Function names as strings (__FUNCTION__).
+      Function names as strings (__func__).
      </para>
     </listitem>
     <listitem>

+ 2 - 4
Documentation/MSI-HOWTO.txt

@@ -236,10 +236,8 @@ software system can set different pages for controlling accesses to the
 MSI-X structure. The implementation of MSI support requires the PCI
 subsystem, not a device driver, to maintain full control of the MSI-X
 table/MSI-X PBA (Pending Bit Array) and MMIO address space of the MSI-X
-table/MSI-X PBA.  A device driver is prohibited from requesting the MMIO
-address space of the MSI-X table/MSI-X PBA. Otherwise, the PCI subsystem
-will fail enabling MSI-X on its hardware device when it calls the function
-pci_enable_msix().
+table/MSI-X PBA.  A device driver should not access the MMIO address
+space of the MSI-X table/MSI-X PBA.
 
 5.3.2 API pci_enable_msix
 

+ 4 - 0
Documentation/PCI/pci.txt

@@ -163,6 +163,10 @@ need pass only as many optional fields as necessary:
 	o class and classmask fields default to 0
 	o driver_data defaults to 0UL.
 
+Note that driver_data must match the value used by any of the pci_device_id
+entries defined in the driver. This makes the driver_data field mandatory
+if all the pci_device_id entries have a non-zero driver_data value.
+
 Once added, the driver probe routine will be invoked for any unclaimed
 PCI devices listed in its (newly updated) pci_ids list.
 

+ 3 - 8
Documentation/PCI/pcieaer-howto.txt

@@ -203,22 +203,17 @@ to mmio_enabled.
 
 3.3 helper functions
 
-3.3.1 int pci_find_aer_capability(struct pci_dev *dev);
-pci_find_aer_capability locates the PCI Express AER capability
-in the device configuration space. If the device doesn't support
-PCI-Express AER, the function returns 0.
-
-3.3.2 int pci_enable_pcie_error_reporting(struct pci_dev *dev);
+3.3.1 int pci_enable_pcie_error_reporting(struct pci_dev *dev);
 pci_enable_pcie_error_reporting enables the device to send error
 messages to root port when an error is detected. Note that devices
 don't enable the error reporting by default, so device drivers need
 call this function to enable it.
 
-3.3.3 int pci_disable_pcie_error_reporting(struct pci_dev *dev);
+3.3.2 int pci_disable_pcie_error_reporting(struct pci_dev *dev);
 pci_disable_pcie_error_reporting disables the device to send error
 messages to root port when an error is detected.
 
-3.3.4 int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev);
+3.3.3 int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev);
 pci_cleanup_aer_uncorrect_error_status cleanups the uncorrectable
 error status register.
 

+ 19 - 12
Documentation/kernel-parameters.txt

@@ -101,6 +101,7 @@ parameter is applicable:
 	X86-64	X86-64 architecture is enabled.
 			More X86-64 boot options can be found in
 			Documentation/x86_64/boot-options.txt .
+	X86	Either 32bit or 64bit x86 (same as X86-32+X86-64)
 
 In addition, the following text indicates that the option:
 
@@ -1588,7 +1589,7 @@ and is between 256 and 4096 characters. It is defined in the file
 			See also Documentation/paride.txt.
 
 	pci=option[,option...]	[PCI] various PCI subsystem options:
-		off		[X86-32] don't probe for the PCI bus
+		off		[X86] don't probe for the PCI bus
 		bios		[X86-32] force use of PCI BIOS, don't access
 				the hardware directly. Use this if your machine
 				has a non-standard PCI host bridge.
@@ -1596,9 +1597,9 @@ and is between 256 and 4096 characters. It is defined in the file
 				hardware access methods are allowed. Use this
 				if you experience crashes upon bootup and you
 				suspect they are caused by the BIOS.
-		conf1		[X86-32] Force use of PCI Configuration
+		conf1		[X86] Force use of PCI Configuration
 				Mechanism 1.
-		conf2		[X86-32] Force use of PCI Configuration
+		conf2		[X86] Force use of PCI Configuration
 				Mechanism 2.
 		noaer		[PCIE] If the PCIEAER kernel config parameter is
 				enabled, this kernel boot option can be used to
@@ -1618,37 +1619,37 @@ and is between 256 and 4096 characters. It is defined in the file
 				this option if the kernel is unable to allocate
 				IRQs or discover secondary PCI buses on your
 				motherboard.
-		rom		[X86-32] Assign address space to expansion ROMs.
+		rom		[X86] Assign address space to expansion ROMs.
 				Use with caution as certain devices share
 				address decoders between ROMs and other
 				resources.
-		norom		[X86-32,X86_64] Do not assign address space to
+		norom		[X86] Do not assign address space to
 				expansion ROMs that do not already have
 				BIOS assigned address ranges.
-		irqmask=0xMMMM	[X86-32] Set a bit mask of IRQs allowed to be
+		irqmask=0xMMMM	[X86] Set a bit mask of IRQs allowed to be
 				assigned automatically to PCI devices. You can
 				make the kernel exclude IRQs of your ISA cards
 				this way.
-		pirqaddr=0xAAAAA	[X86-32] Specify the physical address
+		pirqaddr=0xAAAAA	[X86] Specify the physical address
 				of the PIRQ table (normally generated
 				by the BIOS) if it is outside the
 				F0000h-100000h range.
-		lastbus=N	[X86-32] Scan all buses thru bus #N. Can be
+		lastbus=N	[X86] Scan all buses thru bus #N. Can be
 				useful if the kernel is unable to find your
 				secondary buses and you want to tell it
 				explicitly which ones they are.
-		assign-busses	[X86-32] Always assign all PCI bus
+		assign-busses	[X86] Always assign all PCI bus
 				numbers ourselves, overriding
 				whatever the firmware may have done.
-		usepirqmask	[X86-32] Honor the possible IRQ mask stored
+		usepirqmask	[X86] Honor the possible IRQ mask stored
 				in the BIOS $PIR table. This is needed on
 				some systems with broken BIOSes, notably
 				some HP Pavilion N5400 and Omnibook XE3
 				notebooks. This will have no effect if ACPI
 				IRQ routing is enabled.
-		noacpi		[X86-32] Do not use ACPI for IRQ routing
+		noacpi		[X86] Do not use ACPI for IRQ routing
 				or for PCI scanning.
-		use_crs		[X86-32] Use _CRS for PCI resource
+		use_crs		[X86] Use _CRS for PCI resource
 				allocation.
 		routeirq	Do IRQ routing for all PCI devices.
 				This is normally done in pci_enable_device(),
@@ -1677,6 +1678,12 @@ and is between 256 and 4096 characters. It is defined in the file
 				reserved for the CardBus bridge's memory
 				window. The default value is 64 megabytes.
 
+	pcie_aspm=	[PCIE] Forcibly enable or disable PCIe Active State Power
+			Management.
+		off	Disable ASPM.
+		force	Enable ASPM even on devices that claim not to support it.
+			WARNING: Forcing ASPM on may cause system lockups.
+
 	pcmv=		[HW,PCMCIA] BadgePAD 4
 
 	pd.		[PARIDE]

+ 6 - 4
Documentation/markers.txt

@@ -50,10 +50,12 @@ Connecting a function (probe) to a marker is done by providing a probe (function
 to call) for the specific marker through marker_probe_register() and can be
 activated by calling marker_arm(). Marker deactivation can be done by calling
 marker_disarm() as many times as marker_arm() has been called. Removing a probe
-is done through marker_probe_unregister(); it will disarm the probe and make
-sure there is no caller left using the probe when it returns. Probe removal is
-preempt-safe because preemption is disabled around the probe call. See the
-"Probe example" section below for a sample probe module.
+is done through marker_probe_unregister(); it will disarm the probe.
+marker_synchronize_unregister() must be called before the end of the module exit
+function to make sure there is no caller left using the probe. This, and the
+fact that preemption is disabled around the probe call, make sure that probe
+removal and module unload are safe. See the "Probe example" section below for a
+sample probe module.
 
 The marker mechanism supports inserting multiple instances of the same marker.
 Markers can be put in inline functions, inlined static functions, and

+ 3 - 2
Documentation/sysrq.txt

@@ -95,8 +95,9 @@ On all -  write a character to /proc/sysrq-trigger.  e.g.:
 
 'p'     - Will dump the current registers and flags to your console.
 
-'q'     - Will dump a list of all running hrtimers.
-	  WARNING: Does not cover any other timers
+'q'     - Will dump per CPU lists of all armed hrtimers (but NOT regular
+          timer_list timers) and detailed information about all
+          clockevent devices.
 
 'r'     - Turns off keyboard raw mode and sets it to XLATE.
 

+ 101 - 0
Documentation/tracepoints.txt

@@ -0,0 +1,101 @@
+	             Using the Linux Kernel Tracepoints
+
+			    Mathieu Desnoyers
+
+
+This document introduces Linux Kernel Tracepoints and their use. It provides
+examples of how to insert tracepoints in the kernel and connect probe functions
+to them and provides some examples of probe functions.
+
+
+* Purpose of tracepoints
+
+A tracepoint placed in code provides a hook to call a function (probe) that you
+can provide at runtime. A tracepoint can be "on" (a probe is connected to it) or
+"off" (no probe is attached). When a tracepoint is "off" it has no effect,
+except for adding a tiny time penalty (checking a condition for a branch) and
+space penalty (adding a few bytes for the function call at the end of the
+instrumented function and adds a data structure in a separate section).  When a
+tracepoint is "on", the function you provide is called each time the tracepoint
+is executed, in the execution context of the caller. When the function provided
+ends its execution, it returns to the caller (continuing from the tracepoint
+site).
+
+You can put tracepoints at important locations in the code. They are
+lightweight hooks that can pass an arbitrary number of parameters,
+which prototypes are described in a tracepoint declaration placed in a header
+file.
+
+They can be used for tracing and performance accounting.
+
+
+* Usage
+
+Two elements are required for tracepoints :
+
+- A tracepoint definition, placed in a header file.
+- The tracepoint statement, in C code.
+
+In order to use tracepoints, you should include linux/tracepoint.h.
+
+In include/trace/subsys.h :
+
+#include <linux/tracepoint.h>
+
+DEFINE_TRACE(subsys_eventname,
+	TPPTOTO(int firstarg, struct task_struct *p),
+	TPARGS(firstarg, p));
+
+In subsys/file.c (where the tracing statement must be added) :
+
+#include <trace/subsys.h>
+
+void somefct(void)
+{
+	...
+	trace_subsys_eventname(arg, task);
+	...
+}
+
+Where :
+- subsys_eventname is an identifier unique to your event
+    - subsys is the name of your subsystem.
+    - eventname is the name of the event to trace.
+- TPPTOTO(int firstarg, struct task_struct *p) is the prototype of the function
+  called by this tracepoint.
+- TPARGS(firstarg, p) are the parameters names, same as found in the prototype.
+
+Connecting a function (probe) to a tracepoint is done by providing a probe
+(function to call) for the specific tracepoint through
+register_trace_subsys_eventname().  Removing a probe is done through
+unregister_trace_subsys_eventname(); it will remove the probe sure there is no
+caller left using the probe when it returns. Probe removal is preempt-safe
+because preemption is disabled around the probe call. See the "Probe example"
+section below for a sample probe module.
+
+The tracepoint mechanism supports inserting multiple instances of the same
+tracepoint, but a single definition must be made of a given tracepoint name over
+all the kernel to make sure no type conflict will occur. Name mangling of the
+tracepoints is done using the prototypes to make sure typing is correct.
+Verification of probe type correctness is done at the registration site by the
+compiler. Tracepoints can be put in inline functions, inlined static functions,
+and unrolled loops as well as regular functions.
+
+The naming scheme "subsys_event" is suggested here as a convention intended
+to limit collisions. Tracepoint names are global to the kernel: they are
+considered as being the same whether they are in the core kernel image or in
+modules.
+
+
+* Probe / tracepoint example
+
+See the example provided in samples/tracepoints/src
+
+Compile them with your kernel.
+
+Run, as root :
+modprobe tracepoint-example (insmod order is not important)
+modprobe tracepoint-probe-example
+cat /proc/tracepoint-example (returns an expected error)
+rmmod tracepoint-example tracepoint-probe-example
+dmesg

+ 2 - 3
Documentation/tracers/mmiotrace.txt

@@ -36,7 +36,7 @@ $ mount -t debugfs debugfs /debug
 $ echo mmiotrace > /debug/tracing/current_tracer
 $ cat /debug/tracing/trace_pipe > mydump.txt &
 Start X or whatever.
-$ echo "X is up" > /debug/tracing/marker
+$ echo "X is up" > /debug/tracing/trace_marker
 $ echo none > /debug/tracing/current_tracer
 Check for lost events.
 
@@ -59,9 +59,8 @@ The 'cat' process should stay running (sleeping) in the background.
 Load the driver you want to trace and use it. Mmiotrace will only catch MMIO
 accesses to areas that are ioremapped while mmiotrace is active.
 
-[Unimplemented feature:]
 During tracing you can place comments (markers) into the trace by
-$ echo "X is up" > /debug/tracing/marker
+$ echo "X is up" > /debug/tracing/trace_marker
 This makes it easier to see which part of the (huge) trace corresponds to
 which action. It is recommended to place descriptive markers about what you
 do.

+ 1 - 1
MAINTAINERS

@@ -1198,7 +1198,7 @@ S:	Maintained
 
 CPU FREQUENCY DRIVERS
 P:	Dave Jones
-M:	davej@codemonkey.org.uk
+M:	davej@redhat.com
 L:	cpufreq@vger.kernel.org
 W:	http://www.codemonkey.org.uk/projects/cpufreq/
 T:	git kernel.org/pub/scm/linux/kernel/git/davej/cpufreq.git

+ 3 - 3
arch/alpha/kernel/sys_sable.c

@@ -47,7 +47,7 @@ typedef struct irq_swizzle_struct
 
 static irq_swizzle_t *sable_lynx_irq_swizzle;
 
-static void sable_lynx_init_irq(int nr_irqs);
+static void sable_lynx_init_irq(int nr_of_irqs);
 
 #if defined(CONFIG_ALPHA_GENERIC) || defined(CONFIG_ALPHA_SABLE)
 
@@ -530,11 +530,11 @@ sable_lynx_srm_device_interrupt(unsigned long vector)
 }
 
 static void __init
-sable_lynx_init_irq(int nr_irqs)
+sable_lynx_init_irq(int nr_of_irqs)
 {
 	long i;
 
-	for (i = 0; i < nr_irqs; ++i) {
+	for (i = 0; i < nr_of_irqs; ++i) {
 		irq_desc[i].status = IRQ_DISABLED | IRQ_LEVEL;
 		irq_desc[i].chip = &sable_lynx_irq_type;
 	}

+ 2 - 2
arch/arm/mach-iop13xx/include/mach/time.h

@@ -41,7 +41,7 @@ static inline unsigned long iop13xx_core_freq(void)
 		return 1200000000;
 	default:
 		printk("%s: warning unknown frequency, defaulting to 800Mhz\n",
-			__FUNCTION__);
+			__func__);
 	}
 
 	return 800000000;
@@ -60,7 +60,7 @@ static inline unsigned long iop13xx_xsi_bus_ratio(void)
 		return 4;
 	default:
 		printk("%s: warning unknown ratio, defaulting to 2\n",
-			__FUNCTION__);
+			__func__);
 	}
 
 	return 2;

+ 2 - 2
arch/arm/mach-ixp2000/ixdp2x00.c

@@ -143,7 +143,7 @@ static struct irq_chip ixdp2x00_cpld_irq_chip = {
 	.unmask	= ixdp2x00_irq_unmask
 };
 
-void __init ixdp2x00_init_irq(volatile unsigned long *stat_reg, volatile unsigned long *mask_reg, unsigned long nr_irqs)
+void __init ixdp2x00_init_irq(volatile unsigned long *stat_reg, volatile unsigned long *mask_reg, unsigned long nr_of_irqs)
 {
 	unsigned int irq;
 
@@ -154,7 +154,7 @@ void __init ixdp2x00_init_irq(volatile unsigned long *stat_reg, volatile unsigne
 
 	board_irq_stat = stat_reg;
 	board_irq_mask = mask_reg;
-	board_irq_count = nr_irqs;
+	board_irq_count = nr_of_irqs;
 
 	*board_irq_mask = 0xffffffff;
 

+ 4 - 4
arch/arm/mach-omap2/irq.c

@@ -119,7 +119,7 @@ static void __init omap_irq_bank_init_one(struct omap_irq_bank *bank)
 
 void __init omap_init_irq(void)
 {
-	unsigned long nr_irqs = 0;
+	unsigned long nr_of_irqs = 0;
 	unsigned int nr_banks = 0;
 	int i;
 
@@ -133,14 +133,14 @@ void __init omap_init_irq(void)
 
 		omap_irq_bank_init_one(bank);
 
-		nr_irqs += bank->nr_irqs;
+		nr_of_irqs += bank->nr_irqs;
 		nr_banks++;
 	}
 
 	printk(KERN_INFO "Total of %ld interrupts on %d active controller%s\n",
-	       nr_irqs, nr_banks, nr_banks > 1 ? "s" : "");
+	       nr_of_irqs, nr_banks, nr_banks > 1 ? "s" : "");
 
-	for (i = 0; i < nr_irqs; i++) {
+	for (i = 0; i < nr_of_irqs; i++) {
 		set_irq_chip(i, &omap_irq_chip);
 		set_irq_handler(i, handle_level_irq);
 		set_irq_flags(i, IRQF_VALID);

+ 2 - 2
arch/arm/mach-pxa/include/mach/zylonite.h

@@ -30,7 +30,7 @@ extern void zylonite_pxa300_init(void);
 static inline void zylonite_pxa300_init(void)
 {
 	if (cpu_is_pxa300() || cpu_is_pxa310())
-		panic("%s: PXA300/PXA310 not supported\n", __FUNCTION__);
+		panic("%s: PXA300/PXA310 not supported\n", __func__);
 }
 #endif
 
@@ -40,7 +40,7 @@ extern void zylonite_pxa320_init(void);
 static inline void zylonite_pxa320_init(void)
 {
 	if (cpu_is_pxa320())
-		panic("%s: PXA320 not supported\n", __FUNCTION__);
+		panic("%s: PXA320 not supported\n", __func__);
 }
 #endif
 

+ 0 - 75
arch/arm/mach-sa1100/include/mach/ide.h

@@ -1,75 +0,0 @@
-/*
- * arch/arm/mach-sa1100/include/mach/ide.h
- *
- * Copyright (c) 1998 Hugo Fiennes & Nicolas Pitre
- *
- * 18-aug-2000: Cleanup by Erik Mouw (J.A.K.Mouw@its.tudelft.nl)
- *              Get rid of the special ide_init_hwif_ports() functions
- *              and make a generalised function that can be used by all
- *              architectures.
- */
-
-#include <asm/irq.h>
-#include <mach/hardware.h>
-#include <asm/mach-types.h>
-
-#error "This code is broken and needs update to match with current ide support"
-
-
-/*
- * Set up a hw structure for a specified data port, control port and IRQ.
- * This should follow whatever the default interface uses.
- */
-static inline void ide_init_hwif_ports(hw_regs_t *hw, unsigned long data_port,
-				       unsigned long ctrl_port, int *irq)
-{
-	unsigned long reg = data_port;
-	int i;
-	int regincr = 1;
-
-	/* The Empeg board has the first two address lines unused */
-	if (machine_is_empeg())
-		regincr = 1 << 2;
-
-	/* The LART doesn't use A0 for IDE */
-	if (machine_is_lart())
-		regincr = 1 << 1;
-
-	memset(hw, 0, sizeof(*hw));
-
-	for (i = 0; i <= 7; i++) {
-		hw->io_ports_array[i] = reg;
-		reg += regincr;
-	}
-
-	hw->io_ports.ctl_addr = ctrl_port;
-
-	if (irq)
-		*irq = 0;
-}
-
-/*
- * This registers the standard ports for this architecture with the IDE
- * driver.
- */
-static __inline__ void
-ide_init_default_hwifs(void)
-{
-    if (machine_is_lart()) {
-#ifdef CONFIG_SA1100_LART
-        hw_regs_t hw;
-
-        /* Enable GPIO as interrupt line */
-        GPDR &= ~LART_GPIO_IDE;
-	set_irq_type(LART_IRQ_IDE, IRQ_TYPE_EDGE_RISING);
-
-        /* set PCMCIA interface timing */
-        MECR = 0x00060006;
-
-        /* init the interface */
-	ide_init_hwif_ports(&hw, PCMCIA_IO_0_BASE + 0x0000, PCMCIA_IO_0_BASE + 0x1000, NULL);
-        hw.irq = LART_IRQ_IDE;
-        ide_register_hw(&hw);
-#endif
-    }
-}

+ 4 - 4
arch/avr32/mach-at32ap/extint.c

@@ -191,7 +191,7 @@ static int __init eic_probe(struct platform_device *pdev)
 	struct eic *eic;
 	struct resource *regs;
 	unsigned int i;
-	unsigned int nr_irqs;
+	unsigned int nr_of_irqs;
 	unsigned int int_irq;
 	int ret;
 	u32 pattern;
@@ -224,7 +224,7 @@ static int __init eic_probe(struct platform_device *pdev)
 	eic_writel(eic, IDR, ~0UL);
 	eic_writel(eic, MODE, ~0UL);
 	pattern = eic_readl(eic, MODE);
-	nr_irqs = fls(pattern);
+	nr_of_irqs = fls(pattern);
 
 	/* Trigger on low level unless overridden by driver */
 	eic_writel(eic, EDGE, 0UL);
@@ -232,7 +232,7 @@ static int __init eic_probe(struct platform_device *pdev)
 
 	eic->chip = &eic_chip;
 
-	for (i = 0; i < nr_irqs; i++) {
+	for (i = 0; i < nr_of_irqs; i++) {
 		set_irq_chip_and_handler(eic->first_irq + i, &eic_chip,
 					 handle_level_irq);
 		set_irq_chip_data(eic->first_irq + i, eic);
@@ -256,7 +256,7 @@ static int __init eic_probe(struct platform_device *pdev)
 		 eic->regs, int_irq);
 	dev_info(&pdev->dev,
 		 "Handling %u external IRQs, starting with IRQ %u\n",
-		 nr_irqs, eic->first_irq);
+		 nr_of_irqs, eic->first_irq);
 
 	return 0;
 

+ 2 - 10
arch/ia64/include/asm/pci.h

@@ -95,16 +95,8 @@ extern int pci_mmap_page_range (struct pci_dev *dev, struct vm_area_struct *vma,
 				enum pci_mmap_state mmap_state, int write_combine);
 #define HAVE_PCI_LEGACY
 extern int pci_mmap_legacy_page_range(struct pci_bus *bus,
-				      struct vm_area_struct *vma);
-extern ssize_t pci_read_legacy_io(struct kobject *kobj,
-				  struct bin_attribute *bin_attr,
-				  char *buf, loff_t off, size_t count);
-extern ssize_t pci_write_legacy_io(struct kobject *kobj,
-				   struct bin_attribute *bin_attr,
-				   char *buf, loff_t off, size_t count);
-extern int pci_mmap_legacy_mem(struct kobject *kobj,
-			       struct bin_attribute *attr,
-			       struct vm_area_struct *vma);
+				      struct vm_area_struct *vma,
+				      enum pci_mmap_state mmap_state);
 
 #define pci_get_legacy_mem platform_pci_get_legacy_mem
 #define pci_legacy_read platform_pci_legacy_read

+ 6 - 1
arch/ia64/pci/pci.c

@@ -614,12 +614,17 @@ char *ia64_pci_get_legacy_mem(struct pci_bus *bus)
  * vector to get the base address.
  */
 int
-pci_mmap_legacy_page_range(struct pci_bus *bus, struct vm_area_struct *vma)
+pci_mmap_legacy_page_range(struct pci_bus *bus, struct vm_area_struct *vma,
+			   enum pci_mmap_state mmap_state)
 {
 	unsigned long size = vma->vm_end - vma->vm_start;
 	pgprot_t prot;
 	char *addr;
 
+	/* We only support mmap'ing of legacy memory space */
+	if (mmap_state != pci_mmap_mem)
+		return -ENOSYS;
+
 	/*
 	 * Avoid attribute aliasing.  See Documentation/ia64/aliasing.txt
 	 * for more details.

+ 1 - 0
arch/m32r/kernel/smpboot.c

@@ -40,6 +40,7 @@
  */
 
 #include <linux/module.h>
+#include <linux/cpu.h>
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>

+ 2 - 0
arch/parisc/Kconfig

@@ -9,6 +9,8 @@ config PARISC
 	def_bool y
 	select HAVE_IDE
 	select HAVE_OPROFILE
+	select RTC_CLASS
+	select RTC_DRV_PARISC
 	help
 	  The PA-RISC microprocessor is designed by Hewlett-Packard and used
 	  in many of their workstations & servers (HP9000 700 and 800 series,

+ 0 - 0
include/asm-parisc/Kbuild → arch/parisc/include/asm/Kbuild


+ 0 - 0
include/asm-parisc/agp.h → arch/parisc/include/asm/agp.h


+ 0 - 0
include/asm-parisc/asmregs.h → arch/parisc/include/asm/asmregs.h


+ 0 - 0
include/asm-parisc/assembly.h → arch/parisc/include/asm/assembly.h


+ 0 - 0
include/asm-parisc/atomic.h → arch/parisc/include/asm/atomic.h


+ 0 - 0
include/asm-parisc/auxvec.h → arch/parisc/include/asm/auxvec.h


+ 0 - 0
include/asm-parisc/bitops.h → arch/parisc/include/asm/bitops.h


+ 0 - 0
include/asm-parisc/bug.h → arch/parisc/include/asm/bug.h


+ 0 - 0
include/asm-parisc/bugs.h → arch/parisc/include/asm/bugs.h


+ 0 - 0
include/asm-parisc/byteorder.h → arch/parisc/include/asm/byteorder.h


+ 0 - 0
include/asm-parisc/cache.h → arch/parisc/include/asm/cache.h


+ 0 - 0
include/asm-parisc/cacheflush.h → arch/parisc/include/asm/cacheflush.h


+ 0 - 0
include/asm-parisc/checksum.h → arch/parisc/include/asm/checksum.h


+ 0 - 0
include/asm-parisc/compat.h → arch/parisc/include/asm/compat.h


+ 0 - 0
include/asm-parisc/compat_rt_sigframe.h → arch/parisc/include/asm/compat_rt_sigframe.h


+ 0 - 0
include/asm-parisc/compat_signal.h → arch/parisc/include/asm/compat_signal.h


+ 0 - 0
include/asm-parisc/compat_ucontext.h → arch/parisc/include/asm/compat_ucontext.h


+ 0 - 0
include/asm-parisc/cputime.h → arch/parisc/include/asm/cputime.h


+ 0 - 0
include/asm-parisc/current.h → arch/parisc/include/asm/current.h


+ 0 - 0
include/asm-parisc/delay.h → arch/parisc/include/asm/delay.h


+ 0 - 0
include/asm-parisc/device.h → arch/parisc/include/asm/device.h


+ 0 - 0
include/asm-parisc/div64.h → arch/parisc/include/asm/div64.h


+ 0 - 0
include/asm-parisc/dma-mapping.h → arch/parisc/include/asm/dma-mapping.h


+ 0 - 0
include/asm-parisc/dma.h → arch/parisc/include/asm/dma.h


+ 0 - 0
include/asm-parisc/eisa_bus.h → arch/parisc/include/asm/eisa_bus.h


+ 0 - 0
include/asm-parisc/eisa_eeprom.h → arch/parisc/include/asm/eisa_eeprom.h


+ 0 - 0
include/asm-parisc/elf.h → arch/parisc/include/asm/elf.h


+ 0 - 0
include/asm-parisc/emergency-restart.h → arch/parisc/include/asm/emergency-restart.h


+ 0 - 0
include/asm-parisc/errno.h → arch/parisc/include/asm/errno.h


+ 0 - 0
include/asm-parisc/fb.h → arch/parisc/include/asm/fb.h


+ 0 - 0
include/asm-parisc/fcntl.h → arch/parisc/include/asm/fcntl.h


+ 0 - 0
include/asm-parisc/fixmap.h → arch/parisc/include/asm/fixmap.h


+ 0 - 0
include/asm-parisc/floppy.h → arch/parisc/include/asm/floppy.h


+ 0 - 0
include/asm-parisc/futex.h → arch/parisc/include/asm/futex.h


+ 0 - 0
include/asm-parisc/grfioctl.h → arch/parisc/include/asm/grfioctl.h


+ 0 - 0
include/asm-parisc/hardirq.h → arch/parisc/include/asm/hardirq.h


+ 0 - 0
include/asm-parisc/hardware.h → arch/parisc/include/asm/hardware.h


+ 0 - 0
include/asm-parisc/hw_irq.h → arch/parisc/include/asm/hw_irq.h


+ 0 - 4
include/asm-parisc/ide.h → arch/parisc/include/asm/ide.h

@@ -13,10 +13,6 @@
 
 #ifdef __KERNEL__
 
-#define ide_request_irq(irq,hand,flg,dev,id)	request_irq((irq),(hand),(flg),(dev),(id))
-#define ide_free_irq(irq,dev_id)		free_irq((irq), (dev_id))
-#define ide_request_region(from,extent,name)	request_region((from), (extent), (name))
-#define ide_release_region(from,extent)		release_region((from), (extent))
 /* Generic I/O and MEMIO string operations.  */
 
 #define __ide_insw	insw

+ 0 - 0
include/asm-parisc/io.h → arch/parisc/include/asm/io.h


+ 0 - 0
include/asm-parisc/ioctl.h → arch/parisc/include/asm/ioctl.h


+ 0 - 0
include/asm-parisc/ioctls.h → arch/parisc/include/asm/ioctls.h


+ 0 - 0
include/asm-parisc/ipcbuf.h → arch/parisc/include/asm/ipcbuf.h


+ 0 - 0
include/asm-parisc/irq.h → arch/parisc/include/asm/irq.h


+ 0 - 0
include/asm-parisc/irq_regs.h → arch/parisc/include/asm/irq_regs.h


+ 0 - 0
include/asm-parisc/kdebug.h → arch/parisc/include/asm/kdebug.h


+ 0 - 0
include/asm-parisc/kmap_types.h → arch/parisc/include/asm/kmap_types.h


+ 0 - 0
include/asm-parisc/led.h → arch/parisc/include/asm/led.h


+ 0 - 0
include/asm-parisc/linkage.h → arch/parisc/include/asm/linkage.h


+ 0 - 0
include/asm-parisc/local.h → arch/parisc/include/asm/local.h


+ 0 - 0
include/asm-parisc/machdep.h → arch/parisc/include/asm/machdep.h


+ 0 - 0
include/asm-parisc/mc146818rtc.h → arch/parisc/include/asm/mc146818rtc.h


+ 0 - 0
include/asm-parisc/mckinley.h → arch/parisc/include/asm/mckinley.h


+ 0 - 0
include/asm-parisc/mman.h → arch/parisc/include/asm/mman.h


+ 0 - 0
include/asm-parisc/mmu.h → arch/parisc/include/asm/mmu.h


+ 0 - 0
include/asm-parisc/mmu_context.h → arch/parisc/include/asm/mmu_context.h


+ 0 - 0
include/asm-parisc/mmzone.h → arch/parisc/include/asm/mmzone.h


+ 0 - 0
include/asm-parisc/module.h → arch/parisc/include/asm/module.h


+ 0 - 0
include/asm-parisc/msgbuf.h → arch/parisc/include/asm/msgbuf.h


+ 0 - 0
include/asm-parisc/mutex.h → arch/parisc/include/asm/mutex.h


+ 0 - 0
include/asm-parisc/page.h → arch/parisc/include/asm/page.h


+ 0 - 0
include/asm-parisc/param.h → arch/parisc/include/asm/param.h


+ 0 - 0
include/asm-parisc/parisc-device.h → arch/parisc/include/asm/parisc-device.h


+ 0 - 0
include/asm-parisc/parport.h → arch/parisc/include/asm/parport.h


+ 0 - 0
include/asm-parisc/pci.h → arch/parisc/include/asm/pci.h


+ 5 - 0
include/asm-parisc/pdc.h → arch/parisc/include/asm/pdc.h

@@ -332,6 +332,9 @@
 #define BOOT_CONSOLE_SPA_OFFSET  0x3c4
 #define BOOT_CONSOLE_PATH_OFFSET 0x3a8
 
+/* size of the pdc_result buffer for firmware.c */
+#define NUM_PDC_RESULT	32
+
 #if !defined(__ASSEMBLY__)
 #ifdef __KERNEL__
 
@@ -600,6 +603,7 @@ int pdc_chassis_info(struct pdc_chassis_info *chassis_info, void *led_info, unsi
 int pdc_chassis_disp(unsigned long disp);
 int pdc_chassis_warn(unsigned long *warn);
 int pdc_coproc_cfg(struct pdc_coproc_cfg *pdc_coproc_info);
+int pdc_coproc_cfg_unlocked(struct pdc_coproc_cfg *pdc_coproc_info);
 int pdc_iodc_read(unsigned long *actcnt, unsigned long hpa, unsigned int index,
 		  void *iodc_data, unsigned int iodc_data_size);
 int pdc_system_map_find_mods(struct pdc_system_map_mod_info *pdc_mod_info,
@@ -638,6 +642,7 @@ int pdc_mem_mem_table(struct pdc_memory_table_raddr *r_addr,
 #endif
 
 void set_firmware_width(void);
+void set_firmware_width_unlocked(void);
 int pdc_do_firm_test_reset(unsigned long ftc_bitmap);
 int pdc_do_reset(void);
 int pdc_soft_power_info(unsigned long *power_reg);

+ 0 - 0
include/asm-parisc/pdc_chassis.h → arch/parisc/include/asm/pdc_chassis.h


+ 0 - 0
include/asm-parisc/pdcpat.h → arch/parisc/include/asm/pdcpat.h


+ 0 - 0
include/asm-parisc/percpu.h → arch/parisc/include/asm/percpu.h


+ 0 - 0
include/asm-parisc/perf.h → arch/parisc/include/asm/perf.h


+ 0 - 0
include/asm-parisc/pgalloc.h → arch/parisc/include/asm/pgalloc.h


+ 0 - 0
include/asm-parisc/pgtable.h → arch/parisc/include/asm/pgtable.h


+ 0 - 0
include/asm-parisc/poll.h → arch/parisc/include/asm/poll.h


+ 0 - 0
include/asm-parisc/posix_types.h → arch/parisc/include/asm/posix_types.h


+ 0 - 0
include/asm-parisc/prefetch.h → arch/parisc/include/asm/prefetch.h


+ 0 - 0
include/asm-parisc/processor.h → arch/parisc/include/asm/processor.h


+ 0 - 0
include/asm-parisc/psw.h → arch/parisc/include/asm/psw.h


+ 10 - 0
include/asm-parisc/ptrace.h → arch/parisc/include/asm/ptrace.h

@@ -47,6 +47,16 @@ struct pt_regs {
 
 #define task_regs(task) ((struct pt_regs *) ((char *)(task) + TASK_REGS))
 
+#define __ARCH_WANT_COMPAT_SYS_PTRACE
+
+struct task_struct;
+#define arch_has_single_step()	1
+void user_disable_single_step(struct task_struct *task);
+void user_enable_single_step(struct task_struct *task);
+
+#define arch_has_block_step()	1
+void user_enable_block_step(struct task_struct *task);
+
 /* XXX should we use iaoq[1] or iaoq[0] ? */
 #define user_mode(regs)			(((regs)->iaoq[0] & 3) ? 1 : 0)
 #define user_space(regs)		(((regs)->iasq[1] != 0) ? 1 : 0)

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff