You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/tg3.c drivers/net/wireless/rt2x00/rt2x00dev.c net/mac80211/ieee80211_i.h
This commit is contained in:
+1
-1
@@ -52,8 +52,8 @@ series
|
|||||||
|
|
||||||
# cscope files
|
# cscope files
|
||||||
cscope.*
|
cscope.*
|
||||||
|
ncscope.*
|
||||||
|
|
||||||
*.orig
|
*.orig
|
||||||
*.rej
|
|
||||||
*~
|
*~
|
||||||
\#*#
|
\#*#
|
||||||
|
|||||||
@@ -14,6 +14,10 @@ MAJOR:MINOR
|
|||||||
non-block filesystems which provide their own BDI, such as NFS
|
non-block filesystems which provide their own BDI, such as NFS
|
||||||
and FUSE.
|
and FUSE.
|
||||||
|
|
||||||
|
MAJOR:MINOR-fuseblk
|
||||||
|
|
||||||
|
Value of st_dev on fuseblk filesystems.
|
||||||
|
|
||||||
default
|
default
|
||||||
|
|
||||||
The default backing dev, used for non-block device backed
|
The default backing dev, used for non-block device backed
|
||||||
|
|||||||
@@ -703,6 +703,31 @@
|
|||||||
</sect1>
|
</sect1>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="trylock-functions">
|
||||||
|
<title>The trylock Functions</title>
|
||||||
|
<para>
|
||||||
|
There are functions that try to acquire a lock only once and immediately
|
||||||
|
return a value telling about success or failure to acquire the lock.
|
||||||
|
They can be used if you need no access to the data protected with the lock
|
||||||
|
when some other thread is holding the lock. You should acquire the lock
|
||||||
|
later if you then need access to the data protected with the lock.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<function>spin_trylock()</function> does not spin but returns non-zero if
|
||||||
|
it acquires the spinlock on the first try or 0 if not. This function can
|
||||||
|
be used in all contexts like <function>spin_lock</function>: you must have
|
||||||
|
disabled the contexts that might interrupt you and acquire the spin lock.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<function>mutex_trylock()</function> does not suspend your task
|
||||||
|
but returns non-zero if it could lock the mutex on the first try
|
||||||
|
or 0 if not. This function cannot be safely used in hardware or software
|
||||||
|
interrupt contexts despite not sleeping.
|
||||||
|
</para>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
<chapter id="Examples">
|
<chapter id="Examples">
|
||||||
<title>Common Examples</title>
|
<title>Common Examples</title>
|
||||||
<para>
|
<para>
|
||||||
|
|||||||
@@ -129,14 +129,6 @@ to its default value of '80' it means that between the checking
|
|||||||
intervals the CPU needs to be on average more than 80% in use to then
|
intervals the CPU needs to be on average more than 80% in use to then
|
||||||
decide that the CPU frequency needs to be increased.
|
decide that the CPU frequency needs to be increased.
|
||||||
|
|
||||||
sampling_down_factor: this parameter controls the rate that the CPU
|
|
||||||
makes a decision on when to decrease the frequency. When set to its
|
|
||||||
default value of '5' it means that at 1/5 the sampling_rate the kernel
|
|
||||||
makes a decision to lower the frequency. Five "lower rate" decisions
|
|
||||||
have to be made in a row before the CPU frequency is actually lower.
|
|
||||||
If set to '1' then the frequency decreases as quickly as it increases,
|
|
||||||
if set to '2' it decreases at half the rate of the increase.
|
|
||||||
|
|
||||||
ignore_nice_load: this parameter takes a value of '0' or '1'. When
|
ignore_nice_load: this parameter takes a value of '0' or '1'. When
|
||||||
set to '0' (its default), all processes are counted towards the
|
set to '0' (its default), all processes are counted towards the
|
||||||
'cpu utilisation' value. When set to '1', the processes that are
|
'cpu utilisation' value. When set to '1', the processes that are
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
Kernel driver ibmaem
|
||||||
|
======================
|
||||||
|
|
||||||
|
Supported systems:
|
||||||
|
* Any recent IBM System X server with Active Energy Manager support.
|
||||||
|
This includes the x3350, x3550, x3650, x3655, x3755, x3850 M2,
|
||||||
|
x3950 M2, and certain HS2x/LS2x/QS2x blades. The IPMI host interface
|
||||||
|
driver ("ipmi-si") needs to be loaded for this driver to do anything.
|
||||||
|
Prefix: 'ibmaem'
|
||||||
|
Datasheet: Not available
|
||||||
|
|
||||||
|
Author: Darrick J. Wong
|
||||||
|
|
||||||
|
Description
|
||||||
|
-----------
|
||||||
|
|
||||||
|
This driver implements sensor reading support for the energy and power
|
||||||
|
meters available on various IBM System X hardware through the BMC. All
|
||||||
|
sensor banks will be exported as platform devices; this driver can talk
|
||||||
|
to both v1 and v2 interfaces. This driver is completely separate from the
|
||||||
|
older ibmpex driver.
|
||||||
|
|
||||||
|
The v1 AEM interface has a simple set of features to monitor energy use.
|
||||||
|
There is a register that displays an estimate of raw energy consumption
|
||||||
|
since the last BMC reset, and a power sensor that returns average power
|
||||||
|
use over a configurable interval.
|
||||||
|
|
||||||
|
The v2 AEM interface is a bit more sophisticated, being able to present
|
||||||
|
a wider range of energy and power use registers, the power cap as
|
||||||
|
set by the AEM software, and temperature sensors.
|
||||||
|
|
||||||
|
Special Features
|
||||||
|
----------------
|
||||||
|
|
||||||
|
The "power_cap" value displays the current system power cap, as set by
|
||||||
|
the Active Energy Manager software. Setting the power cap from the host
|
||||||
|
is not currently supported.
|
||||||
@@ -398,9 +398,6 @@ and is between 256 and 4096 characters. It is defined in the file
|
|||||||
cio_ignore= [S390]
|
cio_ignore= [S390]
|
||||||
See Documentation/s390/CommonIO for details.
|
See Documentation/s390/CommonIO for details.
|
||||||
|
|
||||||
cio_msg= [S390]
|
|
||||||
See Documentation/s390/CommonIO for details.
|
|
||||||
|
|
||||||
clock= [BUGS=X86-32, HW] gettimeofday clocksource override.
|
clock= [BUGS=X86-32, HW] gettimeofday clocksource override.
|
||||||
[Deprecated]
|
[Deprecated]
|
||||||
Forces specified clocksource (if available) to be used
|
Forces specified clocksource (if available) to be used
|
||||||
@@ -689,6 +686,12 @@ and is between 256 and 4096 characters. It is defined in the file
|
|||||||
floppy= [HW]
|
floppy= [HW]
|
||||||
See Documentation/floppy.txt.
|
See Documentation/floppy.txt.
|
||||||
|
|
||||||
|
force_pal_cache_flush
|
||||||
|
[IA-64] Avoid check_sal_cache_flush which may hang on
|
||||||
|
buggy SAL_CACHE_FLUSH implementations. Using this
|
||||||
|
parameter will force ia64_sal_cache_flush to call
|
||||||
|
ia64_pal_cache_flush instead of SAL_CACHE_FLUSH.
|
||||||
|
|
||||||
gamecon.map[2|3]=
|
gamecon.map[2|3]=
|
||||||
[HW,JOY] Multisystem joystick and NES/SNES/PSX pad
|
[HW,JOY] Multisystem joystick and NES/SNES/PSX pad
|
||||||
support via parallel port (up to 5 devices per port)
|
support via parallel port (up to 5 devices per port)
|
||||||
|
|||||||
@@ -157,6 +157,9 @@ struct virtqueue
|
|||||||
|
|
||||||
/* The routine to call when the Guest pings us. */
|
/* The routine to call when the Guest pings us. */
|
||||||
void (*handle_output)(int fd, struct virtqueue *me);
|
void (*handle_output)(int fd, struct virtqueue *me);
|
||||||
|
|
||||||
|
/* Outstanding buffers */
|
||||||
|
unsigned int inflight;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Remember the arguments to the program so we can "reboot" */
|
/* Remember the arguments to the program so we can "reboot" */
|
||||||
@@ -702,6 +705,7 @@ static unsigned get_vq_desc(struct virtqueue *vq,
|
|||||||
errx(1, "Looped descriptor");
|
errx(1, "Looped descriptor");
|
||||||
} while ((i = next_desc(vq, i)) != vq->vring.num);
|
} while ((i = next_desc(vq, i)) != vq->vring.num);
|
||||||
|
|
||||||
|
vq->inflight++;
|
||||||
return head;
|
return head;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -719,6 +723,7 @@ static void add_used(struct virtqueue *vq, unsigned int head, int len)
|
|||||||
/* Make sure buffer is written before we update index. */
|
/* Make sure buffer is written before we update index. */
|
||||||
wmb();
|
wmb();
|
||||||
vq->vring.used->idx++;
|
vq->vring.used->idx++;
|
||||||
|
vq->inflight--;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This actually sends the interrupt for this virtqueue */
|
/* This actually sends the interrupt for this virtqueue */
|
||||||
@@ -726,8 +731,9 @@ static void trigger_irq(int fd, struct virtqueue *vq)
|
|||||||
{
|
{
|
||||||
unsigned long buf[] = { LHREQ_IRQ, vq->config.irq };
|
unsigned long buf[] = { LHREQ_IRQ, vq->config.irq };
|
||||||
|
|
||||||
/* If they don't want an interrupt, don't send one. */
|
/* If they don't want an interrupt, don't send one, unless empty. */
|
||||||
if (vq->vring.avail->flags & VRING_AVAIL_F_NO_INTERRUPT)
|
if ((vq->vring.avail->flags & VRING_AVAIL_F_NO_INTERRUPT)
|
||||||
|
&& vq->inflight)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Send the Guest an interrupt tell them we used something up. */
|
/* Send the Guest an interrupt tell them we used something up. */
|
||||||
@@ -1107,6 +1113,7 @@ static void add_virtqueue(struct device *dev, unsigned int num_descs,
|
|||||||
vq->next = NULL;
|
vq->next = NULL;
|
||||||
vq->last_avail_idx = 0;
|
vq->last_avail_idx = 0;
|
||||||
vq->dev = dev;
|
vq->dev = dev;
|
||||||
|
vq->inflight = 0;
|
||||||
|
|
||||||
/* Initialize the configuration. */
|
/* Initialize the configuration. */
|
||||||
vq->config.num = num_descs;
|
vq->config.num = num_descs;
|
||||||
@@ -1368,6 +1375,7 @@ static void setup_tun_net(const char *arg)
|
|||||||
|
|
||||||
/* Tell Guest what MAC address to use. */
|
/* Tell Guest what MAC address to use. */
|
||||||
add_feature(dev, VIRTIO_NET_F_MAC);
|
add_feature(dev, VIRTIO_NET_F_MAC);
|
||||||
|
add_feature(dev, VIRTIO_F_NOTIFY_ON_EMPTY);
|
||||||
set_config(dev, sizeof(conf), &conf);
|
set_config(dev, sizeof(conf), &conf);
|
||||||
|
|
||||||
/* We don't need the socket any more; setup is done. */
|
/* We don't need the socket any more; setup is done. */
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
In order to use the Ethernet bridging functionality, you'll need the
|
In order to use the Ethernet bridging functionality, you'll need the
|
||||||
userspace tools. These programs and documentation are available
|
userspace tools. These programs and documentation are available
|
||||||
at http://bridge.sourceforge.net. The download page is
|
at http://www.linux-foundation.org/en/Net:Bridge. The download page is
|
||||||
http://prdownloads.sourceforge.net/bridge.
|
http://prdownloads.sourceforge.net/bridge.
|
||||||
|
|
||||||
If you still have questions, don't hesitate to post to the mailing list
|
If you still have questions, don't hesitate to post to the mailing list
|
||||||
|
|||||||
@@ -96,5 +96,4 @@ missing-syscalls: scripts/checksyscalls.sh FORCE
|
|||||||
$(call cmd,syscalls)
|
$(call cmd,syscalls)
|
||||||
|
|
||||||
# Delete all targets during make clean
|
# Delete all targets during make clean
|
||||||
clean-files := $(addprefix $(objtree)/,$(targets))
|
clean-files := $(addprefix $(objtree)/,$(filter-out $(bounds-file) $(offsets-file),$(targets)))
|
||||||
|
|
||||||
|
|||||||
+101
-56
@@ -982,13 +982,6 @@ L: bonding-devel@lists.sourceforge.net
|
|||||||
W: http://sourceforge.net/projects/bonding/
|
W: http://sourceforge.net/projects/bonding/
|
||||||
S: Supported
|
S: Supported
|
||||||
|
|
||||||
BROADBAND PROCESSOR ARCHITECTURE
|
|
||||||
P: Arnd Bergmann
|
|
||||||
M: arnd@arndb.de
|
|
||||||
L: linuxppc-dev@ozlabs.org
|
|
||||||
W: http://www.penguinppc.org/ppc64/
|
|
||||||
S: Supported
|
|
||||||
|
|
||||||
BROADCOM B44 10/100 ETHERNET DRIVER
|
BROADCOM B44 10/100 ETHERNET DRIVER
|
||||||
P: Gary Zambrano
|
P: Gary Zambrano
|
||||||
M: zambrano@broadcom.com
|
M: zambrano@broadcom.com
|
||||||
@@ -1052,6 +1045,14 @@ L: linux-kernel@vger.kernel.org
|
|||||||
L: discuss@x86-64.org
|
L: discuss@x86-64.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
|
CELL BROADBAND ENGINE ARCHITECTURE
|
||||||
|
P: Arnd Bergmann
|
||||||
|
M: arnd@arndb.de
|
||||||
|
L: linuxppc-dev@ozlabs.org
|
||||||
|
L: cbe-oss-dev@ozlabs.org
|
||||||
|
W: http://www.ibm.com/developerworks/power/cell/
|
||||||
|
S: Supported
|
||||||
|
|
||||||
CFAG12864B LCD DRIVER
|
CFAG12864B LCD DRIVER
|
||||||
P: Miguel Ojeda Sandonis
|
P: Miguel Ojeda Sandonis
|
||||||
M: maxextreme@gmail.com
|
M: maxextreme@gmail.com
|
||||||
@@ -1239,6 +1240,20 @@ L: video4linux-list@redhat.com
|
|||||||
W: http://linuxtv.org
|
W: http://linuxtv.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
|
CXGB3 ETHERNET DRIVER (CXGB3)
|
||||||
|
P: Divy Le Ray
|
||||||
|
M: divy@chelsio.com
|
||||||
|
L: netdev@vger.kernel.org
|
||||||
|
W: http://www.chelsio.com
|
||||||
|
S: Supported
|
||||||
|
|
||||||
|
CXGB3 IWARP RNIC DRIVER (IW_CXGB3)
|
||||||
|
P: Steve Wise
|
||||||
|
M: swise@chelsio.com
|
||||||
|
L: general@lists.openfabrics.org
|
||||||
|
W: http://www.openfabrics.org
|
||||||
|
S: Supported
|
||||||
|
|
||||||
CYBERPRO FB DRIVER
|
CYBERPRO FB DRIVER
|
||||||
P: Russell King
|
P: Russell King
|
||||||
M: rmk@arm.linux.org.uk
|
M: rmk@arm.linux.org.uk
|
||||||
@@ -1596,7 +1611,7 @@ ETHERNET BRIDGE
|
|||||||
P: Stephen Hemminger
|
P: Stephen Hemminger
|
||||||
M: shemminger@linux-foundation.org
|
M: shemminger@linux-foundation.org
|
||||||
L: bridge@lists.linux-foundation.org
|
L: bridge@lists.linux-foundation.org
|
||||||
W: http://bridge.sourceforge.net/
|
W: http://www.linux-foundation.org/en/Net:Bridge
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
ETHERTEAM 16I DRIVER
|
ETHERTEAM 16I DRIVER
|
||||||
@@ -1645,8 +1660,10 @@ W: http://linux-fbdev.sourceforge.net/
|
|||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
FREESCALE DMA DRIVER
|
FREESCALE DMA DRIVER
|
||||||
P; Zhang Wei
|
P: Li Yang
|
||||||
M: wei.zhang@freescale.com
|
M: leoli@freescale.com
|
||||||
|
P: Zhang Wei
|
||||||
|
M: zw@zh-kernel.org
|
||||||
L: linuxppc-embedded@ozlabs.org
|
L: linuxppc-embedded@ozlabs.org
|
||||||
L: linux-kernel@vger.kernel.org
|
L: linux-kernel@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
@@ -1940,8 +1957,10 @@ L: lm-sensors@lm-sensors.org
|
|||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
I2C SUBSYSTEM
|
I2C SUBSYSTEM
|
||||||
P: Jean Delvare
|
P: Jean Delvare (PC drivers, core)
|
||||||
M: khali@linux-fr.org
|
M: khali@linux-fr.org
|
||||||
|
P: Ben Dooks (embedded platforms)
|
||||||
|
M: ben-linux@fluff.org
|
||||||
L: i2c@lm-sensors.org
|
L: i2c@lm-sensors.org
|
||||||
T: quilt http://khali.linux-fr.org/devel/linux-2.6/jdelvare-i2c/
|
T: quilt http://khali.linux-fr.org/devel/linux-2.6/jdelvare-i2c/
|
||||||
S: Maintained
|
S: Maintained
|
||||||
@@ -2327,7 +2346,8 @@ S: Maintained
|
|||||||
KERNEL BUILD (kbuild: Makefile, scripts/Makefile.*)
|
KERNEL BUILD (kbuild: Makefile, scripts/Makefile.*)
|
||||||
P: Sam Ravnborg
|
P: Sam Ravnborg
|
||||||
M: sam@ravnborg.org
|
M: sam@ravnborg.org
|
||||||
T: git kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git
|
T: git kernel.org:/pub/scm/linux/kernel/git/sam/kbuild-next.git
|
||||||
|
T: git kernel.org:/pub/scm/linux/kernel/git/sam/kbuild-fixes.git
|
||||||
L: linux-kbuild@vger.kernel.org
|
L: linux-kbuild@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
@@ -2349,24 +2369,24 @@ S: Supported
|
|||||||
KERNEL VIRTUAL MACHINE (KVM)
|
KERNEL VIRTUAL MACHINE (KVM)
|
||||||
P: Avi Kivity
|
P: Avi Kivity
|
||||||
M: avi@qumranet.com
|
M: avi@qumranet.com
|
||||||
L: kvm-devel@lists.sourceforge.net
|
L: kvm@vger.kernel.org
|
||||||
W: kvm.sourceforge.net
|
W: http://kvm.qumranet.com
|
||||||
S: Supported
|
S: Supported
|
||||||
|
|
||||||
KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC
|
KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC
|
||||||
P: Hollis Blanchard
|
P: Hollis Blanchard
|
||||||
M: hollisb@us.ibm.com
|
M: hollisb@us.ibm.com
|
||||||
L: kvm-ppc-devel@lists.sourceforge.net
|
L: kvm-ppc@vger.kernel.org
|
||||||
W: kvm.sourceforge.net
|
W: http://kvm.qumranet.com
|
||||||
S: Supported
|
S: Supported
|
||||||
|
|
||||||
KERNEL VIRTUAL MACHINE For Itanium(KVM/IA64)
|
KERNEL VIRTUAL MACHINE For Itanium (KVM/IA64)
|
||||||
P: Anthony Xu
|
P: Anthony Xu
|
||||||
M: anthony.xu@intel.com
|
M: anthony.xu@intel.com
|
||||||
P: Xiantao Zhang
|
P: Xiantao Zhang
|
||||||
M: xiantao.zhang@intel.com
|
M: xiantao.zhang@intel.com
|
||||||
L: kvm-ia64-devel@lists.sourceforge.net
|
L: kvm-ia64@vger.kernel.org
|
||||||
W: kvm.sourceforge.net
|
W: http://kvm.qumranet.com
|
||||||
S: Supported
|
S: Supported
|
||||||
|
|
||||||
KERNEL VIRTUAL MACHINE for s390 (KVM/s390)
|
KERNEL VIRTUAL MACHINE for s390 (KVM/s390)
|
||||||
@@ -2817,6 +2837,15 @@ M: jirislaby@gmail.com
|
|||||||
L: linux-kernel@vger.kernel.org
|
L: linux-kernel@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
|
MYRICOM MYRI-10G 10GbE DRIVER (MYRI10GE)
|
||||||
|
P: Andrew Gallatin
|
||||||
|
M: gallatin@myri.com
|
||||||
|
P: Brice Goglin
|
||||||
|
M: brice@myri.com
|
||||||
|
L: netdev@vger.kernel.org
|
||||||
|
W: http://www.myri.com/scs/download-Myri10GE.html
|
||||||
|
S: Supported
|
||||||
|
|
||||||
NATSEMI ETHERNET DRIVER (DP8381x)
|
NATSEMI ETHERNET DRIVER (DP8381x)
|
||||||
P: Tim Hockin
|
P: Tim Hockin
|
||||||
M: thockin@hockin.org
|
M: thockin@hockin.org
|
||||||
@@ -3130,7 +3159,7 @@ PCI ERROR RECOVERY
|
|||||||
P: Linas Vepstas
|
P: Linas Vepstas
|
||||||
M: linas@austin.ibm.com
|
M: linas@austin.ibm.com
|
||||||
L: linux-kernel@vger.kernel.org
|
L: linux-kernel@vger.kernel.org
|
||||||
L: linux-pci@atrey.karlin.mff.cuni.cz
|
L: linux-pci@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
|
|
||||||
PCI SUBSYSTEM
|
PCI SUBSYSTEM
|
||||||
@@ -3764,6 +3793,14 @@ M: dbrownell@users.sourceforge.net
|
|||||||
L: spi-devel-general@lists.sourceforge.net
|
L: spi-devel-general@lists.sourceforge.net
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
|
SPU FILE SYSTEM
|
||||||
|
P: Jeremy Kerr
|
||||||
|
M: jk@ozlabs.org
|
||||||
|
L: linuxppc-dev@ozlabs.org
|
||||||
|
L: cbe-oss-dev@ozlabs.org
|
||||||
|
W: http://www.ibm.com/developerworks/power/cell/
|
||||||
|
S: Supported
|
||||||
|
|
||||||
STABLE BRANCH:
|
STABLE BRANCH:
|
||||||
P: Greg Kroah-Hartman
|
P: Greg Kroah-Hartman
|
||||||
M: greg@kroah.com
|
M: greg@kroah.com
|
||||||
@@ -4019,12 +4056,41 @@ M: ballabio_dario@emc.com
|
|||||||
L: linux-scsi@vger.kernel.org
|
L: linux-scsi@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
|
UCLINUX (AND M68KNOMMU)
|
||||||
|
P: Greg Ungerer
|
||||||
|
M: gerg@uclinux.org
|
||||||
|
W: http://www.uclinux.org/
|
||||||
|
L: uclinux-dev@uclinux.org (subscribers-only)
|
||||||
|
S: Maintained
|
||||||
|
|
||||||
|
UCLINUX FOR NEC V850
|
||||||
|
P: Miles Bader
|
||||||
|
|
||||||
|
UCLINUX FOR RENESAS H8/300
|
||||||
|
P: Yoshinori Sato
|
||||||
|
M: ysato@users.sourceforge.jp
|
||||||
|
W: http://uclinux-h8.sourceforge.jp/
|
||||||
|
S: Supported
|
||||||
|
|
||||||
UDF FILESYSTEM
|
UDF FILESYSTEM
|
||||||
P: Jan Kara
|
P: Jan Kara
|
||||||
M: jack@suse.cz
|
M: jack@suse.cz
|
||||||
W: http://linux-udf.sourceforge.net
|
W: http://linux-udf.sourceforge.net
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
|
UFS FILESYSTEM
|
||||||
|
P: Evgeniy Dushistov
|
||||||
|
M: dushistov@mail.ru
|
||||||
|
L: linux-kernel@vger.kernel.org
|
||||||
|
S: Maintained
|
||||||
|
|
||||||
|
UltraSPARC (sparc64):
|
||||||
|
P: David S. Miller
|
||||||
|
M: davem@davemloft.net
|
||||||
|
L: sparclinux@vger.kernel.org
|
||||||
|
T: git kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6.git
|
||||||
|
S: Maintained
|
||||||
|
|
||||||
UNIFORM CDROM DRIVER
|
UNIFORM CDROM DRIVER
|
||||||
P: Jens Axboe
|
P: Jens Axboe
|
||||||
M: axboe@kernel.dk
|
M: axboe@kernel.dk
|
||||||
@@ -4071,6 +4137,13 @@ L: netdev@vger.kernel.org
|
|||||||
W: http://www.linux-usb.org/usbnet
|
W: http://www.linux-usb.org/usbnet
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
|
USB DIAMOND RIO500 DRIVER
|
||||||
|
P: Cesar Miquel
|
||||||
|
M: miquel@df.uba.ar
|
||||||
|
L: rio500-users@lists.sourceforge.net
|
||||||
|
W: http://rio500.sourceforge.net
|
||||||
|
S: Maintained
|
||||||
|
|
||||||
USB EHCI DRIVER
|
USB EHCI DRIVER
|
||||||
P: David Brownell
|
P: David Brownell
|
||||||
M: dbrownell@users.sourceforge.net
|
M: dbrownell@users.sourceforge.net
|
||||||
@@ -4302,6 +4375,14 @@ M: gregkh@suse.de
|
|||||||
L: linux-kernel@vger.kernel.org
|
L: linux-kernel@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
|
UTIL-LINUX-NG PACKAGE
|
||||||
|
P: Karel Zak
|
||||||
|
M: kzak@redhat.com
|
||||||
|
L: util-linux-ng@vger.kernel.org
|
||||||
|
W: http://kernel.org/~kzak/util-linux-ng/
|
||||||
|
T: git://git.kernel.org/pub/scm/utils/util-linux-ng/util-linux-ng.git
|
||||||
|
S: Maintained
|
||||||
|
|
||||||
VFAT/FAT/MSDOS FILESYSTEM:
|
VFAT/FAT/MSDOS FILESYSTEM:
|
||||||
P: OGAWA Hirofumi
|
P: OGAWA Hirofumi
|
||||||
M: hirofumi@mail.parknet.co.jp
|
M: hirofumi@mail.parknet.co.jp
|
||||||
@@ -4325,42 +4406,6 @@ M: romieu@fr.zoreil.com
|
|||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
UCLINUX (AND M68KNOMMU)
|
|
||||||
P: Greg Ungerer
|
|
||||||
M: gerg@uclinux.org
|
|
||||||
W: http://www.uclinux.org/
|
|
||||||
L: uclinux-dev@uclinux.org (subscribers-only)
|
|
||||||
S: Maintained
|
|
||||||
|
|
||||||
UCLINUX FOR NEC V850
|
|
||||||
P: Miles Bader
|
|
||||||
|
|
||||||
UCLINUX FOR RENESAS H8/300
|
|
||||||
P: Yoshinori Sato
|
|
||||||
M: ysato@users.sourceforge.jp
|
|
||||||
W: http://uclinux-h8.sourceforge.jp/
|
|
||||||
S: Supported
|
|
||||||
|
|
||||||
UFS FILESYSTEM
|
|
||||||
P: Evgeniy Dushistov
|
|
||||||
M: dushistov@mail.ru
|
|
||||||
L: linux-kernel@vger.kernel.org
|
|
||||||
S: Maintained
|
|
||||||
|
|
||||||
UltraSPARC (sparc64):
|
|
||||||
P: David S. Miller
|
|
||||||
M: davem@davemloft.net
|
|
||||||
L: sparclinux@vger.kernel.org
|
|
||||||
T: git kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6.git
|
|
||||||
S: Maintained
|
|
||||||
|
|
||||||
USB DIAMOND RIO500 DRIVER
|
|
||||||
P: Cesar Miquel
|
|
||||||
M: miquel@df.uba.ar
|
|
||||||
L: rio500-users@lists.sourceforge.net
|
|
||||||
W: http://rio500.sourceforge.net
|
|
||||||
S: Maintained
|
|
||||||
|
|
||||||
VIDEO FOR LINUX
|
VIDEO FOR LINUX
|
||||||
P: Mauro Carvalho Chehab
|
P: Mauro Carvalho Chehab
|
||||||
M: mchehab@infradead.org
|
M: mchehab@infradead.org
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
VERSION = 2
|
VERSION = 2
|
||||||
PATCHLEVEL = 6
|
PATCHLEVEL = 6
|
||||||
SUBLEVEL = 26
|
SUBLEVEL = 26
|
||||||
EXTRAVERSION = -rc2
|
EXTRAVERSION = -rc4
|
||||||
NAME = Funky Weasel is Jiggy wit it
|
NAME = Funky Weasel is Jiggy wit it
|
||||||
|
|
||||||
# *DOCUMENTATION*
|
# *DOCUMENTATION*
|
||||||
@@ -1114,6 +1114,7 @@ MRPROPER_DIRS += include/config include2 usr/include
|
|||||||
MRPROPER_FILES += .config .config.old include/asm .version .old_version \
|
MRPROPER_FILES += .config .config.old include/asm .version .old_version \
|
||||||
include/linux/autoconf.h include/linux/version.h \
|
include/linux/autoconf.h include/linux/version.h \
|
||||||
include/linux/utsrelease.h \
|
include/linux/utsrelease.h \
|
||||||
|
include/linux/bounds.h include/asm*/asm-offsets.h \
|
||||||
Module.symvers tags TAGS cscope*
|
Module.symvers tags TAGS cscope*
|
||||||
|
|
||||||
# clean - Delete most, but leave enough to build external modules
|
# clean - Delete most, but leave enough to build external modules
|
||||||
@@ -1431,7 +1432,7 @@ define xtags
|
|||||||
elif $1 --version 2>&1 | grep -iq emacs; then \
|
elif $1 --version 2>&1 | grep -iq emacs; then \
|
||||||
$(all-sources) | xargs $1 -a; \
|
$(all-sources) | xargs $1 -a; \
|
||||||
$(all-kconfigs) | xargs $1 -a \
|
$(all-kconfigs) | xargs $1 -a \
|
||||||
--regex='/^[ \t]*(menu|)config[ \t]+\([a-zA-Z0-9_]+\)/\2/'; \
|
--regex='/^[ \t]*\(\(menu\)*config\)[ \t]+\([a-zA-Z0-9_]+\)/\3/'; \
|
||||||
$(all-defconfigs) | xargs -r $1 -a \
|
$(all-defconfigs) | xargs -r $1 -a \
|
||||||
--regex='/^#?[ \t]?\(CONFIG_[a-zA-Z0-9_]+\)/\1/'; \
|
--regex='/^#?[ \t]?\(CONFIG_[a-zA-Z0-9_]+\)/\1/'; \
|
||||||
else \
|
else \
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
|
|
||||||
static struct fs_struct init_fs = INIT_FS;
|
static struct fs_struct init_fs = INIT_FS;
|
||||||
static struct files_struct init_files = INIT_FILES;
|
|
||||||
static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
|
static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
|
||||||
static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
|
static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
|
||||||
struct mm_struct init_mm = INIT_MM(init_mm);
|
struct mm_struct init_mm = INIT_MM(init_mm);
|
||||||
|
|||||||
+48
-18
@@ -321,11 +321,42 @@ static void locomo_gpio_unmask_irq(unsigned int irq)
|
|||||||
locomo_writel(r, mapbase + LOCOMO_GIE);
|
locomo_writel(r, mapbase + LOCOMO_GIE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int GPIO_IRQ_rising_edge;
|
||||||
|
static int GPIO_IRQ_falling_edge;
|
||||||
|
|
||||||
|
static int locomo_gpio_type(unsigned int irq, unsigned int type)
|
||||||
|
{
|
||||||
|
unsigned int mask;
|
||||||
|
void __iomem *mapbase = get_irq_chip_data(irq);
|
||||||
|
|
||||||
|
mask = 1 << (irq - LOCOMO_IRQ_GPIO_START);
|
||||||
|
|
||||||
|
if (type == IRQT_PROBE) {
|
||||||
|
if ((GPIO_IRQ_rising_edge | GPIO_IRQ_falling_edge) & mask)
|
||||||
|
return 0;
|
||||||
|
type = __IRQT_RISEDGE | __IRQT_FALEDGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type & __IRQT_RISEDGE)
|
||||||
|
GPIO_IRQ_rising_edge |= mask;
|
||||||
|
else
|
||||||
|
GPIO_IRQ_rising_edge &= ~mask;
|
||||||
|
if (type & __IRQT_FALEDGE)
|
||||||
|
GPIO_IRQ_falling_edge |= mask;
|
||||||
|
else
|
||||||
|
GPIO_IRQ_falling_edge &= ~mask;
|
||||||
|
locomo_writel(GPIO_IRQ_rising_edge, mapbase + LOCOMO_GRIE);
|
||||||
|
locomo_writel(GPIO_IRQ_falling_edge, mapbase + LOCOMO_GFIE);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static struct irq_chip locomo_gpio_chip = {
|
static struct irq_chip locomo_gpio_chip = {
|
||||||
.name = "LOCOMO-gpio",
|
.name = "LOCOMO-gpio",
|
||||||
.ack = locomo_gpio_ack_irq,
|
.ack = locomo_gpio_ack_irq,
|
||||||
.mask = locomo_gpio_mask_irq,
|
.mask = locomo_gpio_mask_irq,
|
||||||
.unmask = locomo_gpio_unmask_irq,
|
.unmask = locomo_gpio_unmask_irq,
|
||||||
|
.set_type = locomo_gpio_type,
|
||||||
};
|
};
|
||||||
|
|
||||||
static void locomo_lt_handler(unsigned int irq, struct irq_desc *desc)
|
static void locomo_lt_handler(unsigned int irq, struct irq_desc *desc)
|
||||||
@@ -450,22 +481,18 @@ static void locomo_setup_irq(struct locomo *lchip)
|
|||||||
set_irq_chip(IRQ_LOCOMO_KEY_BASE, &locomo_chip);
|
set_irq_chip(IRQ_LOCOMO_KEY_BASE, &locomo_chip);
|
||||||
set_irq_chip_data(IRQ_LOCOMO_KEY_BASE, irqbase);
|
set_irq_chip_data(IRQ_LOCOMO_KEY_BASE, irqbase);
|
||||||
set_irq_chained_handler(IRQ_LOCOMO_KEY_BASE, locomo_key_handler);
|
set_irq_chained_handler(IRQ_LOCOMO_KEY_BASE, locomo_key_handler);
|
||||||
set_irq_flags(IRQ_LOCOMO_KEY_BASE, IRQF_VALID | IRQF_PROBE);
|
|
||||||
|
|
||||||
set_irq_chip(IRQ_LOCOMO_GPIO_BASE, &locomo_chip);
|
set_irq_chip(IRQ_LOCOMO_GPIO_BASE, &locomo_chip);
|
||||||
set_irq_chip_data(IRQ_LOCOMO_GPIO_BASE, irqbase);
|
set_irq_chip_data(IRQ_LOCOMO_GPIO_BASE, irqbase);
|
||||||
set_irq_chained_handler(IRQ_LOCOMO_GPIO_BASE, locomo_gpio_handler);
|
set_irq_chained_handler(IRQ_LOCOMO_GPIO_BASE, locomo_gpio_handler);
|
||||||
set_irq_flags(IRQ_LOCOMO_GPIO_BASE, IRQF_VALID | IRQF_PROBE);
|
|
||||||
|
|
||||||
set_irq_chip(IRQ_LOCOMO_LT_BASE, &locomo_chip);
|
set_irq_chip(IRQ_LOCOMO_LT_BASE, &locomo_chip);
|
||||||
set_irq_chip_data(IRQ_LOCOMO_LT_BASE, irqbase);
|
set_irq_chip_data(IRQ_LOCOMO_LT_BASE, irqbase);
|
||||||
set_irq_chained_handler(IRQ_LOCOMO_LT_BASE, locomo_lt_handler);
|
set_irq_chained_handler(IRQ_LOCOMO_LT_BASE, locomo_lt_handler);
|
||||||
set_irq_flags(IRQ_LOCOMO_LT_BASE, IRQF_VALID | IRQF_PROBE);
|
|
||||||
|
|
||||||
set_irq_chip(IRQ_LOCOMO_SPI_BASE, &locomo_chip);
|
set_irq_chip(IRQ_LOCOMO_SPI_BASE, &locomo_chip);
|
||||||
set_irq_chip_data(IRQ_LOCOMO_SPI_BASE, irqbase);
|
set_irq_chip_data(IRQ_LOCOMO_SPI_BASE, irqbase);
|
||||||
set_irq_chained_handler(IRQ_LOCOMO_SPI_BASE, locomo_spi_handler);
|
set_irq_chained_handler(IRQ_LOCOMO_SPI_BASE, locomo_spi_handler);
|
||||||
set_irq_flags(IRQ_LOCOMO_SPI_BASE, IRQF_VALID | IRQF_PROBE);
|
|
||||||
|
|
||||||
/* install handlers for IRQ_LOCOMO_KEY_BASE generated interrupts */
|
/* install handlers for IRQ_LOCOMO_KEY_BASE generated interrupts */
|
||||||
set_irq_chip(LOCOMO_IRQ_KEY_START, &locomo_key_chip);
|
set_irq_chip(LOCOMO_IRQ_KEY_START, &locomo_key_chip);
|
||||||
@@ -488,7 +515,7 @@ static void locomo_setup_irq(struct locomo *lchip)
|
|||||||
set_irq_flags(LOCOMO_IRQ_LT_START, IRQF_VALID | IRQF_PROBE);
|
set_irq_flags(LOCOMO_IRQ_LT_START, IRQF_VALID | IRQF_PROBE);
|
||||||
|
|
||||||
/* install handlers for IRQ_LOCOMO_SPI_BASE generated interrupts */
|
/* install handlers for IRQ_LOCOMO_SPI_BASE generated interrupts */
|
||||||
for (irq = LOCOMO_IRQ_SPI_START; irq < LOCOMO_IRQ_SPI_START + 3; irq++) {
|
for (irq = LOCOMO_IRQ_SPI_START; irq < LOCOMO_IRQ_SPI_START + 4; irq++) {
|
||||||
set_irq_chip(irq, &locomo_spi_chip);
|
set_irq_chip(irq, &locomo_spi_chip);
|
||||||
set_irq_chip_data(irq, irqbase);
|
set_irq_chip_data(irq, irqbase);
|
||||||
set_irq_handler(irq, handle_edge_irq);
|
set_irq_handler(irq, handle_edge_irq);
|
||||||
@@ -574,20 +601,20 @@ static int locomo_suspend(struct platform_device *dev, pm_message_t state)
|
|||||||
|
|
||||||
save->LCM_GPO = locomo_readl(lchip->base + LOCOMO_GPO); /* GPIO */
|
save->LCM_GPO = locomo_readl(lchip->base + LOCOMO_GPO); /* GPIO */
|
||||||
locomo_writel(0x00, lchip->base + LOCOMO_GPO);
|
locomo_writel(0x00, lchip->base + LOCOMO_GPO);
|
||||||
save->LCM_SPICT = locomo_readl(lchip->base + LOCOMO_SPICT); /* SPI */
|
save->LCM_SPICT = locomo_readl(lchip->base + LOCOMO_SPI + LOCOMO_SPICT); /* SPI */
|
||||||
locomo_writel(0x40, lchip->base + LOCOMO_SPICT);
|
locomo_writel(0x40, lchip->base + LOCOMO_SPICT);
|
||||||
save->LCM_GPE = locomo_readl(lchip->base + LOCOMO_GPE); /* GPIO */
|
save->LCM_GPE = locomo_readl(lchip->base + LOCOMO_GPE); /* GPIO */
|
||||||
locomo_writel(0x00, lchip->base + LOCOMO_GPE);
|
locomo_writel(0x00, lchip->base + LOCOMO_GPE);
|
||||||
save->LCM_ASD = locomo_readl(lchip->base + LOCOMO_ASD); /* ADSTART */
|
save->LCM_ASD = locomo_readl(lchip->base + LOCOMO_ASD); /* ADSTART */
|
||||||
locomo_writel(0x00, lchip->base + LOCOMO_ASD);
|
locomo_writel(0x00, lchip->base + LOCOMO_ASD);
|
||||||
save->LCM_SPIMD = locomo_readl(lchip->base + LOCOMO_SPIMD); /* SPI */
|
save->LCM_SPIMD = locomo_readl(lchip->base + LOCOMO_SPI + LOCOMO_SPIMD); /* SPI */
|
||||||
locomo_writel(0x3C14, lchip->base + LOCOMO_SPIMD);
|
locomo_writel(0x3C14, lchip->base + LOCOMO_SPI + LOCOMO_SPIMD);
|
||||||
|
|
||||||
locomo_writel(0x00, lchip->base + LOCOMO_PAIF);
|
locomo_writel(0x00, lchip->base + LOCOMO_PAIF);
|
||||||
locomo_writel(0x00, lchip->base + LOCOMO_DAC);
|
locomo_writel(0x00, lchip->base + LOCOMO_DAC);
|
||||||
locomo_writel(0x00, lchip->base + LOCOMO_BACKLIGHT + LOCOMO_TC);
|
locomo_writel(0x00, lchip->base + LOCOMO_BACKLIGHT + LOCOMO_TC);
|
||||||
|
|
||||||
if ( (locomo_readl(lchip->base + LOCOMO_LED + LOCOMO_LPT0) & 0x88) && (locomo_readl(lchip->base + LOCOMO_LED + LOCOMO_LPT1) & 0x88) )
|
if ((locomo_readl(lchip->base + LOCOMO_LED + LOCOMO_LPT0) & 0x88) && (locomo_readl(lchip->base + LOCOMO_LED + LOCOMO_LPT1) & 0x88))
|
||||||
locomo_writel(0x00, lchip->base + LOCOMO_C32K); /* CLK32 off */
|
locomo_writel(0x00, lchip->base + LOCOMO_C32K); /* CLK32 off */
|
||||||
else
|
else
|
||||||
/* 18MHz already enabled, so no wait */
|
/* 18MHz already enabled, so no wait */
|
||||||
@@ -616,10 +643,10 @@ static int locomo_resume(struct platform_device *dev)
|
|||||||
spin_lock_irqsave(&lchip->lock, flags);
|
spin_lock_irqsave(&lchip->lock, flags);
|
||||||
|
|
||||||
locomo_writel(save->LCM_GPO, lchip->base + LOCOMO_GPO);
|
locomo_writel(save->LCM_GPO, lchip->base + LOCOMO_GPO);
|
||||||
locomo_writel(save->LCM_SPICT, lchip->base + LOCOMO_SPICT);
|
locomo_writel(save->LCM_SPICT, lchip->base + LOCOMO_SPI + LOCOMO_SPICT);
|
||||||
locomo_writel(save->LCM_GPE, lchip->base + LOCOMO_GPE);
|
locomo_writel(save->LCM_GPE, lchip->base + LOCOMO_GPE);
|
||||||
locomo_writel(save->LCM_ASD, lchip->base + LOCOMO_ASD);
|
locomo_writel(save->LCM_ASD, lchip->base + LOCOMO_ASD);
|
||||||
locomo_writel(save->LCM_SPIMD, lchip->base + LOCOMO_SPIMD);
|
locomo_writel(save->LCM_SPIMD, lchip->base + LOCOMO_SPI + LOCOMO_SPIMD);
|
||||||
|
|
||||||
locomo_writel(0x00, lchip->base + LOCOMO_C32K);
|
locomo_writel(0x00, lchip->base + LOCOMO_C32K);
|
||||||
locomo_writel(0x90, lchip->base + LOCOMO_TADC);
|
locomo_writel(0x90, lchip->base + LOCOMO_TADC);
|
||||||
@@ -688,9 +715,9 @@ __locomo_probe(struct device *me, struct resource *mem, int irq)
|
|||||||
|
|
||||||
/* GPIO */
|
/* GPIO */
|
||||||
locomo_writel(0, lchip->base + LOCOMO_GPO);
|
locomo_writel(0, lchip->base + LOCOMO_GPO);
|
||||||
locomo_writel( (LOCOMO_GPIO(2) | LOCOMO_GPIO(3) | LOCOMO_GPIO(13) | LOCOMO_GPIO(14))
|
locomo_writel((LOCOMO_GPIO(1) | LOCOMO_GPIO(2) | LOCOMO_GPIO(13) | LOCOMO_GPIO(14))
|
||||||
, lchip->base + LOCOMO_GPE);
|
, lchip->base + LOCOMO_GPE);
|
||||||
locomo_writel( (LOCOMO_GPIO(2) | LOCOMO_GPIO(3) | LOCOMO_GPIO(13) | LOCOMO_GPIO(14))
|
locomo_writel((LOCOMO_GPIO(1) | LOCOMO_GPIO(2) | LOCOMO_GPIO(13) | LOCOMO_GPIO(14))
|
||||||
, lchip->base + LOCOMO_GPD);
|
, lchip->base + LOCOMO_GPD);
|
||||||
locomo_writel(0, lchip->base + LOCOMO_GIE);
|
locomo_writel(0, lchip->base + LOCOMO_GIE);
|
||||||
|
|
||||||
@@ -833,7 +860,10 @@ void locomo_gpio_set_dir(struct device *dev, unsigned int bits, unsigned int dir
|
|||||||
spin_lock_irqsave(&lchip->lock, flags);
|
spin_lock_irqsave(&lchip->lock, flags);
|
||||||
|
|
||||||
r = locomo_readl(lchip->base + LOCOMO_GPD);
|
r = locomo_readl(lchip->base + LOCOMO_GPD);
|
||||||
r &= ~bits;
|
if (dir)
|
||||||
|
r |= bits;
|
||||||
|
else
|
||||||
|
r &= ~bits;
|
||||||
locomo_writel(r, lchip->base + LOCOMO_GPD);
|
locomo_writel(r, lchip->base + LOCOMO_GPD);
|
||||||
|
|
||||||
r = locomo_readl(lchip->base + LOCOMO_GPE);
|
r = locomo_readl(lchip->base + LOCOMO_GPE);
|
||||||
|
|||||||
@@ -179,3 +179,5 @@ EXPORT_SYMBOL(_find_next_zero_bit_be);
|
|||||||
EXPORT_SYMBOL(_find_first_bit_be);
|
EXPORT_SYMBOL(_find_first_bit_be);
|
||||||
EXPORT_SYMBOL(_find_next_bit_be);
|
EXPORT_SYMBOL(_find_next_bit_be);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
EXPORT_SYMBOL(copy_page);
|
||||||
|
|||||||
@@ -90,3 +90,5 @@ static void __exit arthur_exit(void)
|
|||||||
|
|
||||||
module_init(arthur_init);
|
module_init(arthur_init);
|
||||||
module_exit(arthur_exit);
|
module_exit(arthur_exit);
|
||||||
|
|
||||||
|
MODULE_LICENSE("GPL");
|
||||||
|
|||||||
@@ -13,7 +13,6 @@
|
|||||||
#include <asm/pgtable.h>
|
#include <asm/pgtable.h>
|
||||||
|
|
||||||
static struct fs_struct init_fs = INIT_FS;
|
static struct fs_struct init_fs = INIT_FS;
|
||||||
static struct files_struct init_files = INIT_FILES;
|
|
||||||
static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
|
static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
|
||||||
static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
|
static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
|
||||||
struct mm_struct init_mm = INIT_MM(init_mm);
|
struct mm_struct init_mm = INIT_MM(init_mm);
|
||||||
|
|||||||
@@ -16,16 +16,32 @@
|
|||||||
#include <asm/mach/arch.h>
|
#include <asm/mach/arch.h>
|
||||||
#include <asm/arch/at91x40.h>
|
#include <asm/arch/at91x40.h>
|
||||||
#include <asm/arch/at91_st.h>
|
#include <asm/arch/at91_st.h>
|
||||||
|
#include <asm/arch/timex.h>
|
||||||
#include "generic.h"
|
#include "generic.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is used in the gpio code, stub locally.
|
* Export the clock functions for the AT91X40. Some external code common
|
||||||
|
* to all AT91 family parts relys on this, like the gpio and serial support.
|
||||||
*/
|
*/
|
||||||
int clk_enable(struct clk *clk)
|
int clk_enable(struct clk *clk)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void clk_disable(struct clk *clk)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned long clk_get_rate(struct clk *clk)
|
||||||
|
{
|
||||||
|
return AT91X40_MASTER_CLOCK;
|
||||||
|
}
|
||||||
|
|
||||||
|
struct clk *clk_get(struct device *dev, const char *id)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
void __init at91x40_initialize(unsigned long main_clock)
|
void __init at91x40_initialize(unsigned long main_clock)
|
||||||
{
|
{
|
||||||
at91_extern_irq = (1 << AT91X40_ID_IRQ0) | (1 << AT91X40_ID_IRQ1)
|
at91_extern_irq = (1 << AT91X40_ID_IRQ0) | (1 << AT91X40_ID_IRQ1)
|
||||||
|
|||||||
@@ -369,7 +369,8 @@ static int impd1_probe(struct lm_device *dev)
|
|||||||
|
|
||||||
lm_set_drvdata(dev, impd1);
|
lm_set_drvdata(dev, impd1);
|
||||||
|
|
||||||
printk("IM-PD1 found at 0x%08lx\n", dev->resource.start);
|
printk("IM-PD1 found at 0x%08lx\n",
|
||||||
|
(unsigned long)dev->resource.start);
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(impd1->vcos); i++) {
|
for (i = 0; i < ARRAY_SIZE(impd1->vcos); i++) {
|
||||||
impd1->vcos[i].owner = THIS_MODULE,
|
impd1->vcos[i].owner = THIS_MODULE,
|
||||||
|
|||||||
@@ -405,7 +405,6 @@ v3_pci_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
|
|||||||
addr, fsr, pc, instr, __raw_readl(SC_LBFADDR), __raw_readl(SC_LBFCODE) & 255,
|
addr, fsr, pc, instr, __raw_readl(SC_LBFADDR), __raw_readl(SC_LBFCODE) & 255,
|
||||||
v3_readb(V3_LB_ISTAT));
|
v3_readb(V3_LB_ISTAT));
|
||||||
printk(KERN_DEBUG "%s", buf);
|
printk(KERN_DEBUG "%s", buf);
|
||||||
printascii(buf);
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
v3_writeb(V3_LB_ISTAT, 0);
|
v3_writeb(V3_LB_ISTAT, 0);
|
||||||
@@ -447,6 +446,7 @@ static irqreturn_t v3_irq(int dummy, void *devid)
|
|||||||
unsigned long pc = instruction_pointer(regs);
|
unsigned long pc = instruction_pointer(regs);
|
||||||
unsigned long instr = *(unsigned long *)pc;
|
unsigned long instr = *(unsigned long *)pc;
|
||||||
char buf[128];
|
char buf[128];
|
||||||
|
extern void printascii(const char *);
|
||||||
|
|
||||||
sprintf(buf, "V3 int %d: pc=0x%08lx [%08lx] LBFADDR=%08x LBFCODE=%02x "
|
sprintf(buf, "V3 int %d: pc=0x%08lx [%08lx] LBFADDR=%08x LBFCODE=%02x "
|
||||||
"ISTAT=%02x\n", IRQ_AP_V3INT, pc, instr,
|
"ISTAT=%02x\n", IRQ_AP_V3INT, pc, instr,
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
#include <linux/mtd/mtd.h>
|
#include <linux/mtd/mtd.h>
|
||||||
#include <linux/mtd/partitions.h>
|
#include <linux/mtd/partitions.h>
|
||||||
#include <linux/spi/spi.h>
|
#include <linux/spi/spi.h>
|
||||||
#include <linux/spi/tsc2102.h>
|
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/apm-emulation.h>
|
#include <linux/apm-emulation.h>
|
||||||
|
|
||||||
@@ -63,7 +62,7 @@ static const int palmte_keymap[] = {
|
|||||||
KEY(1, 1, KEY_DOWN),
|
KEY(1, 1, KEY_DOWN),
|
||||||
KEY(1, 2, KEY_UP),
|
KEY(1, 2, KEY_UP),
|
||||||
KEY(1, 3, KEY_RIGHT),
|
KEY(1, 3, KEY_RIGHT),
|
||||||
KEY(1, 4, KEY_CENTER),
|
KEY(1, 4, KEY_ENTER),
|
||||||
0,
|
0,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -315,14 +314,6 @@ static void palmte_get_power_status(struct apm_power_info *info, int *battery)
|
|||||||
#define palmte_get_power_status NULL
|
#define palmte_get_power_status NULL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static struct tsc2102_config palmte_tsc2102_config = {
|
|
||||||
.use_internal = 0,
|
|
||||||
.monitor = TSC_BAT1 | TSC_AUX | TSC_TEMP,
|
|
||||||
.temp_at25c = { 2200, 2615 },
|
|
||||||
.apm_report = palmte_get_power_status,
|
|
||||||
.alsa_config = &palmte_alsa_config,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct omap_board_config_kernel palmte_config[] __initdata = {
|
static struct omap_board_config_kernel palmte_config[] __initdata = {
|
||||||
{ OMAP_TAG_USB, &palmte_usb_config },
|
{ OMAP_TAG_USB, &palmte_usb_config },
|
||||||
{ OMAP_TAG_MMC, &palmte_mmc_config },
|
{ OMAP_TAG_MMC, &palmte_mmc_config },
|
||||||
@@ -336,7 +327,6 @@ static struct spi_board_info palmte_spi_info[] __initdata = {
|
|||||||
.bus_num = 2, /* uWire (officially) */
|
.bus_num = 2, /* uWire (officially) */
|
||||||
.chip_select = 0, /* As opposed to 3 */
|
.chip_select = 0, /* As opposed to 3 */
|
||||||
.irq = OMAP_GPIO_IRQ(PALMTE_PINTDAV_GPIO),
|
.irq = OMAP_GPIO_IRQ(PALMTE_PINTDAV_GPIO),
|
||||||
.platform_data = &palmte_tsc2102_config,
|
|
||||||
.max_speed_hz = 8000000,
|
.max_speed_hz = 8000000,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user