Update ARM kernel config and patches to fix F-17 build
This commit is contained in:
parent
e0f0154760
commit
861a924b1a
|
@ -0,0 +1,127 @@
|
|||
arch/arm/kernel/traps.c | 34 +++++++---------------------------
|
||||
arch/arm/mm/alignment.c | 11 ++++-------
|
||||
2 files changed, 11 insertions(+), 34 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
|
||||
index b0179b8..62f429e 100644
|
||||
--- a/arch/arm/kernel/traps.c
|
||||
+++ b/arch/arm/kernel/traps.c
|
||||
@@ -89,17 +89,8 @@ static void dump_mem(const char *lvl, const char *str, unsigned long bottom,
|
||||
unsigned long top)
|
||||
{
|
||||
unsigned long first;
|
||||
- mm_segment_t fs;
|
||||
int i;
|
||||
|
||||
- /*
|
||||
- * We need to switch to kernel mode so that we can use __get_user
|
||||
- * to safely read from kernel space. Note that we now dump the
|
||||
- * code first, just in case the backtrace kills us.
|
||||
- */
|
||||
- fs = get_fs();
|
||||
- set_fs(KERNEL_DS);
|
||||
-
|
||||
printk("%s%s(0x%08lx to 0x%08lx)\n", lvl, str, bottom, top);
|
||||
|
||||
for (first = bottom & ~31; first < top; first += 32) {
|
||||
@@ -112,7 +103,7 @@ static void dump_mem(const char *lvl, const char *str, unsigned long bottom,
|
||||
for (p = first, i = 0; i < 8 && p < top; i++, p += 4) {
|
||||
if (p >= bottom && p < top) {
|
||||
unsigned long val;
|
||||
- if (__get_user(val, (unsigned long *)p) == 0)
|
||||
+ if (probe_kernel_address(p, val) == 0)
|
||||
sprintf(str + i * 9, " %08lx", val);
|
||||
else
|
||||
sprintf(str + i * 9, " ????????");
|
||||
@@ -120,8 +111,6 @@ static void dump_mem(const char *lvl, const char *str, unsigned long bottom,
|
||||
}
|
||||
printk("%s%04lx:%s\n", lvl, first & 0xffff, str);
|
||||
}
|
||||
-
|
||||
- set_fs(fs);
|
||||
}
|
||||
|
||||
static void dump_instr(const char *lvl, struct pt_regs *regs)
|
||||
@@ -129,25 +118,18 @@ static void dump_instr(const char *lvl, struct pt_regs *regs)
|
||||
unsigned long addr = instruction_pointer(regs);
|
||||
const int thumb = thumb_mode(regs);
|
||||
const int width = thumb ? 4 : 8;
|
||||
- mm_segment_t fs;
|
||||
char str[sizeof("00000000 ") * 5 + 2 + 1], *p = str;
|
||||
int i;
|
||||
|
||||
- /*
|
||||
- * We need to switch to kernel mode so that we can use __get_user
|
||||
- * to safely read from kernel space. Note that we now dump the
|
||||
- * code first, just in case the backtrace kills us.
|
||||
- */
|
||||
- fs = get_fs();
|
||||
- set_fs(KERNEL_DS);
|
||||
-
|
||||
for (i = -4; i < 1 + !!thumb; i++) {
|
||||
unsigned int val, bad;
|
||||
|
||||
- if (thumb)
|
||||
- bad = __get_user(val, &((u16 *)addr)[i]);
|
||||
- else
|
||||
- bad = __get_user(val, &((u32 *)addr)[i]);
|
||||
+ if (thumb) {
|
||||
+ u16 instr;
|
||||
+ bad = probe_kernel_address(addr, instr);
|
||||
+ val = instr;
|
||||
+ } else
|
||||
+ bad = probe_kernel_address(addr, val);
|
||||
|
||||
if (!bad)
|
||||
p += sprintf(p, i == 0 ? "(%0*x) " : "%0*x ",
|
||||
@@ -158,8 +140,6 @@ static void dump_instr(const char *lvl, struct pt_regs *regs)
|
||||
}
|
||||
}
|
||||
printk("%sCode: %s\n", lvl, str);
|
||||
-
|
||||
- set_fs(fs);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_ARM_UNWIND
|
||||
diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c
|
||||
index b9f60eb..f8f14fc 100644
|
||||
--- a/arch/arm/mm/alignment.c
|
||||
+++ b/arch/arm/mm/alignment.c
|
||||
@@ -749,7 +749,6 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
|
||||
unsigned long instr = 0, instrptr;
|
||||
int (*handler)(unsigned long addr, unsigned long instr, struct pt_regs *regs);
|
||||
unsigned int type;
|
||||
- mm_segment_t fs;
|
||||
unsigned int fault;
|
||||
u16 tinstr = 0;
|
||||
int isize = 4;
|
||||
@@ -760,16 +759,15 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
|
||||
|
||||
instrptr = instruction_pointer(regs);
|
||||
|
||||
- fs = get_fs();
|
||||
- set_fs(KERNEL_DS);
|
||||
if (thumb_mode(regs)) {
|
||||
- fault = __get_user(tinstr, (u16 *)(instrptr & ~1));
|
||||
+ unsigned long ptr = instrptr;
|
||||
+ fault = probe_kernel_address(ptr, tinstr);
|
||||
if (!fault) {
|
||||
if (cpu_architecture() >= CPU_ARCH_ARMv7 &&
|
||||
IS_T32(tinstr)) {
|
||||
/* Thumb-2 32-bit */
|
||||
u16 tinst2 = 0;
|
||||
- fault = __get_user(tinst2, (u16 *)(instrptr+2));
|
||||
+ fault = probe_kernel_address(ptr + 2, tinst2);
|
||||
instr = (tinstr << 16) | tinst2;
|
||||
thumb2_32b = 1;
|
||||
} else {
|
||||
@@ -778,8 +776,7 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
|
||||
}
|
||||
}
|
||||
} else
|
||||
- fault = __get_user(instr, (u32 *)instrptr);
|
||||
- set_fs(fs);
|
||||
+ fault = probe_kernel_address(instrptr, instr);
|
||||
|
||||
if (fault) {
|
||||
type = TYPE_FAULT;
|
|
@ -0,0 +1,10 @@
|
|||
--- linux-3.6.0-0.rc3.git2.1.fc18.x86_64/drivers/staging/omapdrm/omap_drv.c.orig 2012-08-28 22:52:35.950826671 +0100
|
||||
+++ linux-3.6.0-0.rc3.git2.1.fc18.x86_64/drivers/staging/omapdrm/omap_drv.c 2012-08-28 22:52:49.393910353 +0100
|
||||
@@ -761,7 +761,6 @@
|
||||
.irq_postinstall = dev_irq_postinstall,
|
||||
.irq_uninstall = dev_irq_uninstall,
|
||||
.irq_handler = dev_irq_handler,
|
||||
- .reclaim_buffers = drm_core_reclaim_buffers,
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
.debugfs_init = omap_debugfs_init,
|
||||
.debugfs_cleanup = omap_debugfs_cleanup,
|
|
@ -0,0 +1,15 @@
|
|||
diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
|
||||
index ff3af6e..f99fa25 100644
|
||||
--- a/sound/pci/Kconfig
|
||||
+++ b/sound/pci/Kconfig
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
config SND_TEA575X
|
||||
tristate
|
||||
- depends on SND_FM801_TEA575X_BOOL || SND_ES1968_RADIO || RADIO_SF16FMR2 || RADIO_MAXIRADIO
|
||||
- default SND_FM801 || SND_ES1968 || RADIO_SF16FMR2 || RADIO_MAXIRADIO
|
||||
+ depends on SND_FM801_TEA575X_BOOL || SND_ES1968_RADIO || RADIO_SF16FMR2 || RADIO_MAXIRADIO || RADIO_SHARK
|
||||
+ default SND_FM801 || SND_ES1968 || RADIO_SF16FMR2 || RADIO_MAXIRADIO || RADIO_SHARK
|
||||
|
||||
menuconfig SND_PCI
|
||||
bool "PCI sound devices"
|
|
@ -1,83 +0,0 @@
|
|||
commit dd945918f747f61eff384f5cb8889e524f60615a
|
||||
Author: Jon Masters <jcm@jonmasters.org>
|
||||
Date: Fri Oct 5 22:32:29 2012 -0400
|
||||
|
||||
Revert "ARM: 7528/1: uaccess: annotate [__]{get,put}_user functions with might_fault()"
|
||||
|
||||
This reverts commit ad72907acd2943304c292ae36960bb66e6dc23c9.
|
||||
|
||||
Technically, the original commit is totally correct, however it exposes
|
||||
a deep-rooted problem with missaligned accesses in e.g. the networking
|
||||
stack and we need to revert this (sweep under rug) until we can get
|
||||
a good solution in place upstream. The problem is that the compiler
|
||||
believes the structs concerned are aligned (they are in the code),
|
||||
however at runtime the IP structs are actually not aligned within
|
||||
received network packets, and the fault handler is not guaranteed
|
||||
to be entirely atomic and free of calls to the scheduler.
|
||||
|
||||
Signed-off-by: Jon Masters <jcm@jonmasters.org>
|
||||
|
||||
diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h
|
||||
index 77bd79f..6f83ad6 100644
|
||||
--- a/arch/arm/include/asm/uaccess.h
|
||||
+++ b/arch/arm/include/asm/uaccess.h
|
||||
@@ -118,7 +118,7 @@ extern int __get_user_4(void *);
|
||||
: "0" (__p), "r" (__l) \
|
||||
: __GUP_CLOBBER_##__s)
|
||||
|
||||
-#define __get_user_check(x,p) \
|
||||
+#define get_user(x,p) \
|
||||
({ \
|
||||
unsigned long __limit = current_thread_info()->addr_limit - 1; \
|
||||
register const typeof(*(p)) __user *__p asm("r0") = (p);\
|
||||
@@ -141,12 +141,6 @@ extern int __get_user_4(void *);
|
||||
__e; \
|
||||
})
|
||||
|
||||
-#define get_user(x,p) \
|
||||
- ({ \
|
||||
- might_fault(); \
|
||||
- __get_user_check(x,p); \
|
||||
- })
|
||||
-
|
||||
extern int __put_user_1(void *, unsigned int);
|
||||
extern int __put_user_2(void *, unsigned int);
|
||||
extern int __put_user_4(void *, unsigned int);
|
||||
@@ -161,7 +155,7 @@ extern int __put_user_8(void *, unsigned long long);
|
||||
: "0" (__p), "r" (__r2), "r" (__l) \
|
||||
: "ip", "lr", "cc")
|
||||
|
||||
-#define __put_user_check(x,p) \
|
||||
+#define put_user(x,p) \
|
||||
({ \
|
||||
unsigned long __limit = current_thread_info()->addr_limit - 1; \
|
||||
register const typeof(*(p)) __r2 asm("r2") = (x); \
|
||||
@@ -186,12 +180,6 @@ extern int __put_user_8(void *, unsigned long long);
|
||||
__e; \
|
||||
})
|
||||
|
||||
-#define put_user(x,p) \
|
||||
- ({ \
|
||||
- might_fault(); \
|
||||
- __put_user_check(x,p); \
|
||||
- })
|
||||
-
|
||||
#else /* CONFIG_MMU */
|
||||
|
||||
/*
|
||||
@@ -245,7 +233,6 @@ do { \
|
||||
unsigned long __gu_addr = (unsigned long)(ptr); \
|
||||
unsigned long __gu_val; \
|
||||
__chk_user_ptr(ptr); \
|
||||
- might_fault(); \
|
||||
switch (sizeof(*(ptr))) { \
|
||||
case 1: __get_user_asm_byte(__gu_val,__gu_addr,err); break; \
|
||||
case 2: __get_user_asm_half(__gu_val,__gu_addr,err); break; \
|
||||
@@ -327,7 +314,6 @@ do { \
|
||||
unsigned long __pu_addr = (unsigned long)(ptr); \
|
||||
__typeof__(*(ptr)) __pu_val = (x); \
|
||||
__chk_user_ptr(ptr); \
|
||||
- might_fault(); \
|
||||
switch (sizeof(*(ptr))) { \
|
||||
case 1: __put_user_asm_byte(__pu_val,__pu_addr,err); break; \
|
||||
case 2: __put_user_asm_half(__pu_val,__pu_addr,err); break; \
|
|
@ -1,12 +0,0 @@
|
|||
diff --git a/arch/arm/mach-exynos/mach-origen.c b/arch/arm/mach-exynos/mach-origen.c
|
||||
index 4e574c2..5028fee 100644
|
||||
--- a/arch/arm/mach-exynos/mach-origen.c
|
||||
+++ b/arch/arm/mach-exynos/mach-origen.c
|
||||
@@ -121,6 +121,7 @@ static struct regulator_consumer_supply __initdata ldo14_consumer[] = {
|
||||
};
|
||||
static struct regulator_consumer_supply __initdata ldo17_consumer[] = {
|
||||
REGULATOR_SUPPLY("vdd33", "swb-a31"), /* AR6003 WLAN & CSR 8810 BT */
|
||||
+ REGULATOR_SUPPLY("vmmc", NULL),
|
||||
};
|
||||
static struct regulator_consumer_supply __initdata buck1_consumer[] = {
|
||||
REGULATOR_SUPPLY("vdd_arm", NULL), /* CPUFREQ */
|
|
@ -0,0 +1,39 @@
|
|||
read_current_timer is used in the get_cycles() function when
|
||||
ARM_ARCH_TIMER is set, and that function can be inlined into
|
||||
driver modules, so we should export the function to avoid
|
||||
errors like
|
||||
|
||||
ERROR: "read_current_timer" [drivers/video/udlfb.ko] undefined!
|
||||
ERROR: "read_current_timer" [crypto/tcrypt.ko] undefined!
|
||||
|
||||
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
|
||||
Cc: Shinya Kuribayashi <shinya.kuribayashi.px@xxxxxxxxxxx>
|
||||
Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
|
||||
Cc: Will Deacon <will.deacon@xxxxxxx>
|
||||
Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
|
||||
---
|
||||
arch/arm/kernel/arch_timer.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/kernel/arch_timer.c b/arch/arm/kernel/arch_timer.c
|
||||
index cf25880..6327d1f 100644
|
||||
--- a/arch/arm/kernel/arch_timer.c
|
||||
+++ b/arch/arm/kernel/arch_timer.c
|
||||
@@ -14,6 +14,7 @@
|
||||
#include <linux/device.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/cpu.h>
|
||||
+#include <linux/export.h>
|
||||
#include <linux/jiffies.h>
|
||||
#include <linux/clockchips.h>
|
||||
#include <linux/interrupt.h>
|
||||
@@ -232,6 +233,7 @@ int read_current_timer(unsigned long *timer_val)
|
||||
*timer_val = arch_counter_get_cntpct();
|
||||
return 0;
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(read_current_timer);
|
||||
|
||||
static struct clocksource clocksource_counter = {
|
||||
.name = "arch_sys_counter",
|
||||
--
|
||||
1.7.10
|
|
@ -1,36 +0,0 @@
|
|||
--- linus.orig/arch/arm/mach-exynos/mach-smdkv310.c
|
||||
+++ linus/arch/arm/mach-exynos/mach-smdkv310.c
|
||||
@@ -14,6 +14,8 @@
|
||||
#include <linux/lcd.h>
|
||||
#include <linux/mmc/host.h>
|
||||
#include <linux/platform_device.h>
|
||||
+#include <linux/regulator/fixed.h>
|
||||
+#include <linux/regulator/machine.h>
|
||||
#include <linux/smsc911x.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/i2c.h>
|
||||
@@ -380,6 +382,14 @@ static void __init smdkv310_reserve(void
|
||||
s5p_mfc_reserve_mem(0x43000000, 8 << 20, 0x51000000, 8 << 20);
|
||||
}
|
||||
|
||||
+static struct regulator_consumer_supply vddmmc_consumers[] __devinitdata = {
|
||||
+ REGULATOR_SUPPLY("vmmc", "s3c-sdhci.0"),
|
||||
+ REGULATOR_SUPPLY("vmmc", "s3c-sdhci.1"),
|
||||
+ REGULATOR_SUPPLY("vmmc", "s3c-sdhci.2"),
|
||||
+ REGULATOR_SUPPLY("vdd33a", "smsc911x"),
|
||||
+ REGULATOR_SUPPLY("vddvario", "smsc911x"),
|
||||
+};
|
||||
+
|
||||
static void __init smdkv310_machine_init(void)
|
||||
{
|
||||
s3c_i2c1_set_platdata(NULL);
|
||||
@@ -387,6 +397,9 @@ static void __init smdkv310_machine_init
|
||||
|
||||
smdkv310_smsc911x_init();
|
||||
|
||||
+ regulator_register_always_on(0, "fixed-3.3V", vddmmc_consumers,
|
||||
+ ARRAY_SIZE(vddmmc_consumers), 3300000);
|
||||
+
|
||||
s3c_sdhci0_set_platdata(&smdkv310_hsmmc0_pdata);
|
||||
s3c_sdhci1_set_platdata(&smdkv310_hsmmc1_pdata);
|
||||
s3c_sdhci2_set_platdata(&smdkv310_hsmmc2_pdata);
|
|
@ -0,0 +1,11 @@
|
|||
--- linux-3.5.0-0.rc0.git3.1.fc18.armv7hl/drivers/mmc/host/sdhci-tegra.c.orig 2012-05-23 06:59:19.797302757 -0500
|
||||
+++ linux-3.5.0-0.rc0.git3.1.fc18.armv7hl/drivers/mmc/host/sdhci-tegra.c 2012-05-22 15:26:07.154823359 -0500
|
||||
@@ -190,7 +190,7 @@
|
||||
#endif
|
||||
{}
|
||||
};
|
||||
-MODULE_DEVICE_TABLE(of, sdhci_dt_ids);
|
||||
+MODULE_DEVICE_TABLE(of, sdhci_tegra_dt_match);
|
||||
|
||||
static struct tegra_sdhci_platform_data * __devinit sdhci_tegra_dt_parse_pdata(
|
||||
struct platform_device *pdev)
|
|
@ -37,7 +37,6 @@ CONFIG_ARM_ERRATA_754327=y
|
|||
CONFIG_ARM_ERRATA_764369=y
|
||||
CONFIG_ARM_ERRATA_775420=y
|
||||
|
||||
|
||||
# Generic ARM config options
|
||||
CONFIG_ZBOOT_ROM_TEXT=0
|
||||
CONFIG_ZBOOT_ROM_BSS=0
|
||||
|
@ -64,6 +63,9 @@ CONFIG_CPU_IDLE=y
|
|||
# CONFIG_CPU_IDLE_GOV_LADDER is not set
|
||||
CONFIG_CPU_IDLE_GOV_MENU=y
|
||||
|
||||
CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
|
||||
CONFIG_LSM_MMAP_MIN_ADDR=32768
|
||||
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
|
||||
|
@ -89,9 +91,6 @@ CONFIG_STRICT_DEVMEM=y
|
|||
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
|
||||
CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
|
||||
CONFIG_LSM_MMAP_MIN_ADDR=32768
|
||||
|
||||
# Generic HW for all ARM platforms
|
||||
CONFIG_LEDS=y
|
||||
CONFIG_LEDS_CPU=y
|
||||
|
@ -356,4 +355,3 @@ CONFIG_EXTCON_GPIO=m
|
|||
|
||||
# CONFIG_NET_VENDOR_CIRRUS is not set
|
||||
# CONFIG_CS89x0 is not set
|
||||
# CONFIG_VIDEO_DM6446_CCDC is not set
|
||||
|
|
|
@ -210,26 +210,28 @@ CONFIG_DRM_OMAP_NUM_CRTCS=2
|
|||
# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
|
||||
# CONFIG_FB_OMAP_LCD_VGA is not set
|
||||
CONFIG_OMAP2_VRAM=y
|
||||
CONFIG_OMAP2_VRAM_SIZE=0
|
||||
CONFIG_OMAP2_VRFB=y
|
||||
CONFIG_OMAP2_DSS=y
|
||||
CONFIG_OMAP2_VRAM_SIZE=12
|
||||
# CONFIG_FB_OMAP2 is not set
|
||||
|
||||
CONFIG_OMAP2_DSS=m
|
||||
CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
|
||||
# CONFIG_OMAP2_DSS_COLLECT_IRQ_STATS is not set
|
||||
CONFIG_OMAP2_DSS_DPI=y
|
||||
# CONFIG_OMAP2_DSS_RFBI is not set
|
||||
CONFIG_OMAP2_DSS_RFBI=y
|
||||
CONFIG_OMAP2_DSS_VENC=y
|
||||
CONFIG_OMAP4_DSS_HDMI=y
|
||||
# CONFIG_OMAP2_DSS_SDI is not set
|
||||
# CONFIG_OMAP2_DSS_DSI is not set
|
||||
CONFIG_OMAP2_DSS_SDI=y
|
||||
CONFIG_OMAP2_DSS_DSI=y
|
||||
# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
|
||||
CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=1
|
||||
CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
|
||||
CONFIG_OMAP2_DSS_SLEEP_BEFORE_RESET=y
|
||||
CONFIG_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y
|
||||
# CONFIG_FB_OMAP2 is not set
|
||||
CONFIG_VIDEO_DM6446_CCDC=m
|
||||
|
||||
CONFIG_PANEL_TFP410=m
|
||||
CONFIG_PANEL_PICODLP=m
|
||||
CONFIG_PANEL_TAAL=m
|
||||
CONFIG_BACKLIGHT_PANDORA=m
|
||||
|
||||
#
|
||||
|
|
29
kernel.spec
29
kernel.spec
|
@ -713,22 +713,20 @@ Patch19000: ips-noirq.patch
|
|||
Patch19001: i82975x-edac-fix.patch
|
||||
|
||||
# ARM
|
||||
# Flattened devicetree support
|
||||
Patch21003: arm-linux-3.6-revert-missaligned-access-check-on-put_user.patch
|
||||
Patch21000: arm-read_current_timer.patch
|
||||
Patch21001: arm-fix-omapdrm.patch
|
||||
Patch21002: arm-fix_radio_shark.patch
|
||||
Patch21003: arm-alignment-faults.patch
|
||||
# OMAP
|
||||
|
||||
# ARM tegra
|
||||
Patch21004: arm-tegra-nvec-kconfig.patch
|
||||
Patch21005: arm-tegra-usb-no-reset-linux33.patch
|
||||
#atch21006: arm-beagle-usb-init.patch
|
||||
Patch21006: arm-tegra-sdhci-module-fix.patch
|
||||
|
||||
# ARM highbank patches
|
||||
# Highbank clock functions need to be EXPORT for module builds
|
||||
Patch21010: arm-highbank-sata-fix.patch
|
||||
|
||||
# ARM exynos4
|
||||
Patch21020: arm-smdk310-regulator-fix.patch
|
||||
Patch21021: arm-origen-regulator-fix.patch
|
||||
|
||||
#rhbz 754518
|
||||
Patch21235: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
|
||||
|
||||
|
@ -744,8 +742,6 @@ Patch22014: efifb-skip-DMI-checks-if-bootloader-knows.patch
|
|||
#rhbz 857324
|
||||
Patch22070: net-tcp-bz857324.patch
|
||||
|
||||
Patch22072: linux-3.6-arm-build-fixup.patch
|
||||
|
||||
#rhbz 867344
|
||||
Patch22077: dont-call-cifs_lookup-on-hashed-negative-dentry.patch
|
||||
|
||||
|
@ -1354,14 +1350,14 @@ ApplyPatch vmbugon-warnon.patch
|
|||
#
|
||||
# ARM
|
||||
#
|
||||
ApplyPatch linux-3.6-arm-build-fixup.patch
|
||||
ApplyPatch arm-read_current_timer.patch
|
||||
ApplyPatch arm-fix-omapdrm.patch
|
||||
ApplyPatch arm-fix_radio_shark.patch
|
||||
ApplyPatch arm-tegra-nvec-kconfig.patch
|
||||
ApplyPatch arm-tegra-usb-no-reset-linux33.patch
|
||||
ApplyPatch arm-tegra-sdhci-module-fix.patch
|
||||
ApplyPatch arm-highbank-sata-fix.patch
|
||||
ApplyPatch arm-linux-3.6-revert-missaligned-access-check-on-put_user.patch
|
||||
|
||||
ApplyPatch arm-smdk310-regulator-fix.patch
|
||||
ApplyPatch arm-origen-regulator-fix.patch
|
||||
ApplyPatch arm-alignment-faults.patch
|
||||
|
||||
#
|
||||
# bugfixes to drivers and filesystems
|
||||
|
@ -2392,6 +2388,9 @@ fi
|
|||
# '-' | |
|
||||
# '-'
|
||||
%changelog
|
||||
* Sun Nov 25 2012 Peter Robinson <pbrobinson@fedoraproject.org>
|
||||
- Update ARM kernel config and patches to fix F-17 build
|
||||
|
||||
* Tue Nov 20 2012 Josh Boyer <jwboyer@redhat.com>
|
||||
- CVE-2012-4461: kvm: invalid opcode oops on SET_SREGS with OSXSAVE bit set (rhbz 878518 862900)
|
||||
- Add support for BCM20702A0 (rhbz 874791)
|
||||
|
|
|
@ -1,103 +0,0 @@
|
|||
From: Mauro Carvalho Chehab <mchehab@redhat.com>
|
||||
Date: Fri, 12 Oct 2012 16:26:43 -0400
|
||||
Subject: [PATCH] snd-tea575x: Fix radio-shark build, when PCI is not compiled
|
||||
|
||||
On ARM devices, those vars get undefined:
|
||||
|
||||
ERROR: "snd_tea575x_init" [drivers/media/radio/radio-shark.ko] undefined!
|
||||
ERROR: "snd_tea575x_exit" [drivers/media/radio/radio-shark.ko] undefined!
|
||||
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
|
||||
|
||||
diff --git a/sound/Kconfig b/sound/Kconfig
|
||||
index 261a03c..fef150c 100644
|
||||
--- a/sound/Kconfig
|
||||
+++ b/sound/Kconfig
|
||||
@@ -77,6 +77,12 @@ source "sound/drivers/Kconfig"
|
||||
|
||||
source "sound/isa/Kconfig"
|
||||
|
||||
+# I2C device, used by sound/pci and by some drivers/media USB devices
|
||||
+config SND_TEA575X
|
||||
+ tristate
|
||||
+ depends on SND_FM801_TEA575X_BOOL || SND_ES1968_RADIO || RADIO_SF16FMR2 || RADIO_MAXIRADIO || RADIO_SHARK
|
||||
+ default y
|
||||
+
|
||||
source "sound/pci/Kconfig"
|
||||
|
||||
source "sound/ppc/Kconfig"
|
||||
diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
|
||||
index ff3af6e..f93fda7 100644
|
||||
--- a/sound/pci/Kconfig
|
||||
+++ b/sound/pci/Kconfig
|
||||
@@ -1,10 +1,5 @@
|
||||
# ALSA PCI drivers
|
||||
|
||||
-config SND_TEA575X
|
||||
- tristate
|
||||
- depends on SND_FM801_TEA575X_BOOL || SND_ES1968_RADIO || RADIO_SF16FMR2 || RADIO_MAXIRADIO
|
||||
- default SND_FM801 || SND_ES1968 || RADIO_SF16FMR2 || RADIO_MAXIRADIO
|
||||
-
|
||||
menuconfig SND_PCI
|
||||
bool "PCI sound devices"
|
||||
depends on PCI
|
||||
|
||||
From: Arnd Bergmann <arnd@arndb.de>
|
||||
Subject: [PATCH] ARM: export read_current_timer
|
||||
https://patchwork.kernel.org/patch/1361481/
|
||||
|
||||
read_current_timer is used in the get_cycles() function when
|
||||
ARM_ARCH_TIMER is set, and that function can be inlined into
|
||||
driver modules, so we should export the function to avoid
|
||||
errors like
|
||||
|
||||
ERROR: "read_current_timer" [drivers/video/udlfb.ko] undefined!
|
||||
ERROR: "read_current_timer" [crypto/tcrypt.ko] undefined!
|
||||
|
||||
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
||||
Cc: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com>
|
||||
Cc: Stephen Boyd <sboyd@codeaurora.org>
|
||||
Cc: Will Deacon <will.deacon@arm.com>
|
||||
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
|
||||
|
||||
diff --git a/arch/arm/kernel/arch_timer.c b/arch/arm/kernel/arch_timer.c
|
||||
index cf25880..6327d1f 100644
|
||||
--- a/arch/arm/kernel/arch_timer.c
|
||||
+++ b/arch/arm/kernel/arch_timer.c
|
||||
@@ -14,6 +14,7 @@
|
||||
#include <linux/device.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/cpu.h>
|
||||
+#include <linux/export.h>
|
||||
#include <linux/jiffies.h>
|
||||
#include <linux/clockchips.h>
|
||||
#include <linux/interrupt.h>
|
||||
@@ -232,6 +233,7 @@ int read_current_timer(unsigned long *timer_val)
|
||||
*timer_val = arch_counter_get_cntpct();
|
||||
return 0;
|
||||
}
|
||||
+EXPORT_SYMBOL_GPL(read_current_timer);
|
||||
|
||||
static struct clocksource clocksource_counter = {
|
||||
.name = "arch_sys_counter",
|
||||
|
||||
From: David Cullen <david.cullen@koe-americas.com>
|
||||
Subject: [PATCH] Fix error: unknown field reclaim_buffers specified in initializer
|
||||
|
||||
The reclaim_buffers field has been removed from struct drm_driver.
|
||||
|
||||
Signed-off-by: David Cullen <david.cullen@koe-americas.com>
|
||||
diff --git a/drivers/staging/omapdrm/omap_drv.c
|
||||
b/drivers/staging/omapdrm/omap_drv.c
|
||||
index 4beab94..44149ee 100644
|
||||
--- a/drivers/staging/omapdrm/omap_drv.c
|
||||
+++ b/drivers/staging/omapdrm/omap_drv.c
|
||||
@@ -761,7 +761,6 @@ static struct drm_driver omap_drm_driver = {
|
||||
.irq_postinstall = dev_irq_postinstall,
|
||||
.irq_uninstall = dev_irq_uninstall,
|
||||
.irq_handler = dev_irq_handler,
|
||||
- .reclaim_buffers = drm_core_reclaim_buffers,
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
.debugfs_init = omap_debugfs_init,
|
||||
.debugfs_cleanup = omap_debugfs_cleanup,
|
||||
|
Loading…
Reference in New Issue