Merge commit 'v2.6.28-rc3' into tracing/ftrace

This commit is contained in:
Ingo Molnar 2008-11-03 09:11:13 +01:00
commit 36609469c8
718 changed files with 4407 additions and 6999 deletions

View File

@ -80,6 +80,8 @@ Nguyen Anh Quynh <aquynh@gmail.com>
Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Patrick Mochel <mochel@digitalimplant.org> Patrick Mochel <mochel@digitalimplant.org>
Peter A Jonsson <pj@ludd.ltu.se> Peter A Jonsson <pj@ludd.ltu.se>
Peter Oruba <peter@oruba.de>
Peter Oruba <peter.oruba@amd.com>
Praveen BP <praveenbp@ti.com> Praveen BP <praveenbp@ti.com>
Rajesh Shah <rajesh.shah@intel.com> Rajesh Shah <rajesh.shah@intel.com>
Ralf Baechle <ralf@linux-mips.org> Ralf Baechle <ralf@linux-mips.org>

View File

@ -172,7 +172,7 @@ i2c/
- directory with info about the I2C bus/protocol (2 wire, kHz speed). - directory with info about the I2C bus/protocol (2 wire, kHz speed).
i2o/ i2o/
- directory with info about the Linux I2O subsystem. - directory with info about the Linux I2O subsystem.
i386/ x86/i386/
- directory with info about Linux on Intel 32 bit architecture. - directory with info about Linux on Intel 32 bit architecture.
ia64/ ia64/
- directory with info about Linux on Intel 64 bit architecture. - directory with info about Linux on Intel 64 bit architecture.
@ -382,7 +382,7 @@ w1/
- directory with documents regarding the 1-wire (w1) subsystem. - directory with documents regarding the 1-wire (w1) subsystem.
watchdog/ watchdog/
- how to auto-reboot Linux if it has "fallen and can't get up". ;-) - how to auto-reboot Linux if it has "fallen and can't get up". ;-)
x86_64/ x86/x86_64/
- directory with info on Linux support for AMD x86-64 (Hammer) machines. - directory with info on Linux support for AMD x86-64 (Hammer) machines.
zorro.txt zorro.txt
- info on writing drivers for Zorro bus devices found on Amigas. - info on writing drivers for Zorro bus devices found on Amigas.

View File

@ -1,13 +0,0 @@
Empeg, Ltd's Empeg MP3 Car Audio Player
The initial design is to go in your car, but you can use it at home, on a
boat... almost anywhere. The principle is to store CD-quality music using
MPEG technology onto a hard disk in the unit, and use the power of the
embedded computer to serve up the music you want.
For more details, see:
http://www.empeg.com

View File

@ -1,49 +0,0 @@
Infra-red driver documentation.
Mike Crowe <mac@empeg.com>
(C) Empeg Ltd 1999
Not a lot here yet :-)
The Kenwood KCA-R6A remote control generates a sequence like the following:
Go low for approx 16T (Around 9000us)
Go high for approx 8T (Around 4000us)
Go low for less than 2T (Around 750us)
For each of the 32 bits
Go high for more than 2T (Around 1500us) == 1
Go high for less than T (Around 400us) == 0
Go low for less than 2T (Around 750us)
Rather than repeat a signal when the button is held down certain buttons
generate the following code to indicate repetition.
Go low for approx 16T
Go high for approx 4T
Go low for less than 2T
(By removing the <2T from the start of the sequence and placing at the end
it can be considered a stop bit but I found it easier to deal with it at
the start).
The 32 bits are encoded as XxYy where x and y are the actual data values
while X and Y are the logical inverses of the associated data values. Using
LSB first yields sensible codes for the numbers.
All codes are of the form b9xx
The numeric keys generate the code 0x where x is the number pressed.
Tuner 1c
Tape 1d
CD 1e
CD-MD-CH 1f
Track- 0a
Track+ 0b
Rewind 0c
FF 0d
DNPP 5e
Play/Pause 0e
Vol+ 14
Vol- 15

View File

@ -1,11 +0,0 @@
#!/bin/sh
mknod /dev/display c 244 0
mknod /dev/ir c 242 0
mknod /dev/usb0 c 243 0
mknod /dev/audio c 245 4
mknod /dev/dsp c 245 3
mknod /dev/mixer c 245 0
mknod /dev/empeg_state c 246 0
mknod /dev/radio0 c 81 64
ln -sf radio0 radio
ln -sf usb0 usb

View File

@ -291,6 +291,9 @@ explains which is which.
CPU#: The CPU which the process was running on. CPU#: The CPU which the process was running on.
irqs-off: 'd' interrupts are disabled. '.' otherwise. irqs-off: 'd' interrupts are disabled. '.' otherwise.
Note: If the architecture does not support a way to
read the irq flags variable, an 'X' will always
be printed here.
need-resched: 'N' task need_resched is set, '.' otherwise. need-resched: 'N' task need_resched is set, '.' otherwise.

View File

@ -100,7 +100,7 @@ parameter is applicable:
X86-32 X86-32, aka i386 architecture is enabled. X86-32 X86-32, aka i386 architecture is enabled.
X86-64 X86-64 architecture is enabled. X86-64 X86-64 architecture is enabled.
More X86-64 boot options can be found in More X86-64 boot options can be found in
Documentation/x86_64/boot-options.txt . Documentation/x86/x86_64/boot-options.txt .
X86 Either 32bit or 64bit x86 (same as X86-32+X86-64) X86 Either 32bit or 64bit x86 (same as X86-32+X86-64)
In addition, the following text indicates that the option: In addition, the following text indicates that the option:
@ -112,10 +112,10 @@ In addition, the following text indicates that the option:
Parameters denoted with BOOT are actually interpreted by the boot Parameters denoted with BOOT are actually interpreted by the boot
loader, and have no meaning to the kernel directly. loader, and have no meaning to the kernel directly.
Do not modify the syntax of boot loader parameters without extreme Do not modify the syntax of boot loader parameters without extreme
need or coordination with <Documentation/i386/boot.txt>. need or coordination with <Documentation/x86/i386/boot.txt>.
There are also arch-specific kernel-parameters not documented here. There are also arch-specific kernel-parameters not documented here.
See for example <Documentation/x86_64/boot-options.txt>. See for example <Documentation/x86/x86_64/boot-options.txt>.
Note that ALL kernel parameters listed below are CASE SENSITIVE, and that Note that ALL kernel parameters listed below are CASE SENSITIVE, and that
a trailing = on the name of any parameter states that that parameter will a trailing = on the name of any parameter states that that parameter will
@ -1222,7 +1222,7 @@ and is between 256 and 4096 characters. It is defined in the file
mce [X86-32] Machine Check Exception mce [X86-32] Machine Check Exception
mce=option [X86-64] See Documentation/x86_64/boot-options.txt mce=option [X86-64] See Documentation/x86/x86_64/boot-options.txt
md= [HW] RAID subsystems devices and level md= [HW] RAID subsystems devices and level
See Documentation/md.txt. See Documentation/md.txt.
@ -1728,7 +1728,7 @@ and is between 256 and 4096 characters. It is defined in the file
See Documentation/paride.txt. See Documentation/paride.txt.
pirq= [SMP,APIC] Manual mp-table setup pirq= [SMP,APIC] Manual mp-table setup
See Documentation/i386/IO-APIC.txt. See Documentation/x86/i386/IO-APIC.txt.
plip= [PPT,NET] Parallel port network link plip= [PPT,NET] Parallel port network link
Format: { parport<nr> | timid | 0 } Format: { parport<nr> | timid | 0 }
@ -2343,7 +2343,7 @@ and is between 256 and 4096 characters. It is defined in the file
See Documentation/fb/modedb.txt. See Documentation/fb/modedb.txt.
vga= [BOOT,X86-32] Select a particular video mode vga= [BOOT,X86-32] Select a particular video mode
See Documentation/i386/boot.txt and See Documentation/x86/i386/boot.txt and
Documentation/svga.txt. Documentation/svga.txt.
Use vga=ask for menu. Use vga=ask for menu.
This is actually a boot loader parameter; the value is This is actually a boot loader parameter; the value is

View File

@ -1,5 +1,5 @@
# This creates the demonstration utility "lguest" which runs a Linux guest. # This creates the demonstration utility "lguest" which runs a Linux guest.
CFLAGS:=-Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include CFLAGS:=-Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include
LDLIBS:=-lz LDLIBS:=-lz
all: lguest all: lguest

View File

@ -44,7 +44,7 @@
#include "linux/virtio_console.h" #include "linux/virtio_console.h"
#include "linux/virtio_rng.h" #include "linux/virtio_rng.h"
#include "linux/virtio_ring.h" #include "linux/virtio_ring.h"
#include "asm-x86/bootparam.h" #include "asm/bootparam.h"
/*L:110 We can ignore the 39 include files we need for this program, but I do /*L:110 We can ignore the 39 include files we need for this program, but I do
* want to draw attention to the use of kernel-style types. * want to draw attention to the use of kernel-style types.
* *
@ -402,7 +402,7 @@ static unsigned long load_bzimage(int fd)
void *p = from_guest_phys(0x100000); void *p = from_guest_phys(0x100000);
/* Go back to the start of the file and read the header. It should be /* Go back to the start of the file and read the header. It should be
* a Linux boot header (see Documentation/i386/boot.txt) */ * a Linux boot header (see Documentation/x86/i386/boot.txt) */
lseek(fd, 0, SEEK_SET); lseek(fd, 0, SEEK_SET);
read(fd, &boot, sizeof(boot)); read(fd, &boot, sizeof(boot));

View File

@ -4,8 +4,6 @@ sched-arch.txt
- CPU Scheduler implementation hints for architecture specific code. - CPU Scheduler implementation hints for architecture specific code.
sched-coding.txt sched-coding.txt
- reference for various scheduler-related methods in the O(1) scheduler. - reference for various scheduler-related methods in the O(1) scheduler.
sched-design.txt
- goals, design and implementation of the Linux O(1) scheduler.
sched-design-CFS.txt sched-design-CFS.txt
- goals, design and implementation of the Complete Fair Scheduler. - goals, design and implementation of the Complete Fair Scheduler.
sched-domains.txt sched-domains.txt

View File

@ -47,9 +47,7 @@ Next, for companion chips:
`-- sh `-- sh
`-- cchips `-- cchips
`-- hd6446x `-- hd6446x
|-- hd64461 `-- hd64461
| `-- cchip-specific files
`-- hd64465
`-- cchip-specific files `-- cchip-specific files
... and so on. Headers for the companion chips are treated the same way as ... and so on. Headers for the companion chips are treated the same way as

View File

@ -35,7 +35,7 @@ APICs
nolapic Don't use the local APIC (alias for i386 compatibility) nolapic Don't use the local APIC (alias for i386 compatibility)
pirq=... See Documentation/i386/IO-APIC.txt pirq=... See Documentation/x86/i386/IO-APIC.txt
noapictimer Don't set up the APIC timer noapictimer Don't set up the APIC timer
@ -139,7 +139,7 @@ Non Executable Mappings
SMP SMP
additional_cpus=NUM Allow NUM more CPUs for hotplug additional_cpus=NUM Allow NUM more CPUs for hotplug
(defaults are specified by the BIOS, see Documentation/x86_64/cpu-hotplug-spec) (defaults are specified by the BIOS, see Documentation/x86/x86_64/cpu-hotplug-spec)
NUMA NUMA

View File

@ -10,7 +10,7 @@ amount of system memory that are available to a certain class of tasks.
For more information on the features of cpusets, see Documentation/cpusets.txt. For more information on the features of cpusets, see Documentation/cpusets.txt.
There are a number of different configurations you can use for your needs. For There are a number of different configurations you can use for your needs. For
more information on the numa=fake command line option and its various ways of more information on the numa=fake command line option and its various ways of
configuring fake nodes, see Documentation/x86_64/boot-options.txt. configuring fake nodes, see Documentation/x86/x86_64/boot-options.txt.
For the purposes of this introduction, we'll assume a very primitive NUMA For the purposes of this introduction, we'll assume a very primitive NUMA
emulation setup of "numa=fake=4*512,". This will split our system memory into emulation setup of "numa=fake=4*512,". This will split our system memory into

View File

@ -610,6 +610,11 @@ P: Philipp Zabel
M: philipp.zabel@gmail.com M: philipp.zabel@gmail.com
S: Maintained S: Maintained
ARM/NEC MOBILEPRO 900/c MACHINE SUPPORT
P: Michael Petchkovsky
M: mkpetch@internode.on.net
S: Maintained
ARM/TOSA MACHINE SUPPORT ARM/TOSA MACHINE SUPPORT
P: Dmitry Baryshkov P: Dmitry Baryshkov
M: dbaryshkov@gmail.com M: dbaryshkov@gmail.com
@ -738,6 +743,8 @@ P: Nick Kossifidis
M: mickflemm@gmail.com M: mickflemm@gmail.com
P: Luis R. Rodriguez P: Luis R. Rodriguez
M: mcgrof@gmail.com M: mcgrof@gmail.com
P: Bob Copeland
M: me@bobcopeland.com
L: linux-wireless@vger.kernel.org L: linux-wireless@vger.kernel.org
L: ath5k-devel@lists.ath5k.org L: ath5k-devel@lists.ath5k.org
S: Maintained S: Maintained

View File

@ -1,7 +1,7 @@
VERSION = 2 VERSION = 2
PATCHLEVEL = 6 PATCHLEVEL = 6
SUBLEVEL = 28 SUBLEVEL = 28
EXTRAVERSION = -rc2 EXTRAVERSION = -rc3
NAME = Killer Bat of Doom NAME = Killer Bat of Doom
# *DOCUMENTATION* # *DOCUMENTATION*
@ -961,6 +961,7 @@ export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH)
# The asm symlink changes when $(ARCH) changes. # The asm symlink changes when $(ARCH) changes.
# Detect this and ask user to run make mrproper # Detect this and ask user to run make mrproper
# If asm is a stale symlink (point to dir that does not exist) remove it
define check-symlink define check-symlink
set -e; \ set -e; \
if [ -L include/asm ]; then \ if [ -L include/asm ]; then \
@ -970,6 +971,10 @@ define check-symlink
echo " set ARCH or save .config and run 'make mrproper' to fix it"; \ echo " set ARCH or save .config and run 'make mrproper' to fix it"; \
exit 1; \ exit 1; \
fi; \ fi; \
test -e $$asmlink || rm include/asm; \
elif [ -d include/asm ]; then \
echo "ERROR: $@ is a directory but a symlink was expected";\
exit 1; \
fi fi
endef endef
@ -1431,7 +1436,8 @@ ALLSOURCE_ARCHS := $(SRCARCH)
define find-sources define find-sources
( for arch in $(ALLSOURCE_ARCHS) ; do \ ( for arch in $(ALLSOURCE_ARCHS) ; do \
find $(__srctree)arch/$${arch} $(RCS_FIND_IGNORE) \ find $(__srctree)arch/$${arch} $(RCS_FIND_IGNORE) \
-name $1 -print; \ -wholename $(__srctree)arch/$${arch}/include/asm -type d -prune \
-o -name $1 -print; \
done ; \ done ; \
find $(__srctree)security/selinux/include $(RCS_FIND_IGNORE) \ find $(__srctree)security/selinux/include $(RCS_FIND_IGNORE) \
-name $1 -print; \ -name $1 -print; \

View File

@ -54,11 +54,13 @@
/* /*
* Prototypes * Prototypes
*/ */
#ifdef CONFIG_PM
static int sharpsl_off_charge_battery(void); static int sharpsl_off_charge_battery(void);
static int sharpsl_check_battery_temp(void);
static int sharpsl_check_battery_voltage(void); static int sharpsl_check_battery_voltage(void);
static int sharpsl_ac_check(void);
static int sharpsl_fatal_check(void); static int sharpsl_fatal_check(void);
#endif
static int sharpsl_check_battery_temp(void);
static int sharpsl_ac_check(void);
static int sharpsl_average_value(int ad); static int sharpsl_average_value(int ad);
static void sharpsl_average_clear(void); static void sharpsl_average_clear(void);
static void sharpsl_charge_toggle(struct work_struct *private_); static void sharpsl_charge_toggle(struct work_struct *private_);
@ -424,6 +426,7 @@ static int sharpsl_check_battery_temp(void)
return 0; return 0;
} }
#ifdef CONFIG_PM
static int sharpsl_check_battery_voltage(void) static int sharpsl_check_battery_voltage(void)
{ {
int val, i, buff[5]; int val, i, buff[5];
@ -455,6 +458,7 @@ static int sharpsl_check_battery_voltage(void)
return 0; return 0;
} }
#endif
static int sharpsl_ac_check(void) static int sharpsl_ac_check(void)
{ {
@ -586,8 +590,6 @@ static int corgi_pxa_pm_enter(suspend_state_t state)
return 0; return 0;
} }
#endif
/* /*
* Check for fatal battery errors * Check for fatal battery errors
@ -738,7 +740,10 @@ static int sharpsl_off_charge_battery(void)
} }
} }
} }
#else
#define sharpsl_pm_suspend NULL
#define sharpsl_pm_resume NULL
#endif
static ssize_t battery_percentage_show(struct device *dev, struct device_attribute *attr, char *buf) static ssize_t battery_percentage_show(struct device *dev, struct device_attribute *attr, char *buf)
{ {
@ -768,10 +773,12 @@ static void sharpsl_apm_get_power_status(struct apm_power_info *info)
info->battery_life = sharpsl_pm.battstat.mainbat_percent; info->battery_life = sharpsl_pm.battstat.mainbat_percent;
} }
#ifdef CONFIG_PM
static struct platform_suspend_ops sharpsl_pm_ops = { static struct platform_suspend_ops sharpsl_pm_ops = {
.enter = corgi_pxa_pm_enter, .enter = corgi_pxa_pm_enter,
.valid = suspend_valid_only_mem, .valid = suspend_valid_only_mem,
}; };
#endif
static int __init sharpsl_pm_probe(struct platform_device *pdev) static int __init sharpsl_pm_probe(struct platform_device *pdev)
{ {
@ -802,7 +809,9 @@ static int __init sharpsl_pm_probe(struct platform_device *pdev)
apm_get_power_status = sharpsl_apm_get_power_status; apm_get_power_status = sharpsl_apm_get_power_status;
#ifdef CONFIG_PM
suspend_set_ops(&sharpsl_pm_ops); suspend_set_ops(&sharpsl_pm_ops);
#endif
mod_timer(&sharpsl_pm.ac_timer, jiffies + msecs_to_jiffies(250)); mod_timer(&sharpsl_pm.ac_timer, jiffies + msecs_to_jiffies(250));

View File

@ -165,6 +165,7 @@ static struct at91_mmc_data __initdata afeb9260_mmc_data = {
static struct i2c_board_info __initdata afeb9260_i2c_devices[] = { static struct i2c_board_info __initdata afeb9260_i2c_devices[] = {
{ {
I2C_BOARD_INFO("fm3130", 0x68), I2C_BOARD_INFO("fm3130", 0x68),
}, {
I2C_BOARD_INFO("24c64", 0x50), I2C_BOARD_INFO("24c64", 0x50),
}, },
}; };

View File

@ -13,6 +13,7 @@
#ifndef __ASM_ARCH_AT91RM9200_GPIO_H #ifndef __ASM_ARCH_AT91RM9200_GPIO_H
#define __ASM_ARCH_AT91RM9200_GPIO_H #define __ASM_ARCH_AT91RM9200_GPIO_H
#include <linux/kernel.h>
#include <asm/irq.h> #include <asm/irq.h>
#define PIN_BASE NR_AIC_IRQS #define PIN_BASE NR_AIC_IRQS
@ -220,6 +221,7 @@ static inline int gpio_request(unsigned gpio, const char *label)
static inline void gpio_free(unsigned gpio) static inline void gpio_free(unsigned gpio)
{ {
might_sleep();
} }
extern int gpio_direction_input(unsigned gpio); extern int gpio_direction_input(unsigned gpio);

View File

@ -26,6 +26,7 @@
#include <linux/serial_core.h> #include <linux/serial_core.h>
#include <linux/device.h> #include <linux/device.h>
#include <linux/mm.h> #include <linux/mm.h>
#include <linux/dma-mapping.h>
#include <linux/time.h> #include <linux/time.h>
#include <linux/timex.h> #include <linux/timex.h>
#include <linux/delay.h> #include <linux/delay.h>
@ -449,12 +450,13 @@ static struct resource ep93xx_ohci_resources[] = {
}, },
}; };
static struct platform_device ep93xx_ohci_device = { static struct platform_device ep93xx_ohci_device = {
.name = "ep93xx-ohci", .name = "ep93xx-ohci",
.id = -1, .id = -1,
.dev = { .dev = {
.dma_mask = (void *)0xffffffff, .dma_mask = &ep93xx_ohci_device.dev.coherent_dma_mask,
.coherent_dma_mask = 0xffffffff, .coherent_dma_mask = DMA_BIT_MASK(32),
}, },
.num_resources = ARRAY_SIZE(ep93xx_ohci_resources), .num_resources = ARRAY_SIZE(ep93xx_ohci_resources),
.resource = ep93xx_ohci_resources, .resource = ep93xx_ohci_resources,

View File

@ -1,5 +1,6 @@
#ifndef _IMX_GPIO_H #ifndef _IMX_GPIO_H
#include <linux/kernel.h>
#include <mach/imx-regs.h> #include <mach/imx-regs.h>
#define IMX_GPIO_ALLOC_MODE_NORMAL 0 #define IMX_GPIO_ALLOC_MODE_NORMAL 0
@ -63,6 +64,8 @@ static inline int gpio_request(unsigned gpio, const char *label)
static inline void gpio_free(unsigned gpio) static inline void gpio_free(unsigned gpio)
{ {
might_sleep();
imx_gpio_free(gpio); imx_gpio_free(gpio);
} }

View File

@ -25,6 +25,7 @@
#ifndef __ASM_ARCH_IXP4XX_GPIO_H #ifndef __ASM_ARCH_IXP4XX_GPIO_H
#define __ASM_ARCH_IXP4XX_GPIO_H #define __ASM_ARCH_IXP4XX_GPIO_H
#include <linux/kernel.h>
#include <mach/hardware.h> #include <mach/hardware.h>
static inline int gpio_request(unsigned gpio, const char *label) static inline int gpio_request(unsigned gpio, const char *label)
@ -34,6 +35,8 @@ static inline int gpio_request(unsigned gpio, const char *label)
static inline void gpio_free(unsigned gpio) static inline void gpio_free(unsigned gpio)
{ {
might_sleep();
return; return;
} }

View File

@ -11,6 +11,8 @@
#ifndef __ASM_ARCH_GPIO_H_ #ifndef __ASM_ARCH_GPIO_H_
#define __ASM_ARCH_GPIO_H_ #define __ASM_ARCH_GPIO_H_
#include <linux/kernel.h>
#define KS8695_GPIO_0 0 #define KS8695_GPIO_0 0
#define KS8695_GPIO_1 1 #define KS8695_GPIO_1 1
#define KS8695_GPIO_2 2 #define KS8695_GPIO_2 2
@ -74,6 +76,7 @@ static inline int gpio_request(unsigned int pin, const char *label)
static inline void gpio_free(unsigned int pin) static inline void gpio_free(unsigned int pin)
{ {
might_sleep();
} }
#endif #endif

View File

@ -35,6 +35,8 @@
#include <mach/imx-uart.h> #include <mach/imx-uart.h>
#include <mach/iomux-mx3.h> #include <mach/iomux-mx3.h>
#include "devices.h"
/*! /*!
* @file mx31ads.c * @file mx31ads.c
* *

View File

@ -91,12 +91,12 @@ static struct map_desc pcm037_io_desc[] __initdata = {
.virtual = AIPS1_BASE_ADDR_VIRT, .virtual = AIPS1_BASE_ADDR_VIRT,
.pfn = __phys_to_pfn(AIPS1_BASE_ADDR), .pfn = __phys_to_pfn(AIPS1_BASE_ADDR),
.length = AIPS1_SIZE, .length = AIPS1_SIZE,
.type = MT_DEVICE .type = MT_DEVICE_NONSHARED
}, { }, {
.virtual = AIPS2_BASE_ADDR_VIRT, .virtual = AIPS2_BASE_ADDR_VIRT,
.pfn = __phys_to_pfn(AIPS2_BASE_ADDR), .pfn = __phys_to_pfn(AIPS2_BASE_ADDR),
.length = AIPS2_SIZE, .length = AIPS2_SIZE,
.type = MT_DEVICE .type = MT_DEVICE_NONSHARED
}, },
}; };

View File

@ -8,6 +8,7 @@
* under the terms of the GNU General Public License version 2 as published by * under the terms of the GNU General Public License version 2 as published by
* the Free Software Foundation. * the Free Software Foundation.
*/ */
#include <linux/kernel.h>
#include <linux/compiler.h> #include <linux/compiler.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
@ -63,6 +64,7 @@ EXPORT_SYMBOL(gpio_request);
void gpio_free(unsigned gpio) void gpio_free(unsigned gpio)
{ {
might_sleep();
clear_bit(gpio, gpiores); clear_bit(gpio, gpiores);
return; return;
} }

View File

@ -165,6 +165,8 @@ EXPORT_SYMBOL(gpio_request);
void gpio_free(unsigned pin) void gpio_free(unsigned pin)
{ {
might_sleep();
if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) { if (pin >= GPIO_MAX || !test_bit(pin, gpio_valid)) {
pr_debug("%s: invalid GPIO %d\n", __func__, pin); pr_debug("%s: invalid GPIO %d\n", __func__, pin);
return; return;

View File

@ -204,7 +204,9 @@ static struct sharpsl_charger_machinfo corgi_pm_machinfo = {
.read_devdata = corgipm_read_devdata, .read_devdata = corgipm_read_devdata,
.charger_wakeup = corgi_charger_wakeup, .charger_wakeup = corgi_charger_wakeup,
.should_wakeup = corgi_should_wakeup, .should_wakeup = corgi_should_wakeup,
#ifdef CONFIG_BACKLIGHT_CORGI #if defined(CONFIG_LCD_CORGI)
.backlight_limit = corgi_lcd_limit_intensity,
#elif defined(CONFIG_BACKLIGHT_CORGI)
.backlight_limit = corgibl_limit_intensity, .backlight_limit = corgibl_limit_intensity,
#endif #endif
.charge_on_volt = SHARPSL_CHARGE_ON_VOLT, .charge_on_volt = SHARPSL_CHARGE_ON_VOLT,

View File

@ -26,6 +26,7 @@ struct corgits_machinfo {
* SharpSL Backlight * SharpSL Backlight
*/ */
extern void corgibl_limit_intensity(int limit); extern void corgibl_limit_intensity(int limit);
extern void corgi_lcd_limit_intensity(int limit);
/* /*

View File

@ -385,6 +385,16 @@ static void __init spitz_init_spi(void)
if (err) if (err)
goto err_free_2; goto err_free_2;
err = gpio_direction_output(SPITZ_GPIO_ADS7846_CS, 1);
if (err)
goto err_free_3;
err = gpio_direction_output(SPITZ_GPIO_LCDCON_CS, 1);
if (err)
goto err_free_3;
err = gpio_direction_output(SPITZ_GPIO_MAX1111_CS, 1);
if (err)
goto err_free_3;
if (machine_is_akita()) { if (machine_is_akita()) {
spitz_lcdcon_info.gpio_backlight_cont = AKITA_GPIO_BACKLIGHT_CONT; spitz_lcdcon_info.gpio_backlight_cont = AKITA_GPIO_BACKLIGHT_CONT;
spitz_lcdcon_info.gpio_backlight_on = AKITA_GPIO_BACKLIGHT_ON; spitz_lcdcon_info.gpio_backlight_on = AKITA_GPIO_BACKLIGHT_ON;
@ -394,6 +404,8 @@ static void __init spitz_init_spi(void)
spi_register_board_info(ARRAY_AND_SIZE(spitz_spi_devices)); spi_register_board_info(ARRAY_AND_SIZE(spitz_spi_devices));
return; return;
err_free_3:
gpio_free(SPITZ_GPIO_MAX1111_CS);
err_free_2: err_free_2:
gpio_free(SPITZ_GPIO_LCDCON_CS); gpio_free(SPITZ_GPIO_LCDCON_CS);
err_free_1: err_free_1:

View File

@ -198,7 +198,9 @@ struct sharpsl_charger_machinfo spitz_pm_machinfo = {
.read_devdata = spitzpm_read_devdata, .read_devdata = spitzpm_read_devdata,
.charger_wakeup = spitz_charger_wakeup, .charger_wakeup = spitz_charger_wakeup,
.should_wakeup = spitz_should_wakeup, .should_wakeup = spitz_should_wakeup,
#ifdef CONFIG_BACKLIGHT_CORGI #if defined(CONFIG_LCD_CORGI)
.backlight_limit = corgi_lcd_limit_intensity,
#elif defined(CONFIG_BACKLIGHT_CORGI)
.backlight_limit = corgibl_limit_intensity, .backlight_limit = corgibl_limit_intensity,
#endif #endif
.charge_on_volt = SHARPSL_CHARGE_ON_VOLT, .charge_on_volt = SHARPSL_CHARGE_ON_VOLT,

View File

@ -349,7 +349,7 @@ ENTRY(cpu_xsc3_switch_mm)
cpu_xsc3_mt_table: cpu_xsc3_mt_table:
.long 0x00 @ L_PTE_MT_UNCACHED .long 0x00 @ L_PTE_MT_UNCACHED
.long PTE_EXT_TEX(1) @ L_PTE_MT_BUFFERABLE .long PTE_EXT_TEX(1) @ L_PTE_MT_BUFFERABLE
.long PTE_CACHEABLE @ L_PTE_MT_WRITETHROUGH .long PTE_EXT_TEX(5) | PTE_CACHEABLE @ L_PTE_MT_WRITETHROUGH
.long PTE_CACHEABLE | PTE_BUFFERABLE @ L_PTE_MT_WRITEBACK .long PTE_CACHEABLE | PTE_BUFFERABLE @ L_PTE_MT_WRITEBACK
.long PTE_EXT_TEX(1) | PTE_BUFFERABLE @ L_PTE_MT_DEV_SHARED .long PTE_EXT_TEX(1) | PTE_BUFFERABLE @ L_PTE_MT_DEV_SHARED
.long 0x00 @ unused .long 0x00 @ unused

View File

@ -188,7 +188,7 @@ static int mxc_gpio_get(struct gpio_chip *chip, unsigned offset)
struct mxc_gpio_port *port = struct mxc_gpio_port *port =
container_of(chip, struct mxc_gpio_port, chip); container_of(chip, struct mxc_gpio_port, chip);
return (__raw_readl(port->base + GPIO_DR) >> offset) & 1; return (__raw_readl(port->base + GPIO_PSR) >> offset) & 1;
} }
static int mxc_gpio_direction_input(struct gpio_chip *chip, unsigned offset) static int mxc_gpio_direction_input(struct gpio_chip *chip, unsigned offset)

View File

@ -14,6 +14,26 @@
/* Allow IO space to be anywhere in the memory */ /* Allow IO space to be anywhere in the memory */
#define IO_SPACE_LIMIT 0xffffffff #define IO_SPACE_LIMIT 0xffffffff
#ifdef CONFIG_ARCH_MX3
#define __arch_ioremap __mx3_ioremap
#define __arch_iounmap __iounmap
static inline void __iomem *
__mx3_ioremap(unsigned long phys_addr, size_t size, unsigned int mtype)
{
if (mtype == MT_DEVICE) {
/* Access all peripherals below 0x80000000 as nonshared device
* but leave l2cc alone.
*/
if ((phys_addr < 0x80000000) && ((phys_addr < L2CC_BASE_ADDR) ||
(phys_addr >= L2CC_BASE_ADDR + L2CC_SIZE)))
mtype = MT_DEVICE_NONSHARED;
}
return __arm_ioremap(phys_addr, size, mtype);
}
#endif
/* io address mapping macro */ /* io address mapping macro */
#define __io(a) ((void __iomem *)(a)) #define __io(a) ((void __iomem *)(a))

View File

@ -23,12 +23,17 @@ mach-$(CONFIG_ETRAXFS) := fs
ifneq ($(arch-y),) ifneq ($(arch-y),)
SARCH := arch-$(arch-y) SARCH := arch-$(arch-y)
inc := -Iarch/cris/include/$(SARCH)
inc += -Iarch/cris/include/$(SARCH)/arch
else else
SARCH := SARCH :=
inc :=
endif endif
ifneq ($(mach-y),) ifneq ($(mach-y),)
MACH := mach-$(mach-y) MACH := mach-$(mach-y)
inc += -Iarch/cris/include/$(SARCH)/$(MACH)/
inc += -Iarch/cris/include/$(SARCH)/$(MACH)/mach
else else
MACH := MACH :=
endif endif
@ -39,95 +44,57 @@ OBJCOPYFLAGS := -O binary -R .note -R .comment -S
CPPFLAGS_vmlinux.lds = -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE) CPPFLAGS_vmlinux.lds = -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE)
KBUILD_AFLAGS += -mlinux -march=$(arch-y) -Iinclude/asm/arch/mach -Iinclude/asm/arch KBUILD_AFLAGS += -mlinux -march=$(arch-y) $(inc)
KBUILD_CFLAGS += -mlinux -march=$(arch-y) -pipe $(inc)
KBUILD_CFLAGS += -mlinux -march=$(arch-y) -pipe -Iinclude/asm/arch/mach -Iinclude/asm/arch KBUILD_CPPFLAGS += $(inc)
ifdef CONFIG_FRAME_POINTER ifdef CONFIG_FRAME_POINTER
KBUILD_CFLAGS := $(subst -fomit-frame-pointer,,$(KBUILD_CFLAGS)) -g KBUILD_CFLAGS := $(subst -fomit-frame-pointer,,$(KBUILD_CFLAGS)) -g
KBUILD_CFLAGS += -fno-omit-frame-pointer KBUILD_CFLAGS += -fno-omit-frame-pointer
endif endif
head-y := arch/$(ARCH)/$(SARCH)/kernel/head.o head-y := arch/cris/$(SARCH)/kernel/head.o
LIBGCC = $(shell $(CC) $(KBUILD_CFLAGS) -print-file-name=libgcc.a) LIBGCC = $(shell $(CC) $(KBUILD_CFLAGS) -print-file-name=libgcc.a)
core-y += arch/$(ARCH)/kernel/ arch/$(ARCH)/mm/ core-y += arch/cris/kernel/ arch/cris/mm/
core-y += arch/$(ARCH)/$(SARCH)/kernel/ arch/$(ARCH)/$(SARCH)/mm/ core-y += arch/cris/$(SARCH)/kernel/ arch/cris/$(SARCH)/mm/
ifdef CONFIG_ETRAX_ARCH_V32 ifdef CONFIG_ETRAX_ARCH_V32
core-y += arch/$(ARCH)/$(SARCH)/$(MACH)/ core-y += arch/cris/$(SARCH)/$(MACH)/
endif endif
drivers-y += arch/$(ARCH)/$(SARCH)/drivers/ drivers-y += arch/cris/$(SARCH)/drivers/
libs-y += arch/$(ARCH)/$(SARCH)/lib/ $(LIBGCC) libs-y += arch/cris/$(SARCH)/lib/ $(LIBGCC)
# cris source path # cris source path
SRC_ARCH = $(srctree)/arch/$(ARCH) SRC_ARCH = $(srctree)/arch/cris
# cris object files path # cris object files path
OBJ_ARCH = $(objtree)/arch/$(ARCH) OBJ_ARCH = $(objtree)/arch/cris
boot := arch/$(ARCH)/boot boot := arch/cris/$(SARCH)/boot
MACHINE := arch/$(ARCH)/$(SARCH) MACHINE := arch/cris/$(SARCH)
all: zImage all: zImage
zImage Image: vmlinux zImage Image: vmlinux
$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
archprepare: $(SRC_ARCH)/.links $(srctree)/include/asm-$(ARCH)/.arch FORCE archprepare:
# Create some links to make all tools happy
$(SRC_ARCH)/.links:
@rm -rf $(SRC_ARCH)/drivers
@ln -sfn $(SARCH)/drivers $(SRC_ARCH)/drivers
@rm -rf $(SRC_ARCH)/boot
@ln -sfn $(SARCH)/boot $(SRC_ARCH)/boot
@rm -rf $(SRC_ARCH)/lib
@ln -sfn $(SARCH)/lib $(SRC_ARCH)/lib
@rm -f $(SRC_ARCH)/arch/mach
@rm -rf $(SRC_ARCH)/arch
@ln -sfn $(SARCH) $(SRC_ARCH)/arch
ifdef CONFIG_ETRAX_ARCH_V32
@ln -sfn ../$(SARCH)/$(MACH) $(SRC_ARCH)/arch/mach
endif
@rm -rf $(SRC_ARCH)/kernel/vmlinux.lds.S
@ln -sfn ../$(SARCH)/vmlinux.lds.S $(SRC_ARCH)/kernel/vmlinux.lds.S
@rm -rf $(SRC_ARCH)/kernel/asm-offsets.c
@ln -sfn ../$(SARCH)/kernel/asm-offsets.c $(SRC_ARCH)/kernel/asm-offsets.c
@touch $@
# Create link to sub arch includes
$(srctree)/include/asm-$(ARCH)/.arch: $(wildcard include/config/arch/*.h)
@echo ' SYMLINK include/asm-$(ARCH)/arch -> include/asm-$(ARCH)/$(SARCH)'
@rm -f $(srctree)/include/asm-$(ARCH)/arch/mach
@rm -f $(srctree)/include/asm-$(ARCH)/arch
@ln -sf $(SARCH) $(srctree)/include/asm-$(ARCH)/arch
ifdef CONFIG_ETRAX_ARCH_V32
@ln -sf $(MACH) $(srctree)/include/asm-$(ARCH)/arch/mach
endif
@touch $@
archclean: archclean:
$(Q)if [ -e arch/$(ARCH)/boot ]; then \ $(Q)if [ -e arch/cris/$(SARCH)/boot ]; then \
$(MAKE) $(clean)=arch/$(ARCH)/boot; \ $(MAKE) $(clean)=arch/cris/$(SARCH)/boot; \
fi fi
CLEAN_FILES += \ CLEAN_FILES += \
$(MACHINE)/boot/zImage \ $(MACHINE)/boot/zImage \
$(MACHINE)/boot/compressed/decompress.bin \ $(MACHINE)/boot/compressed/decompress.bin \
$(MACHINE)/boot/compressed/piggy.gz \ $(MACHINE)/boot/compressed/piggy.gz \
$(MACHINE)/boot/rescue/rescue.bin \ $(MACHINE)/boot/rescue/rescue.bin
$(SRC_ARCH)/.links \
$(srctree)/include/asm-$(ARCH)/.arch
MRPROPER_FILES += \
$(SRC_ARCH)/drivers \ # MRPROPER_FILES +=
$(SRC_ARCH)/boot \
$(SRC_ARCH)/lib \
$(SRC_ARCH)/arch \
$(SRC_ARCH)/kernel/vmlinux.lds.S \
$(SRC_ARCH)/kernel/asm-offsets.c
define archhelp define archhelp
echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)' echo '* zImage - Compressed kernel image (arch/cris/boot/zImage)'
echo '* Image - Uncompressed kernel image (arch/$(ARCH)/boot/Image)' echo '* Image - Uncompressed kernel image (arch/cris/boot/Image)'
endef endef

2
arch/cris/arch-v10/boot/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
Image
zImage

View File

@ -9,7 +9,7 @@
*/ */
#define ASSEMBLER_MACROS_ONLY #define ASSEMBLER_MACROS_ONLY
#include <asm/arch/sv_addr_ag.h> #include <arch/sv_addr_ag.h>
#define RAM_INIT_MAGIC 0x56902387 #define RAM_INIT_MAGIC 0x56902387
#define COMMAND_LINE_MAGIC 0x87109563 #define COMMAND_LINE_MAGIC 0x87109563

View File

@ -20,7 +20,7 @@
#include <linux/types.h> #include <linux/types.h>
#include <asm/arch/svinto.h> #include <arch/svinto.h>
/* /*
* gzip declarations * gzip declarations

View File

@ -65,7 +65,7 @@
#ifdef CONFIG_ETRAX_AXISFLASHMAP #ifdef CONFIG_ETRAX_AXISFLASHMAP
#define ASSEMBLER_MACROS_ONLY #define ASSEMBLER_MACROS_ONLY
#include <asm/arch/sv_addr_ag.h> #include <arch/sv_addr_ag.h>
;; The partitiontable is looked for at the first sector after the boot ;; The partitiontable is looked for at the first sector after the boot
;; sector. Sector size is 65536 bytes in all flashes we use. ;; sector. Sector size is 65536 bytes in all flashes we use.

View File

@ -6,7 +6,7 @@
*/ */
#define ASSEMBLER_MACROS_ONLY #define ASSEMBLER_MACROS_ONLY
#include <asm/arch/sv_addr_ag.h> #include <arch/sv_addr_ag.h>
#define CODE_START 0x40004000 #define CODE_START 0x40004000
#define CODE_LENGTH 784 #define CODE_LENGTH 784

View File

@ -6,7 +6,7 @@
*/ */
#define ASSEMBLER_MACROS_ONLY #define ASSEMBLER_MACROS_ONLY
#include <asm/arch/sv_addr_ag.h> #include <arch/sv_addr_ag.h>
.text .text

View File

@ -26,7 +26,7 @@
#include <asm/axisflashmap.h> #include <asm/axisflashmap.h>
#include <asm/mmu.h> #include <asm/mmu.h>
#include <asm/arch/sv_addr_ag.h> #include <arch/sv_addr_ag.h>
#ifdef CONFIG_CRIS_LOW_MAP #ifdef CONFIG_CRIS_LOW_MAP
#define FLASH_UNCACHED_ADDR KSEG_8 #define FLASH_UNCACHED_ADDR KSEG_8

View File

@ -24,10 +24,10 @@
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/arch/svinto.h> #include <arch/svinto.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/rtc.h> #include <asm/rtc.h>
#include <asm/arch/io_interface_mux.h> #include <arch/io_interface_mux.h>
#include "i2c.h" #include "i2c.h"

View File

@ -23,11 +23,11 @@
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <asm/etraxgpio.h> #include <asm/etraxgpio.h>
#include <asm/arch/svinto.h> #include <arch/svinto.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/arch/io_interface_mux.h> #include <arch/io_interface_mux.h>
#define GPIO_MAJOR 120 /* experimental MAJOR number */ #define GPIO_MAJOR 120 /* experimental MAJOR number */

View File

@ -25,10 +25,10 @@
#include <asm/etraxi2c.h> #include <asm/etraxi2c.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/arch/svinto.h> #include <arch/svinto.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/delay.h> #include <asm/delay.h>
#include <asm/arch/io_interface_mux.h> #include <arch/io_interface_mux.h>
#include "i2c.h" #include "i2c.h"

View File

@ -26,11 +26,11 @@
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/dma.h> #include <asm/dma.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/arch/svinto.h> #include <arch/svinto.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/sync_serial.h> #include <asm/sync_serial.h>
#include <asm/arch/io_interface_mux.h> #include <arch/io_interface_mux.h>
/* The receiver is a bit tricky beacuse of the continuous stream of data.*/ /* The receiver is a bit tricky beacuse of the continuous stream of data.*/
/* */ /* */

View File

@ -1,47 +0,0 @@
#include <linux/sched.h>
#include <asm/thread_info.h>
/*
* Generate definitions needed by assembly language modules.
* This code generates raw asm output which is post-processed to extract
* and format the required data.
*/
#define DEFINE(sym, val) \
asm volatile("\n->" #sym " %0 " #val : : "i" (val))
#define BLANK() asm volatile("\n->" : : )
int main(void)
{
#define ENTRY(entry) DEFINE(PT_ ## entry, offsetof(struct pt_regs, entry))
ENTRY(orig_r10);
ENTRY(r13);
ENTRY(r12);
ENTRY(r11);
ENTRY(r10);
ENTRY(r9);
ENTRY(mof);
ENTRY(dccr);
ENTRY(srp);
BLANK();
#undef ENTRY
#define ENTRY(entry) DEFINE(TI_ ## entry, offsetof(struct thread_info, entry))
ENTRY(task);
ENTRY(flags);
ENTRY(preempt_count);
BLANK();
#undef ENTRY
#define ENTRY(entry) DEFINE(THREAD_ ## entry, offsetof(struct thread_struct, entry))
ENTRY(ksp);
ENTRY(usp);
ENTRY(dccr);
BLANK();
#undef ENTRY
#define ENTRY(entry) DEFINE(TASK_ ## entry, offsetof(struct task_struct, entry))
ENTRY(pid);
BLANK();
DEFINE(LCLONE_VM, CLONE_VM);
DEFINE(LCLONE_UNTRACED, CLONE_UNTRACED);
return 0;
}

View File

@ -1,6 +1,6 @@
#include <linux/module.h> #include <linux/module.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/arch/svinto.h> #include <arch/svinto.h>
/* Export shadow registers for the CPU I/O pins */ /* Export shadow registers for the CPU I/O pins */
EXPORT_SYMBOL(genconfig_shadow); EXPORT_SYMBOL(genconfig_shadow);

View File

@ -19,7 +19,7 @@
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/tty.h> #include <linux/tty.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/arch/svinto.h> #include <arch/svinto.h>
#include <asm/io.h> /* Get SIMCOUT. */ #include <asm/io.h> /* Get SIMCOUT. */
extern void reset_watchdog(void); extern void reset_watchdog(void);

View File

@ -7,7 +7,7 @@
#include <linux/errno.h> #include <linux/errno.h>
#include <asm/dma.h> #include <asm/dma.h>
#include <asm/arch/svinto.h> #include <arch/svinto.h>
/* Macro to access ETRAX 100 registers */ /* Macro to access ETRAX 100 registers */
#define SETS(var, reg, field, val) var = (var & ~IO_MASK_(reg##_, field##_)) | \ #define SETS(var, reg, field, val) var = (var & ~IO_MASK_(reg##_, field##_)) | \

View File

@ -23,7 +23,7 @@
#include <linux/linkage.h> #include <linux/linkage.h>
#include <linux/sys.h> #include <linux/sys.h>
#include <asm/unistd.h> #include <asm/unistd.h>
#include <asm/arch/sv_addr_ag.h> #include <arch/sv_addr_ag.h>
#include <asm/errno.h> #include <asm/errno.h>
#include <asm/thread_info.h> #include <asm/thread_info.h>
#include <asm/asm-offsets.h> #include <asm/asm-offsets.h>

View File

@ -24,7 +24,7 @@
#include <asm/rtc.h> #include <asm/rtc.h>
#include <asm/arch/svinto.h> #include <arch/svinto.h>
#include <asm/fasttimer.h> #include <asm/fasttimer.h>
#include <linux/proc_fs.h> #include <linux/proc_fs.h>

View File

@ -10,7 +10,7 @@
#define ASSEMBLER_MACROS_ONLY #define ASSEMBLER_MACROS_ONLY
/* The IO_* macros use the ## token concatenation operator, so /* The IO_* macros use the ## token concatenation operator, so
-traditional must not be used when assembling this file. */ -traditional must not be used when assembling this file. */
#include <asm/arch/sv_addr_ag.h> #include <arch/sv_addr_ag.h>
#define CRAMFS_MAGIC 0x28cd3d45 #define CRAMFS_MAGIC 0x28cd3d45
#define RAM_INIT_MAGIC 0x56902387 #define RAM_INIT_MAGIC 0x56902387

View File

@ -11,9 +11,9 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/init.h> #include <linux/init.h>
#include <asm/arch/svinto.h> #include <arch/svinto.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/arch/io_interface_mux.h> #include <arch/io_interface_mux.h>
#define DBG(s) #define DBG(s)

View File

@ -176,7 +176,7 @@
#include <asm/setup.h> #include <asm/setup.h>
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/arch/svinto.h> #include <arch/svinto.h>
#include <asm/irq.h> #include <asm/irq.h>
static int kgdb_started = 0; static int kgdb_started = 0;

View File

@ -14,7 +14,7 @@
#include <linux/err.h> #include <linux/err.h>
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <asm/arch/svinto.h> #include <arch/svinto.h>
#include <linux/init.h> #include <linux/init.h>
#ifdef CONFIG_ETRAX_GPIO #ifdef CONFIG_ETRAX_GPIO

View File

@ -14,7 +14,7 @@
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/mm.h> #include <linux/mm.h>
#include <asm/arch/svinto.h> #include <arch/svinto.h>
#include <asm/types.h> #include <asm/types.h>
#include <asm/signal.h> #include <asm/signal.h>
#include <asm/io.h> #include <asm/io.h>

View File

@ -10,7 +10,7 @@
#include <linux/ptrace.h> #include <linux/ptrace.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/arch/sv_addr_ag.h> #include <arch/sv_addr_ag.h>
void void
show_registers(struct pt_regs *regs) show_registers(struct pt_regs *regs)

View File

@ -13,7 +13,7 @@
#include <linux/mm.h> #include <linux/mm.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
#include <asm/arch/svinto.h> #include <arch/svinto.h>
#include <asm/mmu_context.h> #include <asm/mmu_context.h>
/* debug of low-level TLB reload */ /* debug of low-level TLB reload */

View File

@ -12,7 +12,7 @@
#include <asm/mmu.h> #include <asm/mmu.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/mmu_context.h> #include <asm/mmu_context.h>
#include <asm/arch/svinto.h> #include <arch/svinto.h>
extern void tlb_init(void); extern void tlb_init(void);

View File

@ -12,7 +12,7 @@
#include <asm/tlb.h> #include <asm/tlb.h>
#include <asm/mmu_context.h> #include <asm/mmu_context.h>
#include <asm/arch/svinto.h> #include <arch/svinto.h>
#define D(x) #define D(x)

View File

@ -1,118 +0,0 @@
/* ld script to make the Linux/CRIS kernel
* Authors: Bjorn Wesen (bjornw@axis.com)
*
* It is VERY DANGEROUS to fiddle around with the symbols in this
* script. It is for example quite vital that all generated sections
* that are used are actually named here, otherwise the linker will
* put them at the end, where the init stuff is which is FREED after
* the kernel has booted.
*/
#include <asm-generic/vmlinux.lds.h>
#include <asm/page.h>
jiffies = jiffies_64;
SECTIONS
{
. = DRAM_VIRTUAL_BASE;
dram_start = .;
ibr_start = .;
. = . + 0x4000; /* see head.S and pages reserved at the start */
_text = .; /* Text and read-only data */
text_start = .; /* lots of aliases */
_stext = .;
__stext = .;
.text : {
TEXT_TEXT
SCHED_TEXT
LOCK_TEXT
*(.fixup)
*(.text.__*)
}
_etext = . ; /* End of text section */
__etext = .;
. = ALIGN(4); /* Exception table */
__start___ex_table = .;
__ex_table : { *(__ex_table) }
__stop___ex_table = .;
RODATA
. = ALIGN (4);
___data_start = . ;
__Sdata = . ;
.data : { /* Data */
DATA_DATA
}
__edata = . ; /* End of data section */
_edata = . ;
. = ALIGN(PAGE_SIZE); /* init_task and stack, must be aligned */
.data.init_task : { *(.data.init_task) }
. = ALIGN(PAGE_SIZE); /* Init code and data */
__init_begin = .;
.init.text : {
_sinittext = .;
INIT_TEXT
_einittext = .;
}
.init.data : { INIT_DATA }
. = ALIGN(16);
__setup_start = .;
.init.setup : { *(.init.setup) }
__setup_end = .;
.initcall.init : {
__initcall_start = .;
INITCALLS
__initcall_end = .;
}
.con_initcall.init : {
__con_initcall_start = .;
*(.con_initcall.init)
__con_initcall_end = .;
}
SECURITY_INIT
#ifdef CONFIG_BLK_DEV_INITRD
.init.ramfs : {
__initramfs_start = .;
*(.init.ramfs)
__initramfs_end = .;
}
#endif
__vmlinux_end = .; /* last address of the physical file */
/*
* We fill to the next page, so we can discard all init
* pages without needing to consider what payload might be
* appended to the kernel image.
*/
. = ALIGN(PAGE_SIZE);
__init_end = .;
__data_end = . ; /* Move to _edata ? */
__bss_start = .; /* BSS */
.bss : {
*(COMMON)
*(.bss)
}
. = ALIGN (0x20);
_end = .;
__end = .;
/* Sections to be discarded */
/DISCARD/ : {
EXIT_TEXT
EXIT_DATA
*(.exitcall.exit)
}
dram_end = dram_start + CONFIG_ETRAX_DRAM_SIZE*1024*1024;
}

View File

@ -7,7 +7,7 @@
#define ASSEMBLER_MACROS_ONLY #define ASSEMBLER_MACROS_ONLY
#include <hwregs/asm/reg_map_asm.h> #include <hwregs/asm/reg_map_asm.h>
#include <asm/arch/mach/startup.inc> #include <mach/startup.inc>
#define RAM_INIT_MAGIC 0x56902387 #define RAM_INIT_MAGIC 0x56902387
#define COMMAND_LINE_MAGIC 0x87109563 #define COMMAND_LINE_MAGIC 0x87109563
@ -17,7 +17,7 @@
.globl input_data .globl input_data
.text .text
start: _start:
di di
;; Start clocks for used blocks. ;; Start clocks for used blocks.
@ -28,7 +28,13 @@ start:
beq dram_init_finished beq dram_init_finished
nop nop
#include "../../mach/dram_init.S" #if defined CONFIG_ETRAXFS
#include "../../mach-fs/dram_init.S"
#elif defined CONFIG_CRIS_MACH_ARTPEC3
#include "../../mach-a3/dram_init.S"
#else
#error Only ETRAXFS and ARTPEC-3 supported!
#endif
dram_init_finished: dram_init_finished:
@ -130,4 +136,10 @@ _cmd_line_addr:
_boot_source: _boot_source:
.dword 0 .dword 0
#include "../../mach/hw_settings.S" #if defined CONFIG_ETRAXFS
#include "../../mach-fs/hw_settings.S"
#elif defined CONFIG_CRIS_MACH_ARTPEC3
#include "../../mach-a3/hw_settings.S"
#else
#error Only ETRAXFS and ARTPEC-3 supported!
#endif

View File

@ -33,7 +33,7 @@
#include <asm/io.h> #include <asm/io.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/arch/mach/pinmux.h> #include <mach/pinmux.h>
#ifdef CONFIG_ETRAX_VIRTUAL_GPIO #ifdef CONFIG_ETRAX_VIRTUAL_GPIO
#include "../i2c.h" #include "../i2c.h"

View File

@ -18,7 +18,7 @@
#include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h>
#include <linux/mtd/nand.h> #include <linux/mtd/nand.h>
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <asm/arch/memmap.h> #include <arch/memmap.h>
#include <hwregs/reg_map.h> #include <hwregs/reg_map.h>
#include <hwregs/reg_rdwr.h> #include <hwregs/reg_rdwr.h>
#include <hwregs/pio_defs.h> #include <hwregs/pio_defs.h>

View File

@ -18,7 +18,7 @@
#include <linux/mtd/mtd.h> #include <linux/mtd/mtd.h>
#include <linux/mtd/nand.h> #include <linux/mtd/nand.h>
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <asm/arch/memmap.h> #include <arch/memmap.h>
#include <hwregs/reg_map.h> #include <hwregs/reg_map.h>
#include <hwregs/reg_rdwr.h> #include <hwregs/reg_rdwr.h>
#include <hwregs/gio_defs.h> #include <hwregs/gio_defs.h>

View File

@ -1,6 +1,6 @@
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <asm/arch/hwregs/intr_vect.h> #include <arch/hwregs/intr_vect.h>
void __devinit pcibios_fixup_bus(struct pci_bus *b) void __devinit pcibios_fixup_bus(struct pci_bus *b)
{ {

View File

@ -1,7 +1,7 @@
#include <linux/module.h> #include <linux/module.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/arch/cache.h> #include <arch/cache.h>
#include <asm/arch/hwregs/dma.h> #include <arch/hwregs/dma.h>
/* This file is used to workaround a cache bug, Guinness TR 106. */ /* This file is used to workaround a cache bug, Guinness TR 106. */

View File

@ -1,9 +1,9 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/irq.h> #include <linux/irq.h>
#include <asm/arch/dma.h> #include <arch/dma.h>
#include <asm/arch/intmem.h> #include <arch/intmem.h>
#include <asm/arch/mach/pinmux.h> #include <mach/pinmux.h>
#include <asm/arch/io.h> #include <arch/io.h>
/* Functions for allocating DMA channels */ /* Functions for allocating DMA channels */
EXPORT_SYMBOL(crisv32_request_dma); EXPORT_SYMBOL(crisv32_request_dma);

View File

@ -9,7 +9,7 @@
#include <hwregs/reg_map.h> #include <hwregs/reg_map.h>
#include <hwregs/ser_defs.h> #include <hwregs/ser_defs.h>
#include <hwregs/dma_defs.h> #include <hwregs/dma_defs.h>
#include <asm/arch/mach/pinmux.h> #include <mach/pinmux.h>
struct dbg_port struct dbg_port
{ {

View File

@ -24,8 +24,8 @@
#include <asm/thread_info.h> #include <asm/thread_info.h>
#include <asm/asm-offsets.h> #include <asm/asm-offsets.h>
#include <asm/arch/hwregs/asm/reg_map_asm.h> #include <hwregs/asm/reg_map_asm.h>
#include <asm/arch/hwregs/asm/intr_vect_defs_asm.h> #include <hwregs/asm/intr_vect_defs_asm.h>
;; Exported functions. ;; Exported functions.
.globl system_call .globl system_call

View File

@ -10,12 +10,13 @@
* The macros found in mmu_defs_asm.h uses the ## concatenation operator, so * The macros found in mmu_defs_asm.h uses the ## concatenation operator, so
* -traditional must not be used when assembling this file. * -traditional must not be used when assembling this file.
*/ */
#include <linux/autoconf.h>
#include <arch/memmap.h>
#include <hwregs/reg_rdwr.h> #include <hwregs/reg_rdwr.h>
#include <asm/arch/memmap.h>
#include <hwregs/intr_vect.h> #include <hwregs/intr_vect.h>
#include <hwregs/asm/mmu_defs_asm.h> #include <hwregs/asm/mmu_defs_asm.h>
#include <hwregs/asm/reg_map_asm.h> #include <hwregs/asm/reg_map_asm.h>
#include <asm/arch/mach/startup.inc> #include <mach/startup.inc>
#define CRAMFS_MAGIC 0x28cd3d45 #define CRAMFS_MAGIC 0x28cd3d45
#define JHEAD_MAGIC 0x1FF528A6 #define JHEAD_MAGIC 0x1FF528A6
@ -217,7 +218,14 @@ _inflash:
beq _dram_initialized beq _dram_initialized
nop nop
#include "../mach/dram_init.S" #if defined CONFIG_ETRAXFS
#include "../mach-fs/dram_init.S"
#elif defined CONFIG_CRIS_MACH_ARTPEC3
#include "../mach-a3/dram_init.S"
#else
#error Only ETRAXFS and ARTPEC-3 supported!
#endif
_dram_initialized: _dram_initialized:
;; Copy the text and data section to DRAM. This depends on that the ;; Copy the text and data section to DRAM. This depends on that the
@ -472,4 +480,10 @@ swapper_pg_dir = 0xc0002000
.section ".init.data", "aw" .section ".init.data", "aw"
#include "../mach/hw_settings.S" #if defined CONFIG_ETRAXFS
#include "../mach-fs/hw_settings.S"
#elif defined CONFIG_CRIS_MACH_ARTPEC3
#include "../mach-a3/hw_settings.S"
#else
#error Only ETRAXFS and ARTPEC-3 supported!
#endif

View File

@ -174,10 +174,10 @@
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/arch/hwregs/reg_map.h> #include <arch/hwregs/reg_map.h>
#include <asm/arch/hwregs/reg_rdwr.h> #include <arch/hwregs/reg_rdwr.h>
#include <asm/arch/hwregs/intr_vect_defs.h> #include <arch/hwregs/intr_vect_defs.h>
#include <asm/arch/hwregs/ser_defs.h> #include <arch/hwregs/ser_defs.h>
/* From entry.S. */ /* From entry.S. */
extern void gdb_handle_exception(void); extern void gdb_handle_exception(void);

View File

@ -5,7 +5,7 @@
* port exceptions for kernel debugging purposes. * port exceptions for kernel debugging purposes.
*/ */
#include <asm/arch/hwregs/intr_vect.h> #include <arch/hwregs/intr_vect.h>
;; Exported functions. ;; Exported functions.
.globl kgdb_handle_exception .globl kgdb_handle_exception

View File

@ -11,10 +11,10 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <asm/arch/hwregs/reg_map.h> #include <arch/hwregs/reg_map.h>
#include <asm/arch/hwregs/reg_rdwr.h> #include <arch/hwregs/reg_rdwr.h>
#include <asm/arch/pinmux.h> #include <arch/pinmux.h>
#include <asm/arch/hwregs/pinmux_defs.h> #include <arch/hwregs/pinmux_defs.h>
#undef DEBUG #undef DEBUG

View File

@ -17,7 +17,7 @@
#include <asm/pgtable.h> #include <asm/pgtable.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/arch/hwregs/supp_reg.h> #include <arch/hwregs/supp_reg.h>
/* /*
* Determines which bits in CCS the user has access to. * Determines which bits in CCS the user has access to.

View File

@ -18,8 +18,8 @@
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/ucontext.h> #include <asm/ucontext.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/arch/ptrace.h> #include <arch/ptrace.h>
#include <asm/arch/hwregs/cpu_vect.h> #include <arch/hwregs/cpu_vect.h>
extern unsigned long cris_signal_return_page; extern unsigned long cris_signal_return_page;

View File

@ -22,11 +22,11 @@
## ##
##============================================================================= ##=============================================================================
#include <asm/arch/hwregs/asm/reg_map_asm.h> #include <arch/hwregs/asm/reg_map_asm.h>
#include <asm/arch/hwregs/asm/gio_defs_asm.h> #include <arch/hwregs/asm/gio_defs_asm.h>
#include <asm/arch/hwregs/asm/pinmux_defs_asm.h> #include <arch/hwregs/asm/pinmux_defs_asm.h>
#include <asm/arch/hwregs/asm/bif_core_defs_asm.h> #include <arch/hwregs/asm/bif_core_defs_asm.h>
#include <asm/arch/hwregs/asm/config_defs_asm.h> #include <arch/hwregs/asm/config_defs_asm.h>
;; There are 8-bit NAND flashes and 16-bit NAND flashes. ;; There are 8-bit NAND flashes and 16-bit NAND flashes.
;; We need to treat them slightly different. ;; We need to treat them slightly different.

View File

@ -2,7 +2,7 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/spinlock.h> #include <linux/spinlock.h>
#include <asm/arch/mach/dma.h> #include <mach/dma.h>
#include <hwregs/reg_map.h> #include <hwregs/reg_map.h>
#include <hwregs/reg_rdwr.h> #include <hwregs/reg_rdwr.h>
#include <hwregs/marb_defs.h> #include <hwregs/marb_defs.h>

View File

@ -12,7 +12,7 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/module.h> #include <linux/module.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/arch/mach/pinmux.h> #include <mach/pinmux.h>
#include <hwregs/gio_defs.h> #include <hwregs/gio_defs.h>
struct crisv32_ioport crisv32_ioports[] = { struct crisv32_ioport crisv32_ioports[] = {

View File

@ -2,9 +2,9 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/cpufreq.h> #include <linux/cpufreq.h>
#include <hwregs/reg_map.h> #include <hwregs/reg_map.h>
#include <asm/arch/hwregs/reg_rdwr.h> #include <arch/hwregs/reg_rdwr.h>
#include <asm/arch/hwregs/config_defs.h> #include <arch/hwregs/config_defs.h>
#include <asm/arch/hwregs/bif_core_defs.h> #include <arch/hwregs/bif_core_defs.h>
static int static int
cris_sdram_freq_notifier(struct notifier_block *nb, unsigned long val, cris_sdram_freq_notifier(struct notifier_block *nb, unsigned long val,

View File

@ -10,7 +10,7 @@
#include <hwregs/strmux_defs.h> #include <hwregs/strmux_defs.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/arch/mach/arbiter.h> #include <mach/arbiter.h>
static char used_dma_channels[MAX_DMA_CHANNELS]; static char used_dma_channels[MAX_DMA_CHANNELS];
static const char *used_dma_channels_users[MAX_DMA_CHANNELS]; static const char *used_dma_channels_users[MAX_DMA_CHANNELS];

View File

@ -12,8 +12,8 @@
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/module.h> #include <linux/module.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/arch/pinmux.h> #include <mach/pinmux.h>
#include <asm/arch/hwregs/gio_defs.h> #include <hwregs/gio_defs.h>
#ifndef DEBUG #ifndef DEBUG
#define DEBUG(x) #define DEBUG(x)

View File

@ -5,8 +5,8 @@
#include "vcs_hook.h" #include "vcs_hook.h"
#include <stdarg.h> #include <stdarg.h>
#include <asm/arch-v32/hwregs/reg_map.h> #include <arch-v32/hwregs/reg_map.h>
#include <asm/arch-v32/hwregs/intr_vect_defs.h> #include <arch-v32/hwregs/intr_vect_defs.h>
#define HOOK_TRIG_ADDR 0xb7000000 /* hook cvlog model reg address */ #define HOOK_TRIG_ADDR 0xb7000000 /* hook cvlog model reg address */
#define HOOK_MEM_BASE_ADDR 0xa0000000 /* csp4 (shared mem) base addr */ #define HOOK_MEM_BASE_ADDR 0xa0000000 /* csp4 (shared mem) base addr */

View File

@ -16,8 +16,8 @@
#include <asm/mmu.h> #include <asm/mmu.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/mmu_context.h> #include <asm/mmu_context.h>
#include <asm/arch/hwregs/asm/mmu_defs_asm.h> #include <arch/hwregs/asm/mmu_defs_asm.h>
#include <asm/arch/hwregs/supp_reg.h> #include <arch/hwregs/supp_reg.h>
extern void tlb_init(void); extern void tlb_init(void);

View File

@ -9,8 +9,8 @@
#include <asm/tlb.h> #include <asm/tlb.h>
#include <asm/mmu_context.h> #include <asm/mmu_context.h>
#include <asm/arch/hwregs/asm/mmu_defs_asm.h> #include <arch/hwregs/asm/mmu_defs_asm.h>
#include <asm/arch/hwregs/supp_reg.h> #include <arch/hwregs/supp_reg.h>
#define UPDATE_TLB_SEL_IDX(val) \ #define UPDATE_TLB_SEL_IDX(val) \
do { \ do { \

View File

@ -1,7 +1,7 @@
#ifndef _ASM_ARCH_CRIS_IO_H #ifndef _ASM_ARCH_CRIS_IO_H
#define _ASM_ARCH_CRIS_IO_H #define _ASM_ARCH_CRIS_IO_H
#include <asm/arch/svinto.h> #include <arch/svinto.h>
/* Etrax shadow registers - which live in arch/cris/kernel/shadows.c */ /* Etrax shadow registers - which live in arch/cris/kernel/shadows.c */

View File

@ -5,7 +5,7 @@
#ifndef _ASM_ARCH_IRQ_H #ifndef _ASM_ARCH_IRQ_H
#define _ASM_ARCH_IRQ_H #define _ASM_ARCH_IRQ_H
#include <asm/arch/sv_addr_ag.h> #include <arch/sv_addr_ag.h>
#define NR_IRQS 32 #define NR_IRQS 32

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