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 commit 'linus/master' into sched-fixes-for-linus
This commit is contained in:
+1
-1
@@ -52,8 +52,8 @@ series
|
||||
|
||||
# cscope files
|
||||
cscope.*
|
||||
ncscope.*
|
||||
|
||||
*.orig
|
||||
*.rej
|
||||
*~
|
||||
\#*#
|
||||
|
||||
@@ -14,6 +14,10 @@ MAJOR:MINOR
|
||||
non-block filesystems which provide their own BDI, such as NFS
|
||||
and FUSE.
|
||||
|
||||
MAJOR:MINOR-fuseblk
|
||||
|
||||
Value of st_dev on fuseblk filesystems.
|
||||
|
||||
default
|
||||
|
||||
The default backing dev, used for non-block device backed
|
||||
|
||||
@@ -703,6 +703,31 @@
|
||||
</sect1>
|
||||
</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">
|
||||
<title>Common Examples</title>
|
||||
<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
|
||||
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
|
||||
set to '0' (its default), all processes are counted towards the
|
||||
'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.
|
||||
@@ -96,5 +96,4 @@ missing-syscalls: scripts/checksyscalls.sh FORCE
|
||||
$(call cmd,syscalls)
|
||||
|
||||
# Delete all targets during make clean
|
||||
clean-files := $(addprefix $(objtree)/,$(targets))
|
||||
|
||||
clean-files := $(addprefix $(objtree)/,$(filter-out $(bounds-file) $(offsets-file),$(targets)))
|
||||
|
||||
+100
-55
@@ -982,13 +982,6 @@ L: bonding-devel@lists.sourceforge.net
|
||||
W: http://sourceforge.net/projects/bonding/
|
||||
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
|
||||
P: Gary Zambrano
|
||||
M: zambrano@broadcom.com
|
||||
@@ -1052,6 +1045,14 @@ L: linux-kernel@vger.kernel.org
|
||||
L: discuss@x86-64.org
|
||||
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
|
||||
P: Miguel Ojeda Sandonis
|
||||
M: maxextreme@gmail.com
|
||||
@@ -1239,6 +1240,20 @@ L: video4linux-list@redhat.com
|
||||
W: http://linuxtv.org
|
||||
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
|
||||
P: Russell King
|
||||
M: rmk@arm.linux.org.uk
|
||||
@@ -1645,8 +1660,10 @@ W: http://linux-fbdev.sourceforge.net/
|
||||
S: Maintained
|
||||
|
||||
FREESCALE DMA DRIVER
|
||||
P; Zhang Wei
|
||||
M: wei.zhang@freescale.com
|
||||
P: Li Yang
|
||||
M: leoli@freescale.com
|
||||
P: Zhang Wei
|
||||
M: zw@zh-kernel.org
|
||||
L: linuxppc-embedded@ozlabs.org
|
||||
L: linux-kernel@vger.kernel.org
|
||||
S: Maintained
|
||||
@@ -1940,8 +1957,10 @@ L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
|
||||
I2C SUBSYSTEM
|
||||
P: Jean Delvare
|
||||
P: Jean Delvare (PC drivers, core)
|
||||
M: khali@linux-fr.org
|
||||
P: Ben Dooks (embedded platforms)
|
||||
M: ben-linux@fluff.org
|
||||
L: i2c@lm-sensors.org
|
||||
T: quilt http://khali.linux-fr.org/devel/linux-2.6/jdelvare-i2c/
|
||||
S: Maintained
|
||||
@@ -2327,7 +2346,8 @@ S: Maintained
|
||||
KERNEL BUILD (kbuild: Makefile, scripts/Makefile.*)
|
||||
P: Sam Ravnborg
|
||||
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
|
||||
S: Maintained
|
||||
|
||||
@@ -2349,24 +2369,24 @@ S: Supported
|
||||
KERNEL VIRTUAL MACHINE (KVM)
|
||||
P: Avi Kivity
|
||||
M: avi@qumranet.com
|
||||
L: kvm-devel@lists.sourceforge.net
|
||||
W: kvm.sourceforge.net
|
||||
L: kvm@vger.kernel.org
|
||||
W: http://kvm.qumranet.com
|
||||
S: Supported
|
||||
|
||||
KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC
|
||||
P: Hollis Blanchard
|
||||
M: hollisb@us.ibm.com
|
||||
L: kvm-ppc-devel@lists.sourceforge.net
|
||||
W: kvm.sourceforge.net
|
||||
L: kvm-ppc@vger.kernel.org
|
||||
W: http://kvm.qumranet.com
|
||||
S: Supported
|
||||
|
||||
KERNEL VIRTUAL MACHINE For Itanium(KVM/IA64)
|
||||
KERNEL VIRTUAL MACHINE For Itanium (KVM/IA64)
|
||||
P: Anthony Xu
|
||||
M: anthony.xu@intel.com
|
||||
P: Xiantao Zhang
|
||||
M: xiantao.zhang@intel.com
|
||||
L: kvm-ia64-devel@lists.sourceforge.net
|
||||
W: kvm.sourceforge.net
|
||||
L: kvm-ia64@vger.kernel.org
|
||||
W: http://kvm.qumranet.com
|
||||
S: Supported
|
||||
|
||||
KERNEL VIRTUAL MACHINE for s390 (KVM/s390)
|
||||
@@ -2817,6 +2837,15 @@ M: jirislaby@gmail.com
|
||||
L: linux-kernel@vger.kernel.org
|
||||
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)
|
||||
P: Tim Hockin
|
||||
M: thockin@hockin.org
|
||||
@@ -3130,7 +3159,7 @@ PCI ERROR RECOVERY
|
||||
P: Linas Vepstas
|
||||
M: linas@austin.ibm.com
|
||||
L: linux-kernel@vger.kernel.org
|
||||
L: linux-pci@atrey.karlin.mff.cuni.cz
|
||||
L: linux-pci@vger.kernel.org
|
||||
S: Supported
|
||||
|
||||
PCI SUBSYSTEM
|
||||
@@ -3764,6 +3793,14 @@ M: dbrownell@users.sourceforge.net
|
||||
L: spi-devel-general@lists.sourceforge.net
|
||||
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:
|
||||
P: Greg Kroah-Hartman
|
||||
M: greg@kroah.com
|
||||
@@ -4019,12 +4056,41 @@ M: ballabio_dario@emc.com
|
||||
L: linux-scsi@vger.kernel.org
|
||||
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
|
||||
P: Jan Kara
|
||||
M: jack@suse.cz
|
||||
W: http://linux-udf.sourceforge.net
|
||||
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
|
||||
P: Jens Axboe
|
||||
M: axboe@kernel.dk
|
||||
@@ -4071,6 +4137,13 @@ L: netdev@vger.kernel.org
|
||||
W: http://www.linux-usb.org/usbnet
|
||||
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
|
||||
P: David Brownell
|
||||
M: dbrownell@users.sourceforge.net
|
||||
@@ -4302,6 +4375,14 @@ M: gregkh@suse.de
|
||||
L: linux-kernel@vger.kernel.org
|
||||
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:
|
||||
P: OGAWA Hirofumi
|
||||
M: hirofumi@mail.parknet.co.jp
|
||||
@@ -4325,42 +4406,6 @@ M: romieu@fr.zoreil.com
|
||||
L: netdev@vger.kernel.org
|
||||
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
|
||||
P: Mauro Carvalho Chehab
|
||||
M: mchehab@infradead.org
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
VERSION = 2
|
||||
PATCHLEVEL = 6
|
||||
SUBLEVEL = 26
|
||||
EXTRAVERSION = -rc2
|
||||
EXTRAVERSION = -rc4
|
||||
NAME = Funky Weasel is Jiggy wit it
|
||||
|
||||
# *DOCUMENTATION*
|
||||
@@ -1114,6 +1114,7 @@ MRPROPER_DIRS += include/config include2 usr/include
|
||||
MRPROPER_FILES += .config .config.old include/asm .version .old_version \
|
||||
include/linux/autoconf.h include/linux/version.h \
|
||||
include/linux/utsrelease.h \
|
||||
include/linux/bounds.h include/asm*/asm-offsets.h \
|
||||
Module.symvers tags TAGS cscope*
|
||||
|
||||
# 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 \
|
||||
$(all-sources) | 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 \
|
||||
--regex='/^#?[ \t]?\(CONFIG_[a-zA-Z0-9_]+\)/\1/'; \
|
||||
else \
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
|
||||
|
||||
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 sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
|
||||
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);
|
||||
}
|
||||
|
||||
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 = {
|
||||
.name = "LOCOMO-gpio",
|
||||
.ack = locomo_gpio_ack_irq,
|
||||
.mask = locomo_gpio_mask_irq,
|
||||
.unmask = locomo_gpio_unmask_irq,
|
||||
.name = "LOCOMO-gpio",
|
||||
.ack = locomo_gpio_ack_irq,
|
||||
.mask = locomo_gpio_mask_irq,
|
||||
.unmask = locomo_gpio_unmask_irq,
|
||||
.set_type = locomo_gpio_type,
|
||||
};
|
||||
|
||||
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_data(IRQ_LOCOMO_KEY_BASE, irqbase);
|
||||
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_data(IRQ_LOCOMO_GPIO_BASE, irqbase);
|
||||
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_data(IRQ_LOCOMO_LT_BASE, irqbase);
|
||||
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_data(IRQ_LOCOMO_SPI_BASE, irqbase);
|
||||
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 */
|
||||
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);
|
||||
|
||||
/* 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_data(irq, irqbase);
|
||||
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 */
|
||||
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);
|
||||
save->LCM_GPE = locomo_readl(lchip->base + LOCOMO_GPE); /* GPIO */
|
||||
locomo_writel(0x00, lchip->base + LOCOMO_GPE);
|
||||
save->LCM_ASD = locomo_readl(lchip->base + LOCOMO_ASD); /* ADSTART */
|
||||
locomo_writel(0x00, lchip->base + LOCOMO_ASD);
|
||||
save->LCM_SPIMD = locomo_readl(lchip->base + LOCOMO_SPIMD); /* SPI */
|
||||
locomo_writel(0x3C14, lchip->base + LOCOMO_SPIMD);
|
||||
save->LCM_SPIMD = locomo_readl(lchip->base + LOCOMO_SPI + LOCOMO_SPIMD); /* SPI */
|
||||
locomo_writel(0x3C14, lchip->base + LOCOMO_SPI + LOCOMO_SPIMD);
|
||||
|
||||
locomo_writel(0x00, lchip->base + LOCOMO_PAIF);
|
||||
locomo_writel(0x00, lchip->base + LOCOMO_DAC);
|
||||
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 */
|
||||
else
|
||||
/* 18MHz already enabled, so no wait */
|
||||
@@ -616,10 +643,10 @@ static int locomo_resume(struct platform_device *dev)
|
||||
spin_lock_irqsave(&lchip->lock, flags);
|
||||
|
||||
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_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(0x90, lchip->base + LOCOMO_TADC);
|
||||
@@ -688,9 +715,9 @@ __locomo_probe(struct device *me, struct resource *mem, int irq)
|
||||
|
||||
/* GPIO */
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
|
||||
r = locomo_readl(lchip->base + LOCOMO_GPD);
|
||||
r &= ~bits;
|
||||
if (dir)
|
||||
r |= bits;
|
||||
else
|
||||
r &= ~bits;
|
||||
locomo_writel(r, lchip->base + LOCOMO_GPD);
|
||||
|
||||
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_next_bit_be);
|
||||
#endif
|
||||
|
||||
EXPORT_SYMBOL(copy_page);
|
||||
|
||||
@@ -90,3 +90,5 @@ static void __exit arthur_exit(void)
|
||||
|
||||
module_init(arthur_init);
|
||||
module_exit(arthur_exit);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
#include <asm/pgtable.h>
|
||||
|
||||
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 sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
|
||||
struct mm_struct init_mm = INIT_MM(init_mm);
|
||||
|
||||
@@ -16,16 +16,32 @@
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/arch/at91x40.h>
|
||||
#include <asm/arch/at91_st.h>
|
||||
#include <asm/arch/timex.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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
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);
|
||||
|
||||
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++) {
|
||||
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,
|
||||
v3_readb(V3_LB_ISTAT));
|
||||
printk(KERN_DEBUG "%s", buf);
|
||||
printascii(buf);
|
||||
#endif
|
||||
|
||||
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 instr = *(unsigned long *)pc;
|
||||
char buf[128];
|
||||
extern void printascii(const char *);
|
||||
|
||||
sprintf(buf, "V3 int %d: pc=0x%08lx [%08lx] LBFADDR=%08x LBFCODE=%02x "
|
||||
"ISTAT=%02x\n", IRQ_AP_V3INT, pc, instr,
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
#include <linux/mtd/mtd.h>
|
||||
#include <linux/mtd/partitions.h>
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/spi/tsc2102.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/apm-emulation.h>
|
||||
|
||||
@@ -63,7 +62,7 @@ static const int palmte_keymap[] = {
|
||||
KEY(1, 1, KEY_DOWN),
|
||||
KEY(1, 2, KEY_UP),
|
||||
KEY(1, 3, KEY_RIGHT),
|
||||
KEY(1, 4, KEY_CENTER),
|
||||
KEY(1, 4, KEY_ENTER),
|
||||
0,
|
||||
};
|
||||
|
||||
@@ -315,14 +314,6 @@ static void palmte_get_power_status(struct apm_power_info *info, int *battery)
|
||||
#define palmte_get_power_status NULL
|
||||
#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 = {
|
||||
{ OMAP_TAG_USB, &palmte_usb_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) */
|
||||
.chip_select = 0, /* As opposed to 3 */
|
||||
.irq = OMAP_GPIO_IRQ(PALMTE_PINTDAV_GPIO),
|
||||
.platform_data = &palmte_tsc2102_config,
|
||||
.max_speed_hz = 8000000,
|
||||
},
|
||||
};
|
||||
|
||||
@@ -65,7 +65,7 @@ static int palmz71_keymap[] = {
|
||||
KEY(1, 1, KEY_DOWN),
|
||||
KEY(1, 2, KEY_UP),
|
||||
KEY(1, 3, KEY_RIGHT),
|
||||
KEY(1, 4, KEY_CENTER),
|
||||
KEY(1, 4, KEY_ENTER),
|
||||
KEY(2, 0, KEY_CAMERA),
|
||||
0,
|
||||
};
|
||||
|
||||
@@ -208,6 +208,7 @@ static void __init omap_2430sdp_init(void)
|
||||
|
||||
static void __init omap_2430sdp_map_io(void)
|
||||
{
|
||||
omap2_set_globals_243x();
|
||||
omap2_map_common_io();
|
||||
}
|
||||
|
||||
|
||||
@@ -394,6 +394,7 @@ static void __init omap_apollon_init(void)
|
||||
|
||||
static void __init omap_apollon_map_io(void)
|
||||
{
|
||||
omap2_set_globals_242x();
|
||||
omap2_map_common_io();
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user