Browse Source

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

Conflicts:

	include/asm-arm/arch-omap/onenand.h
David Woodhouse 17 years ago
parent
commit
742c52533b
100 changed files with 791 additions and 366 deletions
  1. 0 2
      Documentation/00-INDEX
  2. 1 1
      Documentation/DocBook/Makefile
  3. 18 0
      Documentation/DocBook/kgdb.tmpl
  4. 4 4
      Documentation/DocBook/s390-drivers.tmpl
  5. 105 0
      Documentation/DocBook/sh.tmpl
  6. 1 1
      Documentation/DocBook/videobook.tmpl
  7. 12 26
      Documentation/DocBook/z8530book.tmpl
  8. 1 1
      Documentation/arm/IXP4xx
  9. 1 1
      Documentation/arm/Interrupts
  10. 2 2
      Documentation/arm/README
  11. 4 4
      Documentation/arm/Samsung-S3C24XX/GPIO.txt
  12. 1 1
      Documentation/arm/Samsung-S3C24XX/Overview.txt
  13. 1 1
      Documentation/arm/Samsung-S3C24XX/USB-Host.txt
  14. 6 15
      Documentation/cciss.txt
  15. 0 133
      Documentation/cli-sti-removal.txt
  16. 0 13
      Documentation/feature-removal-schedule.txt
  17. 14 3
      Documentation/filesystems/configfs/configfs.txt
  18. 9 9
      Documentation/filesystems/configfs/configfs_example_explicit.c
  19. 448 0
      Documentation/filesystems/configfs/configfs_example_macros.c
  20. 1 0
      Documentation/ftrace.txt
  21. 41 16
      Documentation/hwmon/dme1737
  22. 7 6
      Documentation/hwmon/it87
  23. 4 7
      Documentation/hwmon/lm85
  24. 0 4
      Documentation/hwmon/w83627hf
  25. 3 3
      Documentation/hwmon/w83791d
  26. 6 1
      Documentation/power/pm_qos_interface.txt
  27. 2 2
      Documentation/powerpc/booting-without-of.txt
  28. 1 1
      Documentation/powerpc/eeh-pci-error-recovery.txt
  29. 2 2
      Documentation/spi/pxa2xx
  30. 2 2
      Documentation/spi/spi-summary
  31. 1 0
      Documentation/video4linux/gspca.txt
  32. 22 12
      MAINTAINERS
  33. 5 5
      Makefile
  34. 19 35
      arch/arm/Makefile
  35. 0 3
      arch/arm/boot/compressed/Makefile
  36. 0 1
      arch/arm/boot/compressed/head-xscale.S
  37. 1 1
      arch/arm/boot/compressed/head.S
  38. 1 1
      arch/arm/boot/compressed/misc.c
  39. 1 1
      arch/arm/common/locomo.c
  40. 1 1
      arch/arm/common/sa1111.c
  41. 5 6
      arch/arm/common/sharpsl_pm.c
  42. 1 1
      arch/arm/common/time-acorn.c
  43. 1 2
      arch/arm/common/uengine.c
  44. 0 0
      arch/arm/include/asm/Kbuild
  45. 0 0
      arch/arm/include/asm/a.out-core.h
  46. 0 0
      arch/arm/include/asm/a.out.h
  47. 1 1
      arch/arm/include/asm/assembler.h
  48. 1 1
      arch/arm/include/asm/atomic.h
  49. 0 0
      arch/arm/include/asm/auxvec.h
  50. 0 0
      arch/arm/include/asm/bitops.h
  51. 0 0
      arch/arm/include/asm/bug.h
  52. 1 1
      arch/arm/include/asm/bugs.h
  53. 1 1
      arch/arm/include/asm/byteorder.h
  54. 1 1
      arch/arm/include/asm/cache.h
  55. 1 1
      arch/arm/include/asm/cacheflush.h
  56. 1 1
      arch/arm/include/asm/checksum.h
  57. 0 0
      arch/arm/include/asm/cnt32_to_63.h
  58. 1 1
      arch/arm/include/asm/cpu-multi32.h
  59. 1 1
      arch/arm/include/asm/cpu-single.h
  60. 1 1
      arch/arm/include/asm/cpu.h
  61. 0 0
      arch/arm/include/asm/cputime.h
  62. 0 0
      arch/arm/include/asm/current.h
  63. 0 0
      arch/arm/include/asm/delay.h
  64. 0 0
      arch/arm/include/asm/device.h
  65. 0 0
      arch/arm/include/asm/div64.h
  66. 0 0
      arch/arm/include/asm/dma-mapping.h
  67. 1 1
      arch/arm/include/asm/dma.h
  68. 1 1
      arch/arm/include/asm/domain.h
  69. 1 1
      arch/arm/include/asm/ecard.h
  70. 0 0
      arch/arm/include/asm/elf.h
  71. 0 0
      arch/arm/include/asm/emergency-restart.h
  72. 0 0
      arch/arm/include/asm/errno.h
  73. 0 0
      arch/arm/include/asm/fb.h
  74. 0 0
      arch/arm/include/asm/fcntl.h
  75. 1 1
      arch/arm/include/asm/fiq.h
  76. 1 1
      arch/arm/include/asm/flat.h
  77. 2 2
      arch/arm/include/asm/floppy.h
  78. 1 1
      arch/arm/include/asm/fpstate.h
  79. 0 0
      arch/arm/include/asm/ftrace.h
  80. 0 0
      arch/arm/include/asm/futex.h
  81. 1 1
      arch/arm/include/asm/glue.h
  82. 1 1
      arch/arm/include/asm/gpio.h
  83. 0 0
      arch/arm/include/asm/hardirq.h
  84. 0 0
      arch/arm/include/asm/hardware/arm_timer.h
  85. 0 0
      arch/arm/include/asm/hardware/arm_twd.h
  86. 1 1
      arch/arm/include/asm/hardware/cache-l2x0.h
  87. 1 1
      arch/arm/include/asm/hardware/clps7111.h
  88. 1 1
      arch/arm/include/asm/hardware/cs89712.h
  89. 1 1
      arch/arm/include/asm/hardware/debug-8250.S
  90. 1 1
      arch/arm/include/asm/hardware/debug-pl01x.S
  91. 2 2
      arch/arm/include/asm/hardware/dec21285.h
  92. 1 1
      arch/arm/include/asm/hardware/entry-macro-iomd.S
  93. 1 1
      arch/arm/include/asm/hardware/ep7211.h
  94. 1 1
      arch/arm/include/asm/hardware/ep7212.h
  95. 1 1
      arch/arm/include/asm/hardware/gic.h
  96. 1 1
      arch/arm/include/asm/hardware/icst307.h
  97. 1 1
      arch/arm/include/asm/hardware/icst525.h
  98. 1 1
      arch/arm/include/asm/hardware/ioc.h
  99. 1 1
      arch/arm/include/asm/hardware/iomd.h
  100. 1 1
      arch/arm/include/asm/hardware/iop3xx-adma.h

+ 0 - 2
Documentation/00-INDEX

@@ -89,8 +89,6 @@ cciss.txt
 	- info, major/minor #'s for Compaq's SMART Array Controllers.
 	- info, major/minor #'s for Compaq's SMART Array Controllers.
 cdrom/
 cdrom/
 	- directory with information on the CD-ROM drivers that Linux has.
 	- directory with information on the CD-ROM drivers that Linux has.
-cli-sti-removal.txt
-	- cli()/sti() removal guide.
 computone.txt
 computone.txt
 	- info on Computone Intelliport II/Plus Multiport Serial Driver.
 	- info on Computone Intelliport II/Plus Multiport Serial Driver.
 connector/
 connector/

+ 1 - 1
Documentation/DocBook/Makefile

@@ -12,7 +12,7 @@ DOCBOOKS := wanbook.xml z8530book.xml mcabook.xml videobook.xml \
 	    kernel-api.xml filesystems.xml lsm.xml usb.xml kgdb.xml \
 	    kernel-api.xml filesystems.xml lsm.xml usb.xml kgdb.xml \
 	    gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \
 	    gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \
 	    genericirq.xml s390-drivers.xml uio-howto.xml scsi.xml \
 	    genericirq.xml s390-drivers.xml uio-howto.xml scsi.xml \
-	    mac80211.xml debugobjects.xml
+	    mac80211.xml debugobjects.xml sh.xml
 
 
 ###
 ###
 # The build process is as follows (targets):
 # The build process is as follows (targets):

+ 18 - 0
Documentation/DocBook/kgdb.tmpl

@@ -98,6 +98,24 @@
     "Kernel debugging" select "KGDB: kernel debugging with remote gdb".
     "Kernel debugging" select "KGDB: kernel debugging with remote gdb".
     </para>
     </para>
     <para>
     <para>
+    It is advised, but not required that you turn on the
+    CONFIG_FRAME_POINTER kernel option.  This option inserts code to
+    into the compiled executable which saves the frame information in
+    registers or on the stack at different points which will allow a
+    debugger such as gdb to more accurately construct stack back traces
+    while debugging the kernel.
+    </para>
+    <para>
+    If the architecture that you are using supports the kernel option
+    CONFIG_DEBUG_RODATA, you should consider turning it off.  This
+    option will prevent the use of software breakpoints because it
+    marks certain regions of the kernel's memory space as read-only.
+    If kgdb supports it for the architecture you are using, you can
+    use hardware breakpoints if you desire to run with the
+    CONFIG_DEBUG_RODATA option turned on, else you need to turn off
+    this option.
+    </para>
+    <para>
     Next you should choose one of more I/O drivers to interconnect debugging
     Next you should choose one of more I/O drivers to interconnect debugging
     host and debugged target.  Early boot debugging requires a KGDB
     host and debugged target.  Early boot debugging requires a KGDB
     I/O driver that supports early debugging and the driver must be
     I/O driver that supports early debugging and the driver must be

+ 4 - 4
Documentation/DocBook/s390-drivers.tmpl

@@ -100,7 +100,7 @@
       the hardware structures represented here, please consult the Principles
       the hardware structures represented here, please consult the Principles
       of Operation.
       of Operation.
     </para>
     </para>
-!Iinclude/asm-s390/cio.h
+!Iarch/s390/include/asm/cio.h
     </sect1>
     </sect1>
     <sect1 id="ccwdev">
     <sect1 id="ccwdev">
      <title>ccw devices</title>
      <title>ccw devices</title>
@@ -114,7 +114,7 @@
       ccw device structure. Device drivers must not bypass those functions
       ccw device structure. Device drivers must not bypass those functions
       or strange side effects may happen.
       or strange side effects may happen.
     </para>
     </para>
-!Iinclude/asm-s390/ccwdev.h
+!Iarch/s390/include/asm/ccwdev.h
 !Edrivers/s390/cio/device.c
 !Edrivers/s390/cio/device.c
 !Edrivers/s390/cio/device_ops.c
 !Edrivers/s390/cio/device_ops.c
     </sect1>
     </sect1>
@@ -125,7 +125,7 @@
 	measurement data which is made available by the channel subsystem
 	measurement data which is made available by the channel subsystem
 	for each channel attached device.
 	for each channel attached device.
   </para>
   </para>
-!Iinclude/asm-s390/cmb.h
+!Iarch/s390/include/asm/cmb.h
 !Edrivers/s390/cio/cmf.c
 !Edrivers/s390/cio/cmf.c
     </sect1>
     </sect1>
   </chapter>
   </chapter>
@@ -142,7 +142,7 @@
   </para>
   </para>
    <sect1 id="ccwgroupdevices">
    <sect1 id="ccwgroupdevices">
     <title>ccw group devices</title>
     <title>ccw group devices</title>
-!Iinclude/asm-s390/ccwgroup.h
+!Iarch/s390/include/asm/ccwgroup.h
 !Edrivers/s390/cio/ccwgroup.c
 !Edrivers/s390/cio/ccwgroup.c
    </sect1>
    </sect1>
   </chapter>
   </chapter>

+ 105 - 0
Documentation/DocBook/sh.tmpl

@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+	"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
+
+<book id="sh-drivers">
+ <bookinfo>
+  <title>SuperH Interfaces Guide</title>
+  
+  <authorgroup>
+   <author>
+    <firstname>Paul</firstname>
+    <surname>Mundt</surname>
+    <affiliation>
+     <address>
+      <email>lethal@linux-sh.org</email>
+     </address>
+    </affiliation>
+   </author>
+  </authorgroup>
+
+  <copyright>
+   <year>2008</year>
+   <holder>Paul Mundt</holder>
+  </copyright>
+  <copyright>
+   <year>2008</year>
+   <holder>Renesas Technology Corp.</holder>
+  </copyright>
+
+  <legalnotice>
+   <para>
+     This documentation is free software; you can redistribute
+     it and/or modify it under the terms of the GNU General Public
+     License version 2 as published by the Free Software Foundation.
+   </para>
+      
+   <para>
+     This program is distributed in the hope that it will be
+     useful, but WITHOUT ANY WARRANTY; without even the implied
+     warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+     See the GNU General Public License for more details.
+   </para>
+      
+   <para>
+     You should have received a copy of the GNU General Public
+     License along with this program; if not, write to the Free
+     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+     MA 02111-1307 USA
+   </para>
+      
+   <para>
+     For more details see the file COPYING in the source
+     distribution of Linux.
+   </para>
+  </legalnotice>
+ </bookinfo>
+
+<toc></toc>
+
+  <chapter id="mm">
+    <title>Memory Management</title>
+    <sect1 id="sh4">
+    <title>SH-4</title>
+      <sect2 id="sq">
+        <title>Store Queue API</title>
+!Earch/sh/kernel/cpu/sh4/sq.c
+      </sect2>
+    </sect1>
+    <sect1 id="sh5">
+      <title>SH-5</title>
+      <sect2 id="tlb">
+	<title>TLB Interfaces</title>
+!Iarch/sh/mm/tlb-sh5.c
+!Iarch/sh/include/asm/tlb_64.h
+      </sect2>
+    </sect1>
+  </chapter>
+  <chapter id="clk">
+    <title>Clock Framework Extensions</title>
+!Iarch/sh/include/asm/clock.h
+  </chapter>
+  <chapter id="mach">
+    <title>Machine Specific Interfaces</title>
+    <sect1 id="dreamcast">
+      <title>mach-dreamcast</title>
+!Iarch/sh/boards/mach-dreamcast/rtc.c
+    </sect1>
+    <sect1 id="x3proto">
+      <title>mach-x3proto</title>
+!Earch/sh/boards/mach-x3proto/ilsel.c
+    </sect1>
+  </chapter>
+  <chapter id="busses">
+    <title>Busses</title>
+    <sect1 id="superhyway">
+      <title>SuperHyway</title>
+!Edrivers/sh/superhyway/superhyway.c
+    </sect1>
+
+    <sect1 id="maple">
+      <title>Maple</title>
+!Edrivers/sh/maple/maple.c
+    </sect1>
+  </chapter>
+</book>

+ 1 - 1
Documentation/DocBook/videobook.tmpl

@@ -1648,7 +1648,7 @@ static struct video_buffer capture_fb;
 
 
   <chapter id="pubfunctions">
   <chapter id="pubfunctions">
      <title>Public Functions Provided</title>
      <title>Public Functions Provided</title>
-!Edrivers/media/video/videodev.c
+!Edrivers/media/video/v4l2-dev.c
   </chapter>
   </chapter>
 
 
 </book>
 </book>

+ 12 - 26
Documentation/DocBook/z8530book.tmpl

@@ -69,12 +69,6 @@
 	device to be used as both a tty interface and as a synchronous 
 	device to be used as both a tty interface and as a synchronous 
 	controller is a project for Linux post the 2.4 release
 	controller is a project for Linux post the 2.4 release
   </para>
   </para>
-  <para>
-	The support code handles most common card configurations and
-	supports running both Cisco HDLC and Synchronous PPP. With extra
-	glue the frame relay and X.25 protocols can also be used with this
-	driver.
-  </para>
   </chapter>
   </chapter>
   
   
   <chapter id="Driver_Modes">
   <chapter id="Driver_Modes">
@@ -179,35 +173,27 @@
   <para>
   <para>
 	If you wish to use the network interface facilities of the driver,
 	If you wish to use the network interface facilities of the driver,
 	then you need to attach a network device to each channel that is
 	then you need to attach a network device to each channel that is
-	present and in use. In addition to use the SyncPPP and Cisco HDLC
+	present and in use. In addition to use the generic HDLC
 	you need to follow some additional plumbing rules. They may seem 
 	you need to follow some additional plumbing rules. They may seem 
 	complex but a look at the example hostess_sv11 driver should
 	complex but a look at the example hostess_sv11 driver should
 	reassure you.
 	reassure you.
   </para>
   </para>
   <para>
   <para>
 	The network device used for each channel should be pointed to by
 	The network device used for each channel should be pointed to by
-	the netdevice field of each channel. The dev-&gt; priv field of the
+	the netdevice field of each channel. The hdlc-&gt; priv field of the
 	network device points to your private data - you will need to be
 	network device points to your private data - you will need to be
-	able to find your ppp device from this. In addition to use the
-	sync ppp layer the private data must start with a void * pointer
-	to the syncppp structures.
+	able to find your private data from this.
   </para>
   </para>
   <para>
   <para>
 	The way most drivers approach this particular problem is to
 	The way most drivers approach this particular problem is to
 	create a structure holding the Z8530 device definition and
 	create a structure holding the Z8530 device definition and
-	put that and the syncppp pointer into the private field of
-	the network device. The network device fields of the channels
-	then point back to the network devices. The ppp_device can also
-	be put in the private structure conveniently.
+	put that into the private field of the network device. The
+	network device fields of the channels then point back to the
+	network devices.
   </para>
   </para>
   <para>
   <para>
-	If you wish to use the synchronous ppp then you need to attach
-	the syncppp layer to the network device. You should do this before
-	you register the network device. The
-	<function>sppp_attach</function> requires that the first void *
-	pointer in your private data is pointing to an empty struct
-	ppp_device. The function fills in the initial data for the
-	ppp/hdlc layer.
+	If you wish to use the generic HDLC then you need to register
+	the HDLC device.
   </para>
   </para>
   <para>
   <para>
 	Before you register your network device you will also need to
 	Before you register your network device you will also need to
@@ -314,10 +300,10 @@
 	buffer in sk_buff format and queues it for transmission. The
 	buffer in sk_buff format and queues it for transmission. The
 	caller must provide the entire packet with the exception of the
 	caller must provide the entire packet with the exception of the
 	bitstuffing and CRC. This is normally done by the caller via
 	bitstuffing and CRC. This is normally done by the caller via
-	the syncppp interface layer. It returns 0 if the buffer has been 
-        queued and non zero values  for queue full. If the function accepts 
-	the buffer it becomes property of the Z8530 layer and the caller 
-	should not free it. 
+	the generic HDLC interface layer. It returns 0 if the buffer has been
+	queued and non zero values for queue full. If the function accepts
+	the buffer it becomes property of the Z8530 layer and the caller
+	should not free it.
   </para>
   </para>
   <para>
   <para>
 	The function <function>z8530_get_stats</function> returns a pointer
 	The function <function>z8530_get_stats</function> returns a pointer

+ 1 - 1
Documentation/arm/IXP4xx

@@ -32,7 +32,7 @@ Linux currently supports the following features on the IXP4xx chips:
 - Flash access (MTD/JFFS)
 - Flash access (MTD/JFFS)
 - I2C through GPIO on IXP42x
 - I2C through GPIO on IXP42x
 - GPIO for input/output/interrupts 
 - GPIO for input/output/interrupts 
-  See include/asm-arm/arch-ixp4xx/platform.h for access functions.
+  See arch/arm/mach-ixp4xx/include/mach/platform.h for access functions.
 - Timers (watchdog, OS)
 - Timers (watchdog, OS)
 
 
 The following components of the chips are not supported by Linux and
 The following components of the chips are not supported by Linux and

+ 1 - 1
Documentation/arm/Interrupts

@@ -158,7 +158,7 @@ So, what's changed?
    be re-checked for pending events.  (see the Neponset IRQ handler for
    be re-checked for pending events.  (see the Neponset IRQ handler for
    details).
    details).
 
 
-7. fixup_irq() is gone, as is include/asm-arm/arch-*/irq.h
+7. fixup_irq() is gone, as is arch/arm/mach-*/include/mach/irq.h
 
 
 Please note that this will not solve all problems - some of them are
 Please note that this will not solve all problems - some of them are
 hardware based.  Mixing level-based and edge-based IRQs on the same
 hardware based.  Mixing level-based and edge-based IRQs on the same

+ 2 - 2
Documentation/arm/README

@@ -79,7 +79,7 @@ Machine/Platform support
   To this end, we now have arch/arm/mach-$(MACHINE) directories which are
   To this end, we now have arch/arm/mach-$(MACHINE) directories which are
   designed to house the non-driver files for a particular machine (eg, PCI,
   designed to house the non-driver files for a particular machine (eg, PCI,
   memory management, architecture definitions etc).  For all future
   memory management, architecture definitions etc).  For all future
-  machines, there should be a corresponding include/asm-arm/arch-$(MACHINE)
+  machines, there should be a corresponding arch/arm/mach-$(MACHINE)/include/mach
   directory.
   directory.
 
 
 
 
@@ -176,7 +176,7 @@ Kernel entry (head.S)
   class typically based around one or more system on a chip devices, and
   class typically based around one or more system on a chip devices, and
   acts as a natural container around the actual implementations.  These
   acts as a natural container around the actual implementations.  These
   classes are given directories - arch/arm/mach-<class> and
   classes are given directories - arch/arm/mach-<class> and
-  include/asm-arm/arch-<class> - which contain the source files to
+  arch/arm/mach-<class> - which contain the source files to/include/mach
   support the machine class.  This directories also contain any machine
   support the machine class.  This directories also contain any machine
   specific supporting code.
   specific supporting code.
 
 

+ 4 - 4
Documentation/arm/Samsung-S3C24XX/GPIO.txt

@@ -16,13 +16,13 @@ Introduction
 Headers
 Headers
 -------
 -------
 
 
-  See include/asm-arm/arch-s3c2410/regs-gpio.h for the list
+  See arch/arm/mach-s3c2410/include/mach/regs-gpio.h for the list
   of GPIO pins, and the configuration values for them. This
   of GPIO pins, and the configuration values for them. This
-  is included by using #include <asm/arch/regs-gpio.h>
+  is included by using #include <mach/regs-gpio.h>
 
 
   The GPIO management functions are defined in the hardware
   The GPIO management functions are defined in the hardware
-  header include/asm-arm/arch-s3c2410/hardware.h which can be
-  included by #include <asm/arch/hardware.h>
+  header arch/arm/mach-s3c2410/include/mach/hardware.h which can be
+  included by #include <mach/hardware.h>
 
 
   A useful amount of documentation can be found in the hardware
   A useful amount of documentation can be found in the hardware
   header on how the GPIO functions (and others) work.
   header on how the GPIO functions (and others) work.

+ 1 - 1
Documentation/arm/Samsung-S3C24XX/Overview.txt

@@ -36,7 +36,7 @@ Layout
   in arch/arm/mach-s3c2410 and S3C2440 in arch/arm/mach-s3c2440
   in arch/arm/mach-s3c2410 and S3C2440 in arch/arm/mach-s3c2440
 
 
   Register, kernel and platform data definitions are held in the
   Register, kernel and platform data definitions are held in the
-  include/asm-arm/arch-s3c2410 directory.
+  arch/arm/mach-s3c2410 directory./include/mach
 
 
 
 
 Machines
 Machines

+ 1 - 1
Documentation/arm/Samsung-S3C24XX/USB-Host.txt

@@ -49,7 +49,7 @@ Board Support
 Platform Data
 Platform Data
 -------------
 -------------
 
 
-  See linux/include/asm-arm/arch-s3c2410/usb-control.h for the
+  See arch/arm/mach-s3c2410/include/mach/usb-control.h for the
   descriptions of the platform device data. An implementation
   descriptions of the platform device data. An implementation
   can be found in linux/arch/arm/mach-s3c2410/usb-simtec.c .
   can be found in linux/arch/arm/mach-s3c2410/usb-simtec.c .
 
 

+ 6 - 15
Documentation/cciss.txt

@@ -112,27 +112,18 @@ Hot plug support for SCSI tape drives
 
 
 Hot plugging of SCSI tape drives is supported, with some caveats.
 Hot plugging of SCSI tape drives is supported, with some caveats.
 The cciss driver must be informed that changes to the SCSI bus
 The cciss driver must be informed that changes to the SCSI bus
-have been made, in addition to and prior to informing the SCSI 
-mid layer.  This may be done via the /proc filesystem.  For example:
+have been made.  This may be done via the /proc filesystem.
+For example:
 
 
 	echo "rescan" > /proc/scsi/cciss0/1
 	echo "rescan" > /proc/scsi/cciss0/1
 
 
-This causes the adapter to query the adapter about changes to the 
-physical SCSI buses and/or fibre channel arbitrated loop and the 
+This causes the driver to query the adapter about changes to the
+physical SCSI buses and/or fibre channel arbitrated loop and the
 driver to make note of any new or removed sequential access devices
 driver to make note of any new or removed sequential access devices
 or medium changers.  The driver will output messages indicating what 
 or medium changers.  The driver will output messages indicating what 
 devices have been added or removed and the controller, bus, target and 
 devices have been added or removed and the controller, bus, target and 
-lun used to address the device.  Once this is done, the SCSI mid layer 
-can be informed of changes to the virtual SCSI bus which the driver 
-presents to it in the usual way. For example: 
-
-	echo scsi add-single-device 3 2 1 0 > /proc/scsi/scsi
- 
-to add a device on controller 3, bus 2, target 1, lun 0.   Note that
-the driver makes an effort to preserve the devices positions
-in the virtual SCSI bus, so if you are only moving tape drives 
-around on the same adapter and not adding or removing tape drives 
-from the adapter, informing the SCSI mid layer may not be necessary.
+lun used to address the device.  It then notifies the SCSI mid layer
+of these changes.
 
 
 Note that the naming convention of the /proc filesystem entries 
 Note that the naming convention of the /proc filesystem entries 
 contains a number in addition to the driver name.  (E.g. "cciss0" 
 contains a number in addition to the driver name.  (E.g. "cciss0" 

+ 0 - 133
Documentation/cli-sti-removal.txt

@@ -1,133 +0,0 @@
-
-#### cli()/sti() removal guide, started by Ingo Molnar <mingo@redhat.com>
-
-
-as of 2.5.28, five popular macros have been removed on SMP, and
-are being phased out on UP:
-
- cli(), sti(), save_flags(flags), save_flags_cli(flags), restore_flags(flags)
-
-until now it was possible to protect driver code against interrupt
-handlers via a cli(), but from now on other, more lightweight methods
-have to be used for synchronization, such as spinlocks or semaphores.
-
-for example, driver code that used to do something like:
-
-	struct driver_data;
-
-	irq_handler (...)
-	{
-		....
-		driver_data.finish = 1;
-		driver_data.new_work = 0;
-		....
-	}
-
-	...
-
-	ioctl_func (...)
-	{
-		...
-		cli();
-		...
-		driver_data.finish = 0;
-		driver_data.new_work = 2;
-		...
-		sti();
-		...
-	}
-
-was SMP-correct because the cli() function ensured that no
-interrupt handler (amongst them the above irq_handler()) function
-would execute while the cli()-ed section is executing.
-
-but from now on a more direct method of locking has to be used:
-
-	DEFINE_SPINLOCK(driver_lock);
-	struct driver_data;
-
-	irq_handler (...)
-	{
-		unsigned long flags;
-		....
-		spin_lock_irqsave(&driver_lock, flags);
-		....
-		driver_data.finish = 1;
-		driver_data.new_work = 0;
-		....
-		spin_unlock_irqrestore(&driver_lock, flags);
-		....
-	}
-
-	...
-
-	ioctl_func (...)
-	{
-		...
-		spin_lock_irq(&driver_lock);
-		...
-		driver_data.finish = 0;
-		driver_data.new_work = 2;
-		...
-		spin_unlock_irq(&driver_lock);
-		...
-	}
-
-the above code has a number of advantages:
-
-- the locking relation is easier to understand - actual lock usage
-  pinpoints the critical sections. cli() usage is too opaque.
-  Easier to understand means it's easier to debug.
-
-- it's faster, because spinlocks are faster to acquire than the
-  potentially heavily-used IRQ lock. Furthermore, your driver does
-  not have to wait eg. for a big heavy SCSI interrupt to finish,
-  because the driver_lock spinlock is only used by your driver.
-  cli() on the other hand was used by many drivers, and extended
-  the critical section to the whole IRQ handler function - creating
-  serious lock contention.
-
- 
-to make the transition easier, we've still kept the cli(), sti(),
-save_flags(), save_flags_cli() and restore_flags() macros defined
-on UP systems - but their usage will be phased out until 2.6 is
-released.
-
-drivers that want to disable local interrupts (interrupts on the
-current CPU), can use the following five macros:
-
-  local_irq_disable(), local_irq_enable(), local_save_flags(flags),
-  local_irq_save(flags), local_irq_restore(flags)
-
-but beware, their meaning and semantics are much simpler, far from
-that of the old cli(), sti(), save_flags(flags) and restore_flags(flags)
-SMP meaning:
-
-    local_irq_disable()       => turn local IRQs off
-
-    local_irq_enable()        => turn local IRQs on
-
-    local_save_flags(flags)   => save the current IRQ state into flags. The
-                                 state can be on or off. (on some
-                                 architectures there's even more bits in it.)
-
-    local_irq_save(flags)     => save the current IRQ state into flags and
-                                 disable interrupts.
-
-    local_irq_restore(flags)  => restore the IRQ state from flags.
-
-(local_irq_save can save both irqs on and irqs off state, and
-local_irq_restore can restore into both irqs on and irqs off state.)
-
-another related change is that synchronize_irq() now takes a parameter:
-synchronize_irq(irq). This change too has the purpose of making SMP
-synchronization more lightweight - this way you can wait for your own
-interrupt handler to finish, no need to wait for other IRQ sources.
-
-
-why were these changes done? The main reason was the architectural burden
-of maintaining the cli()/sti() interface - it became a real problem. The
-new interrupt system is much more streamlined, easier to understand, debug,
-and it's also a bit faster - the same happened to it that will happen to
-cli()/sti() using drivers once they convert to spinlocks :-)
-

+ 0 - 13
Documentation/feature-removal-schedule.txt

@@ -205,19 +205,6 @@ Who:  Tejun Heo <htejun@gmail.com>
 
 
 ---------------------------
 ---------------------------
 
 
-What: The arch/ppc and include/asm-ppc directories
-When: Jun 2008
-Why:  The arch/powerpc tree is the merged architecture for ppc32 and ppc64
-      platforms.  Currently there are efforts underway to port the remaining
-      arch/ppc platforms to the merged tree.  New submissions to the arch/ppc
-      tree have been frozen with the 2.6.22 kernel release and that tree will
-      remain in bug-fix only mode until its scheduled removal.  Platforms
-      that are not ported by June 2008 will be removed due to the lack of an
-      interested maintainer.
-Who:  linuxppc-dev@ozlabs.org
-
----------------------------
-
 What:	i386/x86_64 bzImage symlinks
 What:	i386/x86_64 bzImage symlinks
 When:	April 2010
 When:	April 2010
 
 

+ 14 - 3
Documentation/filesystems/configfs/configfs.txt

@@ -311,9 +311,20 @@ the subsystem must be ready for it.
 [An Example]
 [An Example]
 
 
 The best example of these basic concepts is the simple_children
 The best example of these basic concepts is the simple_children
-subsystem/group and the simple_child item in configfs_example.c  It
-shows a trivial object displaying and storing an attribute, and a simple
-group creating and destroying these children.
+subsystem/group and the simple_child item in configfs_example_explicit.c
+and configfs_example_macros.c.  It shows a trivial object displaying and
+storing an attribute, and a simple group creating and destroying these
+children.
+
+The only difference between configfs_example_explicit.c and
+configfs_example_macros.c is how the attributes of the childless item
+are defined.  The childless item has extended attributes, each with
+their own show()/store() operation.  This follows a convention commonly
+used in sysfs.  configfs_example_explicit.c creates these attributes
+by explicitly defining the structures involved.  Conversely
+configfs_example_macros.c uses some convenience macros from configfs.h
+to define the attributes.  These macros are similar to their sysfs
+counterparts.
 
 
 [Hierarchy Navigation and the Subsystem Mutex]
 [Hierarchy Navigation and the Subsystem Mutex]
 
 

+ 9 - 9
Documentation/filesystems/configfs/configfs_example.c → Documentation/filesystems/configfs/configfs_example_explicit.c

@@ -1,8 +1,10 @@
 /*
 /*
  * vim: noexpandtab ts=8 sts=0 sw=8:
  * vim: noexpandtab ts=8 sts=0 sw=8:
  *
  *
- * configfs_example.c - This file is a demonstration module containing
- *      a number of configfs subsystems.
+ * configfs_example_explicit.c - This file is a demonstration module
+ *      containing a number of configfs subsystems.  It explicitly defines
+ *      each structure without using the helper macros defined in
+ *      configfs.h.
  *
  *
  * This program is free software; you can redistribute it and/or
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public
  * modify it under the terms of the GNU General Public
@@ -281,7 +283,6 @@ static struct config_item *simple_children_make_item(struct config_group *group,
 	if (!simple_child)
 	if (!simple_child)
 		return ERR_PTR(-ENOMEM);
 		return ERR_PTR(-ENOMEM);
 
 
-
 	config_item_init_type_name(&simple_child->item, name,
 	config_item_init_type_name(&simple_child->item, name,
 				   &simple_child_type);
 				   &simple_child_type);
 
 
@@ -302,8 +303,8 @@ static struct configfs_attribute *simple_children_attrs[] = {
 };
 };
 
 
 static ssize_t simple_children_attr_show(struct config_item *item,
 static ssize_t simple_children_attr_show(struct config_item *item,
-			   		 struct configfs_attribute *attr,
-			   		 char *page)
+					 struct configfs_attribute *attr,
+					 char *page)
 {
 {
 	return sprintf(page,
 	return sprintf(page,
 "[02-simple-children]\n"
 "[02-simple-children]\n"
@@ -318,7 +319,7 @@ static void simple_children_release(struct config_item *item)
 }
 }
 
 
 static struct configfs_item_operations simple_children_item_ops = {
 static struct configfs_item_operations simple_children_item_ops = {
-	.release 	= simple_children_release,
+	.release	= simple_children_release,
 	.show_attribute	= simple_children_attr_show,
 	.show_attribute	= simple_children_attr_show,
 };
 };
 
 
@@ -368,7 +369,6 @@ static struct config_group *group_children_make_group(struct config_group *group
 	if (!simple_children)
 	if (!simple_children)
 		return ERR_PTR(-ENOMEM);
 		return ERR_PTR(-ENOMEM);
 
 
-
 	config_group_init_type_name(&simple_children->group, name,
 	config_group_init_type_name(&simple_children->group, name,
 				    &simple_children_type);
 				    &simple_children_type);
 
 
@@ -387,8 +387,8 @@ static struct configfs_attribute *group_children_attrs[] = {
 };
 };
 
 
 static ssize_t group_children_attr_show(struct config_item *item,
 static ssize_t group_children_attr_show(struct config_item *item,
-			   		struct configfs_attribute *attr,
-			   		char *page)
+					struct configfs_attribute *attr,
+					char *page)
 {
 {
 	return sprintf(page,
 	return sprintf(page,
 "[03-group-children]\n"
 "[03-group-children]\n"

+ 448 - 0
Documentation/filesystems/configfs/configfs_example_macros.c

@@ -0,0 +1,448 @@
+/*
+ * vim: noexpandtab ts=8 sts=0 sw=8:
+ *
+ * configfs_example_macros.c - This file is a demonstration module
+ *      containing a number of configfs subsystems.  It uses the helper
+ *      macros defined by configfs.h
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 021110-1307, USA.
+ *
+ * Based on sysfs:
+ * 	sysfs is Copyright (C) 2001, 2002, 2003 Patrick Mochel
+ *
+ * configfs Copyright (C) 2005 Oracle.  All rights reserved.
+ */
+
+#include <linux/init.h>
+#include <linux/module.h>
+#include <linux/slab.h>
+
+#include <linux/configfs.h>
+
+
+
+/*
+ * 01-childless
+ *
+ * This first example is a childless subsystem.  It cannot create
+ * any config_items.  It just has attributes.
+ *
+ * Note that we are enclosing the configfs_subsystem inside a container.
+ * This is not necessary if a subsystem has no attributes directly
+ * on the subsystem.  See the next example, 02-simple-children, for
+ * such a subsystem.
+ */
+
+struct childless {
+	struct configfs_subsystem subsys;
+	int showme;
+	int storeme;
+};
+
+static inline struct childless *to_childless(struct config_item *item)
+{
+	return item ? container_of(to_configfs_subsystem(to_config_group(item)), struct childless, subsys) : NULL;
+}
+
+CONFIGFS_ATTR_STRUCT(childless);
+#define CHILDLESS_ATTR(_name, _mode, _show, _store)	\
+struct childless_attribute childless_attr_##_name = __CONFIGFS_ATTR(_name, _mode, _show, _store)
+#define CHILDLESS_ATTR_RO(_name, _show)	\
+struct childless_attribute childless_attr_##_name = __CONFIGFS_ATTR_RO(_name, _show);
+
+static ssize_t childless_showme_read(struct childless *childless,
+				     char *page)
+{
+	ssize_t pos;
+
+	pos = sprintf(page, "%d\n", childless->showme);
+	childless->showme++;
+
+	return pos;
+}
+
+static ssize_t childless_storeme_read(struct childless *childless,
+				      char *page)
+{
+	return sprintf(page, "%d\n", childless->storeme);
+}
+
+static ssize_t childless_storeme_write(struct childless *childless,
+				       const char *page,
+				       size_t count)
+{
+	unsigned long tmp;
+	char *p = (char *) page;
+
+	tmp = simple_strtoul(p, &p, 10);
+	if (!p || (*p && (*p != '\n')))
+		return -EINVAL;
+
+	if (tmp > INT_MAX)
+		return -ERANGE;
+
+	childless->storeme = tmp;
+
+	return count;
+}
+
+static ssize_t childless_description_read(struct childless *childless,
+					  char *page)
+{
+	return sprintf(page,
+"[01-childless]\n"
+"\n"
+"The childless subsystem is the simplest possible subsystem in\n"
+"configfs.  It does not support the creation of child config_items.\n"
+"It only has a few attributes.  In fact, it isn't much different\n"
+"than a directory in /proc.\n");
+}
+
+CHILDLESS_ATTR_RO(showme, childless_showme_read);
+CHILDLESS_ATTR(storeme, S_IRUGO | S_IWUSR, childless_storeme_read,
+	       childless_storeme_write);
+CHILDLESS_ATTR_RO(description, childless_description_read);
+
+static struct configfs_attribute *childless_attrs[] = {
+	&childless_attr_showme.attr,
+	&childless_attr_storeme.attr,
+	&childless_attr_description.attr,
+	NULL,
+};
+
+CONFIGFS_ATTR_OPS(childless);
+static struct configfs_item_operations childless_item_ops = {
+	.show_attribute		= childless_attr_show,
+	.store_attribute	= childless_attr_store,
+};
+
+static struct config_item_type childless_type = {
+	.ct_item_ops	= &childless_item_ops,
+	.ct_attrs	= childless_attrs,
+	.ct_owner	= THIS_MODULE,
+};
+
+static struct childless childless_subsys = {
+	.subsys = {
+		.su_group = {
+			.cg_item = {
+				.ci_namebuf = "01-childless",
+				.ci_type = &childless_type,
+			},
+		},
+	},
+};
+
+
+/* ----------------------------------------------------------------- */
+
+/*
+ * 02-simple-children
+ *
+ * This example merely has a simple one-attribute child.  Note that
+ * there is no extra attribute structure, as the child's attribute is
+ * known from the get-go.  Also, there is no container for the
+ * subsystem, as it has no attributes of its own.
+ */
+
+struct simple_child {
+	struct config_item item;
+	int storeme;
+};
+
+static inline struct simple_child *to_simple_child(struct config_item *item)
+{
+	return item ? container_of(item, struct simple_child, item) : NULL;
+}
+
+static struct configfs_attribute simple_child_attr_storeme = {
+	.ca_owner = THIS_MODULE,
+	.ca_name = "storeme",
+	.ca_mode = S_IRUGO | S_IWUSR,
+};
+
+static struct configfs_attribute *simple_child_attrs[] = {
+	&simple_child_attr_storeme,
+	NULL,
+};
+
+static ssize_t simple_child_attr_show(struct config_item *item,
+				      struct configfs_attribute *attr,
+				      char *page)
+{
+	ssize_t count;
+	struct simple_child *simple_child = to_simple_child(item);
+
+	count = sprintf(page, "%d\n", simple_child->storeme);
+
+	return count;
+}
+
+static ssize_t simple_child_attr_store(struct config_item *item,
+				       struct configfs_attribute *attr,
+				       const char *page, size_t count)
+{
+	struct simple_child *simple_child = to_simple_child(item);
+	unsigned long tmp;
+	char *p = (char *) page;
+
+	tmp = simple_strtoul(p, &p, 10);
+	if (!p || (*p && (*p != '\n')))
+		return -EINVAL;
+
+	if (tmp > INT_MAX)
+		return -ERANGE;
+
+	simple_child->storeme = tmp;
+
+	return count;
+}
+
+static void simple_child_release(struct config_item *item)
+{
+	kfree(to_simple_child(item));
+}
+
+static struct configfs_item_operations simple_child_item_ops = {
+	.release		= simple_child_release,
+	.show_attribute		= simple_child_attr_show,
+	.store_attribute	= simple_child_attr_store,
+};
+
+static struct config_item_type simple_child_type = {
+	.ct_item_ops	= &simple_child_item_ops,
+	.ct_attrs	= simple_child_attrs,
+	.ct_owner	= THIS_MODULE,
+};
+
+
+struct simple_children {
+	struct config_group group;
+};
+
+static inline struct simple_children *to_simple_children(struct config_item *item)
+{
+	return item ? container_of(to_config_group(item), struct simple_children, group) : NULL;
+}
+
+static struct config_item *simple_children_make_item(struct config_group *group, const char *name)
+{
+	struct simple_child *simple_child;
+
+	simple_child = kzalloc(sizeof(struct simple_child), GFP_KERNEL);
+	if (!simple_child)
+		return ERR_PTR(-ENOMEM);
+
+	config_item_init_type_name(&simple_child->item, name,
+				   &simple_child_type);
+
+	simple_child->storeme = 0;
+
+	return &simple_child->item;
+}
+
+static struct configfs_attribute simple_children_attr_description = {
+	.ca_owner = THIS_MODULE,
+	.ca_name = "description",
+	.ca_mode = S_IRUGO,
+};
+
+static struct configfs_attribute *simple_children_attrs[] = {
+	&simple_children_attr_description,
+	NULL,
+};
+
+static ssize_t simple_children_attr_show(struct config_item *item,
+					 struct configfs_attribute *attr,
+					 char *page)
+{
+	return sprintf(page,
+"[02-simple-children]\n"
+"\n"
+"This subsystem allows the creation of child config_items.  These\n"
+"items have only one attribute that is readable and writeable.\n");
+}
+
+static void simple_children_release(struct config_item *item)
+{
+	kfree(to_simple_children(item));
+}
+
+static struct configfs_item_operations simple_children_item_ops = {
+	.release	= simple_children_release,
+	.show_attribute	= simple_children_attr_show,
+};
+
+/*
+ * Note that, since no extra work is required on ->drop_item(),
+ * no ->drop_item() is provided.
+ */
+static struct configfs_group_operations simple_children_group_ops = {
+	.make_item	= simple_children_make_item,
+};
+
+static struct config_item_type simple_children_type = {
+	.ct_item_ops	= &simple_children_item_ops,
+	.ct_group_ops	= &simple_children_group_ops,
+	.ct_attrs	= simple_children_attrs,
+	.ct_owner	= THIS_MODULE,
+};
+
+static struct configfs_subsystem simple_children_subsys = {
+	.su_group = {
+		.cg_item = {
+			.ci_namebuf = "02-simple-children",
+			.ci_type = &simple_children_type,
+		},
+	},
+};
+
+
+/* ----------------------------------------------------------------- */
+
+/*
+ * 03-group-children
+ *
+ * This example reuses the simple_children group from above.  However,
+ * the simple_children group is not the subsystem itself, it is a
+ * child of the subsystem.  Creation of a group in the subsystem creates
+ * a new simple_children group.  That group can then have simple_child
+ * children of its own.
+ */
+
+static struct config_group *group_children_make_group(struct config_group *group, const char *name)
+{
+	struct simple_children *simple_children;
+
+	simple_children = kzalloc(sizeof(struct simple_children),
+				  GFP_KERNEL);
+	if (!simple_children)
+		return ERR_PTR(-ENOMEM);
+
+	config_group_init_type_name(&simple_children->group, name,
+				    &simple_children_type);
+
+	return &simple_children->group;
+}
+
+static struct configfs_attribute group_children_attr_description = {
+	.ca_owner = THIS_MODULE,
+	.ca_name = "description",
+	.ca_mode = S_IRUGO,
+};
+
+static struct configfs_attribute *group_children_attrs[] = {
+	&group_children_attr_description,
+	NULL,
+};
+
+static ssize_t group_children_attr_show(struct config_item *item,
+					struct configfs_attribute *attr,
+					char *page)
+{
+	return sprintf(page,
+"[03-group-children]\n"
+"\n"
+"This subsystem allows the creation of child config_groups.  These\n"
+"groups are like the subsystem simple-children.\n");
+}
+
+static struct configfs_item_operations group_children_item_ops = {
+	.show_attribute	= group_children_attr_show,
+};
+
+/*
+ * Note that, since no extra work is required on ->drop_item(),
+ * no ->drop_item() is provided.
+ */
+static struct configfs_group_operations group_children_group_ops = {
+	.make_group	= group_children_make_group,
+};
+
+static struct config_item_type group_children_type = {
+	.ct_item_ops	= &group_children_item_ops,
+	.ct_group_ops	= &group_children_group_ops,
+	.ct_attrs	= group_children_attrs,
+	.ct_owner	= THIS_MODULE,
+};
+
+static struct configfs_subsystem group_children_subsys = {
+	.su_group = {
+		.cg_item = {
+			.ci_namebuf = "03-group-children",
+			.ci_type = &group_children_type,
+		},
+	},
+};
+
+/* ----------------------------------------------------------------- */
+
+/*
+ * We're now done with our subsystem definitions.
+ * For convenience in this module, here's a list of them all.  It
+ * allows the init function to easily register them.  Most modules
+ * will only have one subsystem, and will only call register_subsystem
+ * on it directly.
+ */
+static struct configfs_subsystem *example_subsys[] = {
+	&childless_subsys.subsys,
+	&simple_children_subsys,
+	&group_children_subsys,
+	NULL,
+};
+
+static int __init configfs_example_init(void)
+{
+	int ret;
+	int i;
+	struct configfs_subsystem *subsys;
+
+	for (i = 0; example_subsys[i]; i++) {
+		subsys = example_subsys[i];
+
+		config_group_init(&subsys->su_group);
+		mutex_init(&subsys->su_mutex);
+		ret = configfs_register_subsystem(subsys);
+		if (ret) {
+			printk(KERN_ERR "Error %d while registering subsystem %s\n",
+			       ret,
+			       subsys->su_group.cg_item.ci_namebuf);
+			goto out_unregister;
+		}
+	}
+
+	return 0;
+
+out_unregister:
+	for (; i >= 0; i--) {
+		configfs_unregister_subsystem(example_subsys[i]);
+	}
+
+	return ret;
+}
+
+static void __exit configfs_example_exit(void)
+{
+	int i;
+
+	for (i = 0; example_subsys[i]; i++) {
+		configfs_unregister_subsystem(example_subsys[i]);
+	}
+}
+
+module_init(configfs_example_init);
+module_exit(configfs_example_exit);
+MODULE_LICENSE("GPL");

+ 1 - 0
Documentation/ftrace.txt

@@ -4,6 +4,7 @@
 Copyright 2008 Red Hat Inc.
 Copyright 2008 Red Hat Inc.
    Author:   Steven Rostedt <srostedt@redhat.com>
    Author:   Steven Rostedt <srostedt@redhat.com>
   License:   The GNU Free Documentation License, Version 1.2
   License:   The GNU Free Documentation License, Version 1.2
+               (dual licensed under the GPL v2)
 Reviewers:   Elias Oltmanns, Randy Dunlap, Andrew Morton,
 Reviewers:   Elias Oltmanns, Randy Dunlap, Andrew Morton,
 	     John Kacur, and David Teigland.
 	     John Kacur, and David Teigland.
 
 

+ 41 - 16
Documentation/hwmon/dme1737

@@ -10,6 +10,10 @@ Supported chips:
     Prefix: 'sch311x'
     Prefix: 'sch311x'
     Addresses scanned: none, address read from Super-I/O config space
     Addresses scanned: none, address read from Super-I/O config space
     Datasheet: http://www.nuhorizons.com/FeaturedProducts/Volume1/SMSC/311x.pdf
     Datasheet: http://www.nuhorizons.com/FeaturedProducts/Volume1/SMSC/311x.pdf
+  * SMSC SCH5027
+    Prefix: 'sch5027'
+    Addresses scanned: I2C 0x2c, 0x2d, 0x2e
+    Datasheet: Provided by SMSC upon request and under NDA
 
 
 Authors:
 Authors:
     Juerg Haefliger <juergh@gmail.com>
     Juerg Haefliger <juergh@gmail.com>
@@ -22,34 +26,36 @@ Module Parameters
 			and PWM output control functions. Using this parameter
 			and PWM output control functions. Using this parameter
 			shouldn't be required since the BIOS usually takes care
 			shouldn't be required since the BIOS usually takes care
 			of this.
 			of this.
-
-Note that there is no need to use this parameter if the driver loads without
-complaining. The driver will say so if it is necessary.
+* probe_all_addr: bool	Include non-standard LPC addresses 0x162e and 0x164e
+			when probing for ISA devices. This is required for the
+			following boards:
+			- VIA EPIA SN18000
 
 
 
 
 Description
 Description
 -----------
 -----------
 
 
 This driver implements support for the hardware monitoring capabilities of the
 This driver implements support for the hardware monitoring capabilities of the
-SMSC DME1737 and Asus A8000 (which are the same) and SMSC SCH311x Super-I/O
-chips. These chips feature monitoring of 3 temp sensors temp[1-3] (2 remote
-diodes and 1 internal), 7 voltages in[0-6] (6 external and 1 internal) and up
-to 6 fan speeds fan[1-6]. Additionally, the chips implement up to 5 PWM
-outputs pwm[1-3,5-6] for controlling fan speeds both manually and
+SMSC DME1737 and Asus A8000 (which are the same), SMSC SCH5027, and SMSC
+SCH311x Super-I/O chips. These chips feature monitoring of 3 temp sensors
+temp[1-3] (2 remote diodes and 1 internal), 7 voltages in[0-6] (6 external and
+1 internal) and up to 6 fan speeds fan[1-6]. Additionally, the chips implement
+up to 5 PWM outputs pwm[1-3,5-6] for controlling fan speeds both manually and
 automatically.
 automatically.
 
 
-For the DME1737 and A8000, fan[1-2] and pwm[1-2] are always present. Fan[3-6]
-and pwm[3,5-6] are optional features and their availability depends on the
-configuration of the chip. The driver will detect which features are present
-during initialization and create the sysfs attributes accordingly.
+For the DME1737, A8000 and SCH5027, fan[1-2] and pwm[1-2] are always present.
+Fan[3-6] and pwm[3,5-6] are optional features and their availability depends on
+the configuration of the chip. The driver will detect which features are
+present during initialization and create the sysfs attributes accordingly.
 
 
 For the SCH311x, fan[1-3] and pwm[1-3] are always present and fan[4-6] and
 For the SCH311x, fan[1-3] and pwm[1-3] are always present and fan[4-6] and
 pwm[5-6] don't exist.
 pwm[5-6] don't exist.
 
 
-The hardware monitoring features of the DME1737 and A8000 are only accessible
-via SMBus, while the SCH311x only provides access via the ISA bus. The driver
-will therefore register itself as an I2C client driver if it detects a DME1737
-or A8000 and as a platform driver if it detects a SCH311x chip.
+The hardware monitoring features of the DME1737, A8000, and SCH5027 are only
+accessible via SMBus, while the SCH311x only provides access via the ISA bus.
+The driver will therefore register itself as an I2C client driver if it detects
+a DME1737, A8000, or SCH5027 and as a platform driver if it detects a SCH311x
+chip.
 
 
 
 
 Voltage Monitoring
 Voltage Monitoring
@@ -60,6 +66,7 @@ scaling resistors. The values returned by the driver therefore reflect true
 millivolts and don't need scaling. The voltage inputs are mapped as follows
 millivolts and don't need scaling. The voltage inputs are mapped as follows
 (the last column indicates the input ranges):
 (the last column indicates the input ranges):
 
 
+DME1737, A8000:
 	in0: +5VTR	(+5V standby)		0V - 6.64V
 	in0: +5VTR	(+5V standby)		0V - 6.64V
 	in1: Vccp	(processor core)	0V - 3V
 	in1: Vccp	(processor core)	0V - 3V
 	in2: VCC	(internal +3.3V)	0V - 4.38V
 	in2: VCC	(internal +3.3V)	0V - 4.38V
@@ -68,6 +75,24 @@ millivolts and don't need scaling. The voltage inputs are mapped as follows
 	in5: VTR	(+3.3V standby)		0V - 4.38V
 	in5: VTR	(+3.3V standby)		0V - 4.38V
 	in6: Vbat	(+3.0V)			0V - 4.38V
 	in6: Vbat	(+3.0V)			0V - 4.38V
 
 
+SCH311x:
+	in0: +2.5V				0V - 6.64V
+	in1: Vccp	(processor core)	0V - 2V
+	in2: VCC	(internal +3.3V)	0V - 4.38V
+	in3: +5V				0V - 6.64V
+	in4: +12V				0V - 16V
+	in5: VTR	(+3.3V standby)		0V - 4.38V
+	in6: Vbat	(+3.0V)			0V - 4.38V
+
+SCH5027:
+	in0: +5VTR	(+5V standby)		0V - 6.64V
+	in1: Vccp	(processor core)	0V - 3V
+	in2: VCC	(internal +3.3V)	0V - 4.38V
+	in3: V2_IN				0V - 1.5V
+	in4: V1_IN				0V - 1.5V
+	in5: VTR	(+3.3V standby)		0V - 4.38V
+	in6: Vbat	(+3.0V)			0V - 4.38V
+
 Each voltage input has associated min and max limits which trigger an alarm
 Each voltage input has associated min and max limits which trigger an alarm
 when crossed.
 when crossed.
 
 

+ 7 - 6
Documentation/hwmon/it87

@@ -6,12 +6,14 @@ Supported chips:
     Prefix: 'it87'
     Prefix: 'it87'
     Addresses scanned: from Super I/O config space (8 I/O ports)
     Addresses scanned: from Super I/O config space (8 I/O ports)
     Datasheet: Publicly available at the ITE website
     Datasheet: Publicly available at the ITE website
-               http://www.ite.com.tw/
+               http://www.ite.com.tw/product_info/file/pc/IT8705F_V.0.4.1.pdf
   * IT8712F
   * IT8712F
     Prefix: 'it8712'
     Prefix: 'it8712'
     Addresses scanned: from Super I/O config space (8 I/O ports)
     Addresses scanned: from Super I/O config space (8 I/O ports)
     Datasheet: Publicly available at the ITE website
     Datasheet: Publicly available at the ITE website
-               http://www.ite.com.tw/
+               http://www.ite.com.tw/product_info/file/pc/IT8712F_V0.9.1.pdf
+               http://www.ite.com.tw/product_info/file/pc/Errata%20V0.1%20for%20IT8712F%20V0.9.1.pdf
+               http://www.ite.com.tw/product_info/file/pc/IT8712F_V0.9.3.pdf
   * IT8716F/IT8726F
   * IT8716F/IT8726F
     Prefix: 'it8716'
     Prefix: 'it8716'
     Addresses scanned: from Super I/O config space (8 I/O ports)
     Addresses scanned: from Super I/O config space (8 I/O ports)
@@ -90,14 +92,13 @@ upper VID bits share their pins with voltage inputs (in5 and in6) so you
 can't have both on a given board.
 can't have both on a given board.
 
 
 The IT8716F, IT8718F and later IT8712F revisions have support for
 The IT8716F, IT8718F and later IT8712F revisions have support for
-2 additional fans. They are supported by the driver for the IT8716F and
-IT8718F but not for the IT8712F
+2 additional fans. The additional fans are supported by the driver.
 
 
 The IT8716F and IT8718F, and late IT8712F and IT8705F also have optional
 The IT8716F and IT8718F, and late IT8712F and IT8705F also have optional
 16-bit tachometer counters for fans 1 to 3. This is better (no more fan
 16-bit tachometer counters for fans 1 to 3. This is better (no more fan
 clock divider mess) but not compatible with the older chips and
 clock divider mess) but not compatible with the older chips and
-revisions. For now, the driver only uses the 16-bit mode on the
-IT8716F and IT8718F.
+revisions. The 16-bit tachometer mode is enabled by the driver when one
+of the above chips is detected.
 
 
 The IT8726F is just bit enhanced IT8716F with additional hardware
 The IT8726F is just bit enhanced IT8716F with additional hardware
 for AMD power sequencing. Therefore the chip will appear as IT8716F
 for AMD power sequencing. Therefore the chip will appear as IT8716F

+ 4 - 7
Documentation/hwmon/lm85

@@ -96,11 +96,6 @@ initial testing of the ADM1027 it was 1.00 degC steps. Analog Devices has
 confirmed this "bug". The ADT7463 is reported to work as described in the
 confirmed this "bug". The ADT7463 is reported to work as described in the
 documentation. The current lm85 driver does not show the offset register.
 documentation. The current lm85 driver does not show the offset register.
 
 
-The ADT7463 has a THERM asserted counter. This counter has a 22.76ms
-resolution and a range of 5.8 seconds. The driver implements a 32-bit
-accumulator of the counter value to extend the range to over a year. The
-counter will stay at it's max value until read.
-
 See the vendor datasheets for more information. There is application note
 See the vendor datasheets for more information. There is application note
 from National (AN-1260) with some additional information about the LM85.
 from National (AN-1260) with some additional information about the LM85.
 The Analog Devices datasheet is very detailed and describes a procedure for
 The Analog Devices datasheet is very detailed and describes a procedure for
@@ -206,13 +201,15 @@ Configuration choices:
 
 
 The National LM85's have two vendor specific configuration
 The National LM85's have two vendor specific configuration
 features. Tach. mode and Spinup Control. For more details on these,
 features. Tach. mode and Spinup Control. For more details on these,
-see the LM85 datasheet or Application Note AN-1260.
+see the LM85 datasheet or Application Note AN-1260. These features
+are not currently supported by the lm85 driver.
 
 
 The Analog Devices ADM1027 has several vendor specific enhancements.
 The Analog Devices ADM1027 has several vendor specific enhancements.
 The number of pulses-per-rev of the fans can be set, Tach monitoring
 The number of pulses-per-rev of the fans can be set, Tach monitoring
 can be optimized for PWM operation, and an offset can be applied to
 can be optimized for PWM operation, and an offset can be applied to
 the temperatures to compensate for systemic errors in the
 the temperatures to compensate for systemic errors in the
-measurements.
+measurements. These features are not currently supported by the lm85
+driver.
 
 
 In addition to the ADM1027 features, the ADT7463 also has Tmin control
 In addition to the ADM1027 features, the ADT7463 also has Tmin control
 and THERM asserted counts. Automatic Tmin control acts to adjust the
 and THERM asserted counts. Automatic Tmin control acts to adjust the

+ 0 - 4
Documentation/hwmon/w83627hf

@@ -40,10 +40,6 @@ Module Parameters
   (default is 1)
   (default is 1)
   Use 'init=0' to bypass initializing the chip.
   Use 'init=0' to bypass initializing the chip.
   Try this if your computer crashes when you load the module.
   Try this if your computer crashes when you load the module.
-* reset: int
-  (default is 0)
-  The driver used to reset the chip on load, but does no more. Use
-  'reset=1' to restore the old behavior. Report if you need to do this.
 
 
 Description
 Description
 -----------
 -----------

+ 3 - 3
Documentation/hwmon/w83791d

@@ -22,6 +22,7 @@ Credits:
 
 
 Additional contributors:
 Additional contributors:
     Sven Anders <anders@anduras.de>
     Sven Anders <anders@anduras.de>
+    Marc Hulsman <m.hulsman@tudelft.nl>
 
 
 Module Parameters
 Module Parameters
 -----------------
 -----------------
@@ -67,9 +68,8 @@ on until the temperature falls below the Hysteresis value.
 
 
 Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
 Fan rotation speeds are reported in RPM (rotations per minute). An alarm is
 triggered if the rotation speed has dropped below a programmable limit. Fan
 triggered if the rotation speed has dropped below a programmable limit. Fan
-readings can be divided by a programmable divider (1, 2, 4, 8 for fan 1/2/3
-and 1, 2, 4, 8, 16, 32, 64 or 128 for fan 4/5) to give the readings more
-range or accuracy.
+readings can be divided by a programmable divider (1, 2, 4, 8, 16,
+32, 64 or 128 for all fans) to give the readings more range or accuracy.
 
 
 Voltage sensors (also known as IN sensors) report their values in millivolts.
 Voltage sensors (also known as IN sensors) report their values in millivolts.
 An alarm is triggered if the voltage has crossed a programmable minimum
 An alarm is triggered if the voltage has crossed a programmable minimum

+ 6 - 1
Documentation/power/pm_qos_interface.txt

@@ -1,4 +1,4 @@
-PM quality of Service interface.
+PM Quality Of Service Interface.
 
 
 This interface provides a kernel and user mode interface for registering
 This interface provides a kernel and user mode interface for registering
 performance expectations by drivers, subsystems and user space applications on
 performance expectations by drivers, subsystems and user space applications on
@@ -7,6 +7,11 @@ one of the parameters.
 Currently we have {cpu_dma_latency, network_latency, network_throughput} as the
 Currently we have {cpu_dma_latency, network_latency, network_throughput} as the
 initial set of pm_qos parameters.
 initial set of pm_qos parameters.
 
 
+Each parameters have defined units:
+ * latency: usec
+ * timeout: usec
+ * throughput: kbs (kilo bit / sec)
+
 The infrastructure exposes multiple misc device nodes one per implemented
 The infrastructure exposes multiple misc device nodes one per implemented
 parameter.  The set of parameters implement is defined by pm_qos_power_init()
 parameter.  The set of parameters implement is defined by pm_qos_power_init()
 and pm_qos_params.h.  This is done because having the available parameters
 and pm_qos_params.h.  This is done because having the available parameters

+ 2 - 2
Documentation/powerpc/booting-without-of.txt

@@ -278,7 +278,7 @@ it with special cases.
         a 64-bit platform.
         a 64-bit platform.
 
 
         d) request and get assigned a platform number (see PLATFORM_*
         d) request and get assigned a platform number (see PLATFORM_*
-        constants in include/asm-powerpc/processor.h
+        constants in arch/powerpc/include/asm/processor.h
 
 
 32-bit embedded kernels:
 32-bit embedded kernels:
 
 
@@ -340,7 +340,7 @@ the block to RAM before passing it to the kernel.
 ---------
 ---------
 
 
    The kernel is entered with r3 pointing to an area of memory that is
    The kernel is entered with r3 pointing to an area of memory that is
-   roughly described in include/asm-powerpc/prom.h by the structure
+   roughly described in arch/powerpc/include/asm/prom.h by the structure
    boot_param_header:
    boot_param_header:
 
 
 struct boot_param_header {
 struct boot_param_header {

+ 1 - 1
Documentation/powerpc/eeh-pci-error-recovery.txt

@@ -133,7 +133,7 @@ error.  Given an arbitrary address, the routine
 pci_get_device_by_addr() will find the pci device associated
 pci_get_device_by_addr() will find the pci device associated
 with that address (if any).
 with that address (if any).
 
 
-The default include/asm-powerpc/io.h macros readb(), inb(), insb(),
+The default arch/powerpc/include/asm/io.h macros readb(), inb(), insb(),
 etc. include a check to see if the i/o read returned all-0xff's.
 etc. include a check to see if the i/o read returned all-0xff's.
 If so, these make a call to eeh_dn_check_failure(), which in turn
 If so, these make a call to eeh_dn_check_failure(), which in turn
 asks the firmware if the all-ff's value is the sign of a true EEH
 asks the firmware if the all-ff's value is the sign of a true EEH

+ 2 - 2
Documentation/spi/pxa2xx

@@ -19,7 +19,7 @@ Declaring PXA2xx Master Controllers
 -----------------------------------
 -----------------------------------
 Typically a SPI master is defined in the arch/.../mach-*/board-*.c as a
 Typically a SPI master is defined in the arch/.../mach-*/board-*.c as a
 "platform device".  The master configuration is passed to the driver via a table
 "platform device".  The master configuration is passed to the driver via a table
-found in include/asm-arm/arch-pxa/pxa2xx_spi.h:
+found in arch/arm/mach-pxa/include/mach/pxa2xx_spi.h:
 
 
 struct pxa2xx_spi_master {
 struct pxa2xx_spi_master {
 	enum pxa_ssp_type ssp_type;
 	enum pxa_ssp_type ssp_type;
@@ -94,7 +94,7 @@ using the "spi_board_info" structure found in "linux/spi/spi.h". See
 
 
 Each slave device attached to the PXA must provide slave specific configuration
 Each slave device attached to the PXA must provide slave specific configuration
 information via the structure "pxa2xx_spi_chip" found in
 information via the structure "pxa2xx_spi_chip" found in
-"include/asm-arm/arch-pxa/pxa2xx_spi.h".  The pxa2xx_spi master controller driver
+"arch/arm/mach-pxa/include/mach/pxa2xx_spi.h".  The pxa2xx_spi master controller driver
 will uses the configuration whenever the driver communicates with the slave
 will uses the configuration whenever the driver communicates with the slave
 device.
 device.
 
 

+ 2 - 2
Documentation/spi/spi-summary

@@ -210,7 +210,7 @@ board should normally be set up and registered.
 
 
 So for example arch/.../mach-*/board-*.c files might have code like:
 So for example arch/.../mach-*/board-*.c files might have code like:
 
 
-	#include <asm/arch/spi.h>	/* for mysoc_spi_data */
+	#include <mach/spi.h>	/* for mysoc_spi_data */
 
 
 	/* if your mach-* infrastructure doesn't support kernels that can
 	/* if your mach-* infrastructure doesn't support kernels that can
 	 * run on multiple boards, pdata wouldn't benefit from "__init".
 	 * run on multiple boards, pdata wouldn't benefit from "__init".
@@ -227,7 +227,7 @@ So for example arch/.../mach-*/board-*.c files might have code like:
 
 
 And SOC-specific utility code might look something like:
 And SOC-specific utility code might look something like:
 
 
-	#include <asm/arch/spi.h>
+	#include <mach/spi.h>
 
 
 	static struct platform_device spi2 = { ... };
 	static struct platform_device spi2 = { ... };
 
 

+ 1 - 0
Documentation/video4linux/gspca.txt

@@ -226,6 +226,7 @@ sonixj		0c45:6130	Sonix Pccam
 sonixj		0c45:6138	Sn9c120 Mo4000
 sonixj		0c45:6138	Sn9c120 Mo4000
 sonixj		0c45:613b	Surfer SN-206
 sonixj		0c45:613b	Surfer SN-206
 sonixj		0c45:613c	Sonix Pccam168
 sonixj		0c45:613c	Sonix Pccam168
+sonixj		0c45:6143	Sonix Pccam168
 sunplus		0d64:0303	Sunplus FashionCam DXG
 sunplus		0d64:0303	Sunplus FashionCam DXG
 etoms		102c:6151	Qcam Sangha CIF
 etoms		102c:6151	Qcam Sangha CIF
 etoms		102c:6251	Qcam xxxxxx VGA
 etoms		102c:6251	Qcam xxxxxx VGA

+ 22 - 12
MAINTAINERS

@@ -502,6 +502,12 @@ L:	openezx-devel@lists.openezx.org (subscribers-only)
 W:	http://www.openezx.org/
 W:	http://www.openezx.org/
 S:	Maintained
 S:	Maintained
 
 
+ARM/FREESCALE IMX / MXC ARM ARCHITECTURE
+P:	Sascha Hauer
+M:	kernel@pengutronix.de
+L:	linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
+S:	Maintained
+
 ARM/GLOMATION GESBC9312SX MACHINE SUPPORT
 ARM/GLOMATION GESBC9312SX MACHINE SUPPORT
 P:	Lennert Buytenhek
 P:	Lennert Buytenhek
 M:	kernel@wantstofly.org
 M:	kernel@wantstofly.org
@@ -588,6 +594,11 @@ M:	kernel@wantstofly.org
 L:	linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
 L:	linux-arm-kernel@lists.arm.linux.org.uk (subscribers-only)
 S:	Maintained
 S:	Maintained
 
 
+ARM/MAGICIAN MACHINE SUPPORT
+P:	Philipp Zabel
+M:	philipp.zabel@gmail.com
+S:	Maintained
+
 ARM/TOSA MACHINE SUPPORT
 ARM/TOSA MACHINE SUPPORT
 P:	Dmitry Baryshkov
 P:	Dmitry Baryshkov
 M:	dbaryshkov@gmail.com
 M:	dbaryshkov@gmail.com
@@ -714,6 +725,15 @@ L:	linux-wireless@vger.kernel.org
 L:	ath5k-devel@lists.ath5k.org
 L:	ath5k-devel@lists.ath5k.org
 S:	Maintained
 S:	Maintained
 
 
+ATHEROS ATH9K WIRELESS DRIVER
+P:	Luis R. Rodriguez
+M:	lrodriguez@atheros.com
+P:	Jouni Malinen
+M:	jmalinen@atheros.com
+L:	linux-wireless@vger.kernel.org
+L:	ath9k-devel@lists.ath9k.org
+S:	Supported
+
 ATI_REMOTE2 DRIVER
 ATI_REMOTE2 DRIVER
 P:	Ville Syrjala
 P:	Ville Syrjala
 M:	syrjala@sci.fi
 M:	syrjala@sci.fi
@@ -1229,7 +1249,7 @@ S:	Maintained
 CPU FREQUENCY DRIVERS
 CPU FREQUENCY DRIVERS
 P:	Dave Jones
 P:	Dave Jones
 M:	davej@codemonkey.org.uk
 M:	davej@codemonkey.org.uk
-L:	cpufreq@lists.linux.org.uk
+L:	cpufreq@vger.kernel.org
 W:	http://www.codemonkey.org.uk/projects/cpufreq/
 W:	http://www.codemonkey.org.uk/projects/cpufreq/
 T:	git kernel.org/pub/scm/linux/kernel/git/davej/cpufreq.git
 T:	git kernel.org/pub/scm/linux/kernel/git/davej/cpufreq.git
 S:	Maintained
 S:	Maintained
@@ -1878,13 +1898,9 @@ W:	http://gigaset307x.sourceforge.net/
 S:	Maintained
 S:	Maintained
 
 
 HARDWARE MONITORING
 HARDWARE MONITORING
-P:	Mark M. Hoffman
-M:	mhoffman@lightlink.com
 L:	lm-sensors@lm-sensors.org
 L:	lm-sensors@lm-sensors.org
 W:	http://www.lm-sensors.org/
 W:	http://www.lm-sensors.org/
-T:	git lm-sensors.org:/kernel/mhoffman/hwmon-2.6.git testing
-T:	git lm-sensors.org:/kernel/mhoffman/hwmon-2.6.git release
-S:	Maintained
+S:	Orphaned
 
 
 HARDWARE RANDOM NUMBER GENERATOR CORE
 HARDWARE RANDOM NUMBER GENERATOR CORE
 S:	Orphaned
 S:	Orphaned
@@ -4667,12 +4683,6 @@ L:	linux-wireless@vger.kernel.org
 L:	zd1211-devs@lists.sourceforge.net (subscribers-only)
 L:	zd1211-devs@lists.sourceforge.net (subscribers-only)
 S:	Maintained
 S:	Maintained
 
 
-ZF MACHZ WATCHDOG
-P:	Fernando Fuganti
-M:	fuganti@netbank.com.br
-W:	http://cvs.conectiva.com.br/drivers/ZFL-watchdog/
-S:	Maintained
-
 ZR36067 VIDEO FOR LINUX DRIVER
 ZR36067 VIDEO FOR LINUX DRIVER
 P:	Ronald Bultje
 P:	Ronald Bultje
 M:	rbultje@ronald.bitfreak.net
 M:	rbultje@ronald.bitfreak.net

+ 5 - 5
Makefile

@@ -1,7 +1,7 @@
 VERSION = 2
 VERSION = 2
 PATCHLEVEL = 6
 PATCHLEVEL = 6
 SUBLEVEL = 27
 SUBLEVEL = 27
-EXTRAVERSION = -rc1
+EXTRAVERSION = -rc2
 NAME = Rotary Wombat
 NAME = Rotary Wombat
 
 
 # *DOCUMENTATION*
 # *DOCUMENTATION*
@@ -929,10 +929,10 @@ ifneq ($(KBUILD_SRC),)
 		echo "  in the '$(srctree)' directory.";\
 		echo "  in the '$(srctree)' directory.";\
 		/bin/false; \
 		/bin/false; \
 	fi;
 	fi;
-	$(Q)if [ ! -d include2 ]; then mkdir -p include2; fi;
-	$(Q)if [ -e $(srctree)/include/asm-$(SRCARCH)/system.h ]; then  \
+	$(Q)if [ ! -d include2 ]; then                                  \
+	    mkdir -p include2;                                          \
 	    ln -fsn $(srctree)/include/asm-$(SRCARCH) include2/asm;     \
 	    ln -fsn $(srctree)/include/asm-$(SRCARCH) include2/asm;     \
-	    fi
+	fi
 endif
 endif
 
 
 # prepare2 creates a makefile if using a separate output directory
 # prepare2 creates a makefile if using a separate output directory
@@ -1492,7 +1492,7 @@ quiet_cmd_cscope-file = FILELST cscope.files
       cmd_cscope-file = (echo \-k; echo \-q; $(all-sources)) > cscope.files
       cmd_cscope-file = (echo \-k; echo \-q; $(all-sources)) > cscope.files
 
 
 quiet_cmd_cscope = MAKE    cscope.out
 quiet_cmd_cscope = MAKE    cscope.out
-      cmd_cscope = cscope -b
+      cmd_cscope = cscope -b -f cscope.out
 
 
 cscope: FORCE
 cscope: FORCE
 	$(call cmd,cscope-file)
 	$(call cmd,cscope-file)

+ 19 - 35
arch/arm/Makefile

@@ -97,9 +97,7 @@ textofs-y	:= 0x00008000
  machine-$(CONFIG_ARCH_RPC)	   := rpc
  machine-$(CONFIG_ARCH_RPC)	   := rpc
  machine-$(CONFIG_ARCH_EBSA110)	   := ebsa110
  machine-$(CONFIG_ARCH_EBSA110)	   := ebsa110
  machine-$(CONFIG_ARCH_CLPS7500)   := clps7500
  machine-$(CONFIG_ARCH_CLPS7500)   := clps7500
-  incdir-$(CONFIG_ARCH_CLPS7500)   := cl7500
  machine-$(CONFIG_FOOTBRIDGE)	   := footbridge
  machine-$(CONFIG_FOOTBRIDGE)	   := footbridge
-  incdir-$(CONFIG_FOOTBRIDGE)	   := ebsa285
  machine-$(CONFIG_ARCH_SHARK)	   := shark
  machine-$(CONFIG_ARCH_SHARK)	   := shark
  machine-$(CONFIG_ARCH_SA1100)	   := sa1100
  machine-$(CONFIG_ARCH_SA1100)	   := sa1100
 ifeq ($(CONFIG_ARCH_SA1100),y)
 ifeq ($(CONFIG_ARCH_SA1100),y)
@@ -114,13 +112,15 @@ endif
  machine-$(CONFIG_ARCH_IOP32X)	   := iop32x
  machine-$(CONFIG_ARCH_IOP32X)	   := iop32x
  machine-$(CONFIG_ARCH_IOP33X)	   := iop33x
  machine-$(CONFIG_ARCH_IOP33X)	   := iop33x
  machine-$(CONFIG_ARCH_IOP13XX)	   := iop13xx
  machine-$(CONFIG_ARCH_IOP13XX)	   := iop13xx
+    plat-$(CONFIG_PLAT_IOP)	   := iop
  machine-$(CONFIG_ARCH_IXP4XX)	   := ixp4xx
  machine-$(CONFIG_ARCH_IXP4XX)	   := ixp4xx
  machine-$(CONFIG_ARCH_IXP2000)    := ixp2000
  machine-$(CONFIG_ARCH_IXP2000)    := ixp2000
  machine-$(CONFIG_ARCH_IXP23XX)    := ixp23xx
  machine-$(CONFIG_ARCH_IXP23XX)    := ixp23xx
  machine-$(CONFIG_ARCH_OMAP1)	   := omap1
  machine-$(CONFIG_ARCH_OMAP1)	   := omap1
  machine-$(CONFIG_ARCH_OMAP2)	   := omap2
  machine-$(CONFIG_ARCH_OMAP2)	   := omap2
-  incdir-$(CONFIG_ARCH_OMAP)	   := omap
- machine-$(CONFIG_ARCH_S3C2410)	   := s3c2410
+    plat-$(CONFIG_ARCH_OMAP)	   := omap
+ machine-$(CONFIG_ARCH_S3C2410)	   := s3c2410 s3c2400 s3c2412 s3c2440 s3c2442 s3c2443
+    plat-$(CONFIG_PLAT_S3C24XX)	   := s3c24xx
  machine-$(CONFIG_ARCH_LH7A40X)	   := lh7a40x
  machine-$(CONFIG_ARCH_LH7A40X)	   := lh7a40x
  machine-$(CONFIG_ARCH_VERSATILE)  := versatile
  machine-$(CONFIG_ARCH_VERSATILE)  := versatile
  machine-$(CONFIG_ARCH_IMX)	   := imx
  machine-$(CONFIG_ARCH_IMX)	   := imx
@@ -135,10 +135,11 @@ endif
  machine-$(CONFIG_ARCH_DAVINCI)	   := davinci
  machine-$(CONFIG_ARCH_DAVINCI)	   := davinci
  machine-$(CONFIG_ARCH_KIRKWOOD)   := kirkwood
  machine-$(CONFIG_ARCH_KIRKWOOD)   := kirkwood
  machine-$(CONFIG_ARCH_KS8695)     := ks8695
  machine-$(CONFIG_ARCH_KS8695)     := ks8695
-  incdir-$(CONFIG_ARCH_MXC)	   := mxc
+    plat-$(CONFIG_ARCH_MXC)	   := mxc
  machine-$(CONFIG_ARCH_MX2)	   := mx2
  machine-$(CONFIG_ARCH_MX2)	   := mx2
  machine-$(CONFIG_ARCH_MX3)	   := mx3
  machine-$(CONFIG_ARCH_MX3)	   := mx3
  machine-$(CONFIG_ARCH_ORION5X)	   := orion5x
  machine-$(CONFIG_ARCH_ORION5X)	   := orion5x
+    plat-$(CONFIG_PLAT_ORION)	   := orion
  machine-$(CONFIG_ARCH_MSM7X00A)   := msm
  machine-$(CONFIG_ARCH_MSM7X00A)   := msm
  machine-$(CONFIG_ARCH_LOKI)       := loki
  machine-$(CONFIG_ARCH_LOKI)       := loki
  machine-$(CONFIG_ARCH_MV78XX0)    := mv78xx0
  machine-$(CONFIG_ARCH_MV78XX0)    := mv78xx0
@@ -153,17 +154,22 @@ endif
 # The byte offset of the kernel image in RAM from the start of RAM.
 # The byte offset of the kernel image in RAM from the start of RAM.
 TEXT_OFFSET := $(textofs-y)
 TEXT_OFFSET := $(textofs-y)
 
 
-ifeq ($(incdir-y),)
-incdir-y := $(machine-y)
-endif
-INCDIR   := arch-$(incdir-y)
-
+# The first directory contains additional information for the boot setup code
 ifneq ($(machine-y),)
 ifneq ($(machine-y),)
-MACHINE  := arch/arm/mach-$(machine-y)/
+MACHINE  := arch/arm/mach-$(word 1,$(machine-y))/
 else
 else
 MACHINE  :=
 MACHINE  :=
 endif
 endif
 
 
+machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
+platdirs := $(patsubst %,arch/arm/plat-%/,$(plat-y))
+
+ifeq ($(KBUILD_SRC),)
+KBUILD_CPPFLAGS += $(patsubst %,-I%include,$(machdirs) $(platdirs))
+else
+KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs) $(platdirs))
+endif
+
 export	TEXT_OFFSET GZFLAGS MMUEXT
 export	TEXT_OFFSET GZFLAGS MMUEXT
 
 
 # Do we have FASTFPE?
 # Do we have FASTFPE?
@@ -174,23 +180,11 @@ endif
 
 
 # If we have a machine-specific directory, then include it in the build.
 # If we have a machine-specific directory, then include it in the build.
 core-y				+= arch/arm/kernel/ arch/arm/mm/ arch/arm/common/
 core-y				+= arch/arm/kernel/ arch/arm/mm/ arch/arm/common/
-core-y				+= $(MACHINE)
-core-$(CONFIG_ARCH_S3C2410)	+= arch/arm/mach-s3c2400/
-core-$(CONFIG_ARCH_S3C2410)	+= arch/arm/mach-s3c2412/
-core-$(CONFIG_ARCH_S3C2410)	+= arch/arm/mach-s3c2440/
-core-$(CONFIG_ARCH_S3C2410)	+= arch/arm/mach-s3c2442/
-core-$(CONFIG_ARCH_S3C2410)	+= arch/arm/mach-s3c2443/
+core-y				+= $(machdirs) $(platdirs)
 core-$(CONFIG_FPE_NWFPE)	+= arch/arm/nwfpe/
 core-$(CONFIG_FPE_NWFPE)	+= arch/arm/nwfpe/
 core-$(CONFIG_FPE_FASTFPE)	+= $(FASTFPE_OBJ)
 core-$(CONFIG_FPE_FASTFPE)	+= $(FASTFPE_OBJ)
 core-$(CONFIG_VFP)		+= arch/arm/vfp/
 core-$(CONFIG_VFP)		+= arch/arm/vfp/
 
 
-# If we have a common platform directory, then include it in the build.
-core-$(CONFIG_PLAT_IOP)		+= arch/arm/plat-iop/
-core-$(CONFIG_PLAT_ORION)		+= arch/arm/plat-orion/
-core-$(CONFIG_ARCH_OMAP)	+= arch/arm/plat-omap/
-core-$(CONFIG_PLAT_S3C24XX)		+= arch/arm/plat-s3c24xx/
-core-$(CONFIG_ARCH_MXC)		+= arch/arm/plat-mxc/
-
 drivers-$(CONFIG_OPROFILE)      += arch/arm/oprofile/
 drivers-$(CONFIG_OPROFILE)      += arch/arm/oprofile/
 
 
 libs-y				:= arch/arm/lib/ $(libs-y)
 libs-y				:= arch/arm/lib/ $(libs-y)
@@ -210,20 +204,10 @@ boot := arch/arm/boot
 #	them changed.  We use .arch to indicate when they were updated
 #	them changed.  We use .arch to indicate when they were updated
 #	last, otherwise make uses the target directory mtime.
 #	last, otherwise make uses the target directory mtime.
 
 
-include/asm-arm/.arch: $(wildcard include/config/arch/*.h) include/config/auto.conf
-	@echo '  SYMLINK include/asm-arm/arch -> include/asm-arm/$(INCDIR)'
-ifneq ($(KBUILD_SRC),)
-	$(Q)mkdir -p include/asm-arm
-	$(Q)ln -fsn $(srctree)/include/asm-arm/$(INCDIR) include/asm-arm/arch
-else
-	$(Q)ln -fsn $(INCDIR) include/asm-arm/arch
-endif
-	@touch $@
-
 archprepare: maketools
 archprepare: maketools
 
 
 PHONY += maketools FORCE
 PHONY += maketools FORCE
-maketools: include/linux/version.h include/asm-arm/.arch FORCE
+maketools: include/linux/version.h FORCE
 	$(Q)$(MAKE) $(build)=arch/arm/tools include/asm-arm/mach-types.h
 	$(Q)$(MAKE) $(build)=arch/arm/tools include/asm-arm/mach-types.h
 
 
 # Convert bzImage to zImage
 # Convert bzImage to zImage

+ 0 - 3
arch/arm/boot/compressed/Makefile

@@ -112,6 +112,3 @@ $(obj)/font.c: $(FONTC)
 
 
 $(obj)/vmlinux.lds: $(obj)/vmlinux.lds.in arch/arm/boot/Makefile .config
 $(obj)/vmlinux.lds: $(obj)/vmlinux.lds.in arch/arm/boot/Makefile .config
 	@sed "$(SEDFLAGS)" < $< > $@
 	@sed "$(SEDFLAGS)" < $< > $@
-
-$(obj)/misc.o: $(obj)/misc.c include/asm/arch/uncompress.h lib/inflate.c
-

+ 0 - 1
arch/arm/boot/compressed/head-xscale.S

@@ -6,7 +6,6 @@
  */
  */
 
 
 #include <linux/linkage.h>
 #include <linux/linkage.h>
-#include <asm/mach-types.h>
 
 
 		.section        ".start", "ax"
 		.section        ".start", "ax"
 
 

+ 1 - 1
arch/arm/boot/compressed/head.S

@@ -37,7 +37,7 @@
 
 
 #else
 #else
 
 
-#include <asm/arch/debug-macro.S>
+#include <mach/debug-macro.S>
 
 
 		.macro	writeb,	ch, rb
 		.macro	writeb,	ch, rb
 		senduart \ch, \rb
 		senduart \ch, \rb

+ 1 - 1
arch/arm/boot/compressed/misc.c

@@ -27,7 +27,7 @@ unsigned int __machine_arch_type;
 static void putstr(const char *ptr);
 static void putstr(const char *ptr);
 
 
 #include <linux/compiler.h>
 #include <linux/compiler.h>
-#include <asm/arch/uncompress.h>
+#include <mach/uncompress.h>
 
 
 #ifdef CONFIG_DEBUG_ICEDCC
 #ifdef CONFIG_DEBUG_ICEDCC
 
 

+ 1 - 1
arch/arm/common/locomo.c

@@ -25,7 +25,7 @@
 #include <linux/slab.h>
 #include <linux/slab.h>
 #include <linux/spinlock.h>
 #include <linux/spinlock.h>
 
 
-#include <asm/hardware.h>
+#include <mach/hardware.h>
 #include <asm/io.h>
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/irq.h>
 #include <asm/mach/irq.h>
 #include <asm/mach/irq.h>

+ 1 - 1
arch/arm/common/sa1111.c

@@ -26,7 +26,7 @@
 #include <linux/dma-mapping.h>
 #include <linux/dma-mapping.h>
 #include <linux/clk.h>
 #include <linux/clk.h>
 
 
-#include <asm/hardware.h>
+#include <mach/hardware.h>
 #include <asm/mach-types.h>
 #include <asm/mach-types.h>
 #include <asm/io.h>
 #include <asm/io.h>
 #include <asm/irq.h>
 #include <asm/irq.h>

+ 5 - 6
arch/arm/common/sharpsl_pm.c

@@ -26,13 +26,12 @@
 #include <linux/apm-emulation.h>
 #include <linux/apm-emulation.h>
 #include <linux/suspend.h>
 #include <linux/suspend.h>
 
 
-#include <asm/hardware.h>
-#include <asm/mach-types.h>
+#include <mach/hardware.h>
 #include <asm/irq.h>
 #include <asm/irq.h>
-#include <asm/arch/pm.h>
-#include <asm/arch/pxa-regs.h>
-#include <asm/arch/pxa2xx-regs.h>
-#include <asm/arch/sharpsl.h>
+#include <mach/pm.h>
+#include <mach/pxa-regs.h>
+#include <mach/pxa2xx-regs.h>
+#include <mach/sharpsl.h>
 #include <asm/hardware/sharpsl_pm.h>
 #include <asm/hardware/sharpsl_pm.h>
 
 
 /*
 /*

+ 1 - 1
arch/arm/common/time-acorn.c

@@ -18,7 +18,7 @@
 #include <linux/interrupt.h>
 #include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/irq.h>
 
 
-#include <asm/hardware.h>
+#include <mach/hardware.h>
 #include <asm/io.h>
 #include <asm/io.h>
 #include <asm/hardware/ioc.h>
 #include <asm/hardware/ioc.h>
 
 

+ 1 - 2
arch/arm/common/uengine.c

@@ -16,8 +16,7 @@
 #include <linux/slab.h>
 #include <linux/slab.h>
 #include <linux/module.h>
 #include <linux/module.h>
 #include <linux/string.h>
 #include <linux/string.h>
-#include <asm/hardware.h>
-#include <asm/arch/hardware.h>
+#include <mach/hardware.h>
 #include <asm/hardware/uengine.h>
 #include <asm/hardware/uengine.h>
 #include <asm/io.h>
 #include <asm/io.h>
 
 

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


+ 0 - 0
include/asm-arm/a.out-core.h → arch/arm/include/asm/a.out-core.h


+ 0 - 0
include/asm-arm/a.out.h → arch/arm/include/asm/a.out.h


+ 1 - 1
include/asm-arm/assembler.h → arch/arm/include/asm/assembler.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/assembler.h
+ *  arch/arm/include/asm/assembler.h
  *
  *
  *  Copyright (C) 1996-2000 Russell King
  *  Copyright (C) 1996-2000 Russell King
  *
  *

+ 1 - 1
include/asm-arm/atomic.h → arch/arm/include/asm/atomic.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/atomic.h
+ *  arch/arm/include/asm/atomic.h
  *
  *
  *  Copyright (C) 1996 Russell King.
  *  Copyright (C) 1996 Russell King.
  *  Copyright (C) 2002 Deep Blue Solutions Ltd.
  *  Copyright (C) 2002 Deep Blue Solutions Ltd.

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


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


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


+ 1 - 1
include/asm-arm/bugs.h → arch/arm/include/asm/bugs.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/bugs.h
+ *  arch/arm/include/asm/bugs.h
  *
  *
  *  Copyright (C) 1995-2003 Russell King
  *  Copyright (C) 1995-2003 Russell King
  *
  *

+ 1 - 1
include/asm-arm/byteorder.h → arch/arm/include/asm/byteorder.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/byteorder.h
+ *  arch/arm/include/asm/byteorder.h
  *
  *
  * ARM Endian-ness.  In little endian mode, the data bus is connected such
  * ARM Endian-ness.  In little endian mode, the data bus is connected such
  * that byte accesses appear as:
  * that byte accesses appear as:

+ 1 - 1
include/asm-arm/cache.h → arch/arm/include/asm/cache.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/cache.h
+ *  arch/arm/include/asm/cache.h
  */
  */
 #ifndef __ASMARM_CACHE_H
 #ifndef __ASMARM_CACHE_H
 #define __ASMARM_CACHE_H
 #define __ASMARM_CACHE_H

+ 1 - 1
include/asm-arm/cacheflush.h → arch/arm/include/asm/cacheflush.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/cacheflush.h
+ *  arch/arm/include/asm/cacheflush.h
  *
  *
  *  Copyright (C) 1999-2002 Russell King
  *  Copyright (C) 1999-2002 Russell King
  *
  *

+ 1 - 1
include/asm-arm/checksum.h → arch/arm/include/asm/checksum.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/checksum.h
+ *  arch/arm/include/asm/checksum.h
  *
  *
  * IP checksum routines
  * IP checksum routines
  *
  *

+ 0 - 0
include/asm-arm/cnt32_to_63.h → arch/arm/include/asm/cnt32_to_63.h


+ 1 - 1
include/asm-arm/cpu-multi32.h → arch/arm/include/asm/cpu-multi32.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/cpu-multi32.h
+ *  arch/arm/include/asm/cpu-multi32.h
  *
  *
  *  Copyright (C) 2000 Russell King
  *  Copyright (C) 2000 Russell King
  *
  *

+ 1 - 1
include/asm-arm/cpu-single.h → arch/arm/include/asm/cpu-single.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/cpu-single.h
+ *  arch/arm/include/asm/cpu-single.h
  *
  *
  *  Copyright (C) 2000 Russell King
  *  Copyright (C) 2000 Russell King
  *
  *

+ 1 - 1
include/asm-arm/cpu.h → arch/arm/include/asm/cpu.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/cpu.h
+ *  arch/arm/include/asm/cpu.h
  *
  *
  *  Copyright (C) 2004-2005 ARM Ltd.
  *  Copyright (C) 2004-2005 ARM Ltd.
  *
  *

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


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


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


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


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


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


+ 1 - 1
include/asm-arm/dma.h → arch/arm/include/asm/dma.h

@@ -6,7 +6,7 @@ typedef unsigned int dmach_t;
 #include <linux/spinlock.h>
 #include <linux/spinlock.h>
 #include <asm/system.h>
 #include <asm/system.h>
 #include <asm/scatterlist.h>
 #include <asm/scatterlist.h>
-#include <asm/arch/dma.h>
+#include <mach/dma.h>
 
 
 /*
 /*
  * This is the maximum virtual address which can be DMA'd from.
  * This is the maximum virtual address which can be DMA'd from.

+ 1 - 1
include/asm-arm/domain.h → arch/arm/include/asm/domain.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/domain.h
+ *  arch/arm/include/asm/domain.h
  *
  *
  *  Copyright (C) 1999 Russell King.
  *  Copyright (C) 1999 Russell King.
  *
  *

+ 1 - 1
include/asm-arm/ecard.h → arch/arm/include/asm/ecard.h

@@ -1,5 +1,5 @@
 /*
 /*
- * linux/include/asm-arm/ecard.h
+ * arch/arm/include/asm/ecard.h
  *
  *
  * definitions for expansion cards
  * definitions for expansion cards
  *
  *

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


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


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


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


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


+ 1 - 1
include/asm-arm/fiq.h → arch/arm/include/asm/fiq.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/fiq.h
+ *  arch/arm/include/asm/fiq.h
  *
  *
  * Support for FIQ on ARM architectures.
  * Support for FIQ on ARM architectures.
  * Written by Philip Blundell <philb@gnu.org>, 1998
  * Written by Philip Blundell <philb@gnu.org>, 1998

+ 1 - 1
include/asm-arm/flat.h → arch/arm/include/asm/flat.h

@@ -1,5 +1,5 @@
 /*
 /*
- * include/asm-arm/flat.h -- uClinux flat-format executables
+ * arch/arm/include/asm/flat.h -- uClinux flat-format executables
  */
  */
 
 
 #ifndef __ARM_FLAT_H__
 #ifndef __ARM_FLAT_H__

+ 2 - 2
include/asm-arm/floppy.h → arch/arm/include/asm/floppy.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/floppy.h
+ *  arch/arm/include/asm/floppy.h
  *
  *
  *  Copyright (C) 1996-2000 Russell King
  *  Copyright (C) 1996-2000 Russell King
  *
  *
@@ -12,7 +12,7 @@
 #ifndef __ASM_ARM_FLOPPY_H
 #ifndef __ASM_ARM_FLOPPY_H
 #define __ASM_ARM_FLOPPY_H
 #define __ASM_ARM_FLOPPY_H
 #if 0
 #if 0
-#include <asm/arch/floppy.h>
+#include <mach/floppy.h>
 #endif
 #endif
 
 
 #define fd_outb(val,port)			\
 #define fd_outb(val,port)			\

+ 1 - 1
include/asm-arm/fpstate.h → arch/arm/include/asm/fpstate.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/fpstate.h
+ *  arch/arm/include/asm/fpstate.h
  *
  *
  *  Copyright (C) 1995 Russell King
  *  Copyright (C) 1995 Russell King
  *
  *

+ 0 - 0
include/asm-arm/ftrace.h → arch/arm/include/asm/ftrace.h


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


+ 1 - 1
include/asm-arm/glue.h → arch/arm/include/asm/glue.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/glue.h
+ *  arch/arm/include/asm/glue.h
  *
  *
  *  Copyright (C) 1997-1999 Russell King
  *  Copyright (C) 1997-1999 Russell King
  *  Copyright (C) 2000-2002 Deep Blue Solutions Ltd.
  *  Copyright (C) 2000-2002 Deep Blue Solutions Ltd.

+ 1 - 1
include/asm-arm/gpio.h → arch/arm/include/asm/gpio.h

@@ -2,6 +2,6 @@
 #define _ARCH_ARM_GPIO_H
 #define _ARCH_ARM_GPIO_H
 
 
 /* not all ARM platforms necessarily support this API ... */
 /* not all ARM platforms necessarily support this API ... */
-#include <asm/arch/gpio.h>
+#include <mach/gpio.h>
 
 
 #endif /* _ARCH_ARM_GPIO_H */
 #endif /* _ARCH_ARM_GPIO_H */

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


+ 0 - 0
include/asm-arm/hardware/arm_timer.h → arch/arm/include/asm/hardware/arm_timer.h


+ 0 - 0
include/asm-arm/hardware/arm_twd.h → arch/arm/include/asm/hardware/arm_twd.h


+ 1 - 1
include/asm-arm/hardware/cache-l2x0.h → arch/arm/include/asm/hardware/cache-l2x0.h

@@ -1,5 +1,5 @@
 /*
 /*
- * include/asm-arm/hardware/cache-l2x0.h
+ * arch/arm/include/asm/hardware/cache-l2x0.h
  *
  *
  * Copyright (C) 2007 ARM Limited
  * Copyright (C) 2007 ARM Limited
  *
  *

+ 1 - 1
include/asm-arm/hardware/clps7111.h → arch/arm/include/asm/hardware/clps7111.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/hardware/clps7111.h
+ *  arch/arm/include/asm/hardware/clps7111.h
  *
  *
  *  This file contains the hardware definitions of the CLPS7111 internal
  *  This file contains the hardware definitions of the CLPS7111 internal
  *  registers.
  *  registers.

+ 1 - 1
include/asm-arm/hardware/cs89712.h → arch/arm/include/asm/hardware/cs89712.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/hardware/cs89712.h
+ *  arch/arm/include/asm/hardware/cs89712.h
  *
  *
  *  This file contains the hardware definitions of the CS89712
  *  This file contains the hardware definitions of the CS89712
  *  additional internal registers.
  *  additional internal registers.

+ 1 - 1
include/asm-arm/hardware/debug-8250.S → arch/arm/include/asm/hardware/debug-8250.S

@@ -1,5 +1,5 @@
 /*
 /*
- * linux/include/asm-arm/hardware/debug-8250.S
+ * arch/arm/include/asm/hardware/debug-8250.S
  *
  *
  *  Copyright (C) 1994-1999 Russell King
  *  Copyright (C) 1994-1999 Russell King
  *
  *

+ 1 - 1
include/asm-arm/hardware/debug-pl01x.S → arch/arm/include/asm/hardware/debug-pl01x.S

@@ -1,4 +1,4 @@
-/* linux/include/asm-arm/hardware/debug-pl01x.S
+/* arch/arm/include/asm/hardware/debug-pl01x.S
  *
  *
  * Debugging macro include header
  * Debugging macro include header
  *
  *

+ 2 - 2
include/asm-arm/hardware/dec21285.h → arch/arm/include/asm/hardware/dec21285.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/hardware/dec21285.h
+ *  arch/arm/include/asm/hardware/dec21285.h
  *
  *
  *  Copyright (C) 1998 Russell King
  *  Copyright (C) 1998 Russell King
  *
  *
@@ -19,7 +19,7 @@
 #define DC21285_PCI_MEM			0x80000000
 #define DC21285_PCI_MEM			0x80000000
 
 
 #ifndef __ASSEMBLY__
 #ifndef __ASSEMBLY__
-#include <asm/hardware.h>
+#include <mach/hardware.h>
 #define DC21285_IO(x)		((volatile unsigned long *)(ARMCSR_BASE+(x)))
 #define DC21285_IO(x)		((volatile unsigned long *)(ARMCSR_BASE+(x)))
 #else
 #else
 #define DC21285_IO(x)		(x)
 #define DC21285_IO(x)		(x)

+ 1 - 1
include/asm-arm/hardware/entry-macro-iomd.S → arch/arm/include/asm/hardware/entry-macro-iomd.S

@@ -1,5 +1,5 @@
 /*
 /*
- * include/asm-arm/hardware/entry-macro-iomd.S
+ * arch/arm/include/asm/hardware/entry-macro-iomd.S
  *
  *
  * Low-level IRQ helper macros for IOC/IOMD based platforms
  * Low-level IRQ helper macros for IOC/IOMD based platforms
  *
  *

+ 1 - 1
include/asm-arm/hardware/ep7211.h → arch/arm/include/asm/hardware/ep7211.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/hardware/ep7211.h
+ *  arch/arm/include/asm/hardware/ep7211.h
  *
  *
  *  This file contains the hardware definitions of the EP7211 internal
  *  This file contains the hardware definitions of the EP7211 internal
  *  registers.
  *  registers.

+ 1 - 1
include/asm-arm/hardware/ep7212.h → arch/arm/include/asm/hardware/ep7212.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/hardware/ep7212.h
+ *  arch/arm/include/asm/hardware/ep7212.h
  *
  *
  *  This file contains the hardware definitions of the EP7212 internal
  *  This file contains the hardware definitions of the EP7212 internal
  *  registers.
  *  registers.

+ 1 - 1
include/asm-arm/hardware/gic.h → arch/arm/include/asm/hardware/gic.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/hardware/gic.h
+ *  arch/arm/include/asm/hardware/gic.h
  *
  *
  *  Copyright (C) 2002 ARM Limited, All Rights Reserved.
  *  Copyright (C) 2002 ARM Limited, All Rights Reserved.
  *
  *

+ 1 - 1
include/asm-arm/hardware/icst307.h → arch/arm/include/asm/hardware/icst307.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/hardware/icst307.h
+ *  arch/arm/include/asm/hardware/icst307.h
  *
  *
  *  Copyright (C) 2003 Deep Blue Solutions, Ltd, All Rights Reserved.
  *  Copyright (C) 2003 Deep Blue Solutions, Ltd, All Rights Reserved.
  *
  *

+ 1 - 1
include/asm-arm/hardware/icst525.h → arch/arm/include/asm/hardware/icst525.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/hardware/icst525.h
+ *  arch/arm/include/asm/hardware/icst525.h
  *
  *
  *  Copyright (C) 2003 Deep Blue Solutions, Ltd, All Rights Reserved.
  *  Copyright (C) 2003 Deep Blue Solutions, Ltd, All Rights Reserved.
  *
  *

+ 1 - 1
include/asm-arm/hardware/ioc.h → arch/arm/include/asm/hardware/ioc.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/hardware/ioc.h
+ *  arch/arm/include/asm/hardware/ioc.h
  *
  *
  *  Copyright (C) Russell King
  *  Copyright (C) Russell King
  *
  *

+ 1 - 1
include/asm-arm/hardware/iomd.h → arch/arm/include/asm/hardware/iomd.h

@@ -1,5 +1,5 @@
 /*
 /*
- *  linux/include/asm-arm/hardware/iomd.h
+ *  arch/arm/include/asm/hardware/iomd.h
  *
  *
  *  Copyright (C) 1999 Russell King
  *  Copyright (C) 1999 Russell King
  *
  *

+ 1 - 1
include/asm-arm/hardware/iop3xx-adma.h → arch/arm/include/asm/hardware/iop3xx-adma.h

@@ -19,7 +19,7 @@
 #define _ADMA_H
 #define _ADMA_H
 #include <linux/types.h>
 #include <linux/types.h>
 #include <linux/io.h>
 #include <linux/io.h>
-#include <asm/hardware.h>
+#include <mach/hardware.h>
 #include <asm/hardware/iop_adma.h>
 #include <asm/hardware/iop_adma.h>
 
 
 /* Memory copy units */
 /* Memory copy units */

Some files were not shown because too many files changed in this diff