diff --git a/debian/changelog b/debian/changelog index 7b6edbb0b..bb843bf93 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +linux-2.6 (2.6.37~rc5-1~experimental.2) UNRELEASED; urgency=low + + * Second attempt to fix FTBFS on various architectures: + - [alpha] Do not use -Werror for arch/alpha + - [arm/ixp4xx] Rename FREQ macro to avoid collisions (v2) + - drm/nouveau: Only select ACPI_VIDEO if its dependencies are met + - [mips] Change mips_sc_is_activated() to do what the comment says + + -- Ben Hutchings Sat, 11 Dec 2010 06:27:51 +0000 + linux-2.6 (2.6.37~rc5-1~experimental.1) experimental; urgency=low * New upstream release candidate diff --git a/debian/patches/bugfix/all/drm-nouveau-Only-select-ACPI_VIDEO-if-its-dependenci.patch b/debian/patches/bugfix/all/drm-nouveau-Only-select-ACPI_VIDEO-if-its-dependenci.patch new file mode 100644 index 000000000..218643000 --- /dev/null +++ b/debian/patches/bugfix/all/drm-nouveau-Only-select-ACPI_VIDEO-if-its-dependenci.patch @@ -0,0 +1,71 @@ +From 778b1b6b848d046ac1566b36c8b39c4cda9f8c35 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Sat, 11 Dec 2010 06:13:45 +0000 +Subject: [PATCH 3/4] drm/nouveau: Only select ACPI_VIDEO if its dependencies are met + +CONFIG_ACPI_VIDEO depends on more than just CONFIG_ACPI, so add those +dependencies to the Kconfig select condition and make the code +conditional on CONFIG_ACPI_VIDEO. + +Signed-off-by: Ben Hutchings +--- + drivers/gpu/drm/nouveau/Kconfig | 2 +- + drivers/gpu/drm/nouveau/Makefile | 2 +- + drivers/gpu/drm/nouveau/nouveau_backlight.c | 2 +- + drivers/gpu/drm/nouveau/nouveau_drv.h | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/drivers/gpu/drm/nouveau/Kconfig b/drivers/gpu/drm/nouveau/Kconfig +index 72730e9..21d6c29 100644 +--- a/drivers/gpu/drm/nouveau/Kconfig ++++ b/drivers/gpu/drm/nouveau/Kconfig +@@ -10,7 +10,7 @@ config DRM_NOUVEAU + select FB + select FRAMEBUFFER_CONSOLE if !EMBEDDED + select FB_BACKLIGHT if DRM_NOUVEAU_BACKLIGHT +- select ACPI_VIDEO if ACPI ++ select ACPI_VIDEO if ACPI && X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL && INPUT + help + Choose this option for open-source nVidia support. + +diff --git a/drivers/gpu/drm/nouveau/Makefile b/drivers/gpu/drm/nouveau/Makefile +index 23fa82d..101a0f6 100644 +--- a/drivers/gpu/drm/nouveau/Makefile ++++ b/drivers/gpu/drm/nouveau/Makefile +@@ -30,6 +30,6 @@ nouveau-y := nouveau_drv.o nouveau_state.o nouveau_channel.o nouveau_mem.o \ + nouveau-$(CONFIG_DRM_NOUVEAU_DEBUG) += nouveau_debugfs.o + nouveau-$(CONFIG_COMPAT) += nouveau_ioc32.o + nouveau-$(CONFIG_DRM_NOUVEAU_BACKLIGHT) += nouveau_backlight.o +-nouveau-$(CONFIG_ACPI) += nouveau_acpi.o ++nouveau-$(CONFIG_ACPI_VIDEO) += nouveau_acpi.o + + obj-$(CONFIG_DRM_NOUVEAU)+= nouveau.o +diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c b/drivers/gpu/drm/nouveau/nouveau_backlight.c +index b14c811..6f3f463 100644 +--- a/drivers/gpu/drm/nouveau/nouveau_backlight.c ++++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c +@@ -137,7 +137,7 @@ int nouveau_backlight_init(struct drm_device *dev) + { + struct drm_nouveau_private *dev_priv = dev->dev_private; + +-#ifdef CONFIG_ACPI ++#ifdef CONFIG_ACPI_VIDEO + if (acpi_video_backlight_support()) { + NV_INFO(dev, "ACPI backlight interface available, " + "not registering our own\n"); +diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.h b/drivers/gpu/drm/nouveau/nouveau_drv.h +index 1c7db64..a18d0ed 100644 +--- a/drivers/gpu/drm/nouveau/nouveau_drv.h ++++ b/drivers/gpu/drm/nouveau/nouveau_drv.h +@@ -894,7 +894,7 @@ extern int nouveau_dma_wait(struct nouveau_channel *, int slots, int size); + + /* nouveau_acpi.c */ + #define ROM_BIOS_PAGE 4096 +-#if defined(CONFIG_ACPI) ++#if defined(CONFIG_ACPI_VIDEO) + void nouveau_register_dsm_handler(void); + void nouveau_unregister_dsm_handler(void); + int nouveau_acpi_get_bios_chunk(uint8_t *bios, int offset, int len); +-- +1.7.2.3 + diff --git a/debian/patches/bugfix/arm/arm-ixp4xx-Rename-FREQ-macro-to-avoid-collisions-2.patch b/debian/patches/bugfix/arm/arm-ixp4xx-Rename-FREQ-macro-to-avoid-collisions-2.patch new file mode 100644 index 000000000..03bbe3a45 --- /dev/null +++ b/debian/patches/bugfix/arm/arm-ixp4xx-Rename-FREQ-macro-to-avoid-collisions-2.patch @@ -0,0 +1,72 @@ +From 991f3c04fdbd9084935be1e16aef55f610f35b0c Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Fri, 10 Dec 2010 02:45:03 +0000 +Subject: [PATCH 1/4] arm/ixp4xx: Rename FREQ macro to avoid collisions + +FREQ is a ridiculously short name for a platform-specific macro in a +generic header, and it now conflicts with an enumeration in the +gspca/ov519 driver. + +Signed-off-by: Ben Hutchings +--- + arch/arm/mach-ixp4xx/common.c | 4 ++-- + arch/arm/mach-ixp4xx/include/mach/timex.h | 5 +++-- + drivers/input/misc/ixp4xx-beeper.c | 6 +----- + 3 files changed, 6 insertions(+), 9 deletions(-) + +diff --git a/arch/arm/mach-ixp4xx/common.c b/arch/arm/mach-ixp4xx/common.c +index 0bce097..f5c42fe 100644 +--- a/arch/arm/mach-ixp4xx/common.c ++++ b/arch/arm/mach-ixp4xx/common.c +@@ -415,7 +415,7 @@ static struct clocksource clocksource_ixp4xx = { + .flags = CLOCK_SOURCE_IS_CONTINUOUS, + }; + +-unsigned long ixp4xx_timer_freq = FREQ; ++unsigned long ixp4xx_timer_freq = IXP4XX_TIMER_FREQ; + EXPORT_SYMBOL(ixp4xx_timer_freq); + static void __init ixp4xx_clocksource_init(void) + { +@@ -491,7 +491,7 @@ static struct clock_event_device clockevent_ixp4xx = { + + static void __init ixp4xx_clockevent_init(void) + { +- clockevent_ixp4xx.mult = div_sc(FREQ, NSEC_PER_SEC, ++ clockevent_ixp4xx.mult = div_sc(IXP4XX_TIMER_FREQ, NSEC_PER_SEC, + clockevent_ixp4xx.shift); + clockevent_ixp4xx.max_delta_ns = + clockevent_delta2ns(0xfffffffe, &clockevent_ixp4xx); +diff --git a/arch/arm/mach-ixp4xx/include/mach/timex.h b/arch/arm/mach-ixp4xx/include/mach/timex.h +index 2c3f93c..c9e930f 100644 +--- a/arch/arm/mach-ixp4xx/include/mach/timex.h ++++ b/arch/arm/mach-ixp4xx/include/mach/timex.h +@@ -10,6 +10,7 @@ + * 66.66... MHz. We do a convulted calculation of CLOCK_TICK_RATE b/c the + * timer register ignores the bottom 2 bits of the LATCH value. + */ +-#define FREQ 66666000 +-#define CLOCK_TICK_RATE (((FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ) ++#define IXP4XX_TIMER_FREQ 66666000 ++#define CLOCK_TICK_RATE \ ++ (((IXP4XX_TIMER_FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ) + +diff --git a/drivers/input/misc/ixp4xx-beeper.c b/drivers/input/misc/ixp4xx-beeper.c +index 9dfd6e5..1f38302 100644 +--- a/drivers/input/misc/ixp4xx-beeper.c ++++ b/drivers/input/misc/ixp4xx-beeper.c +@@ -69,11 +69,7 @@ static int ixp4xx_spkr_event(struct input_dev *dev, unsigned int type, unsigned + } + + if (value > 20 && value < 32767) +-#ifndef FREQ +- count = (ixp4xx_get_board_tick_rate() / (value * 4)) - 1; +-#else +- count = (FREQ / (value * 4)) - 1; +-#endif ++ count = (IXP4XX_TIMER_FREQ / (value * 4)) - 1; + + ixp4xx_spkr_control(pin, count); + +-- +1.7.2.3 + diff --git a/debian/patches/bugfix/mips/mips-Change-mips_sc_is_activated-to-do-what-the-comm.patch b/debian/patches/bugfix/mips/mips-Change-mips_sc_is_activated-to-do-what-the-comm.patch new file mode 100644 index 000000000..46ad97690 --- /dev/null +++ b/debian/patches/bugfix/mips/mips-Change-mips_sc_is_activated-to-do-what-the-comm.patch @@ -0,0 +1,57 @@ +From 88f98365032251a826760b3ce8102bb9a7967c69 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Fri, 10 Dec 2010 02:52:35 +0000 +Subject: [PATCH 4/4] mips: Change mips_sc_is_activated() to do what the comment says + +Add the necessary parameter for mips_sc_is_activated() to compile. +Move the cache.linesz initialisation up into mips_sc_probe(). + +Signed-off-by: Ben Hutchings +--- + arch/mips/mm/sc-mips.c | 16 +++++++++------- + 1 files changed, 9 insertions(+), 7 deletions(-) + +diff --git a/arch/mips/mm/sc-mips.c b/arch/mips/mm/sc-mips.c +index 505feca..6b513bf 100644 +--- a/arch/mips/mm/sc-mips.c ++++ b/arch/mips/mm/sc-mips.c +@@ -66,7 +66,7 @@ static struct bcache_ops mips_sc_ops = { + * 12..15 as implementation defined so below function will eventually have + * to be replaced by a platform specific probe. + */ +-static inline int mips_sc_is_activated(struct cpuinfo_mips *c) ++static inline int mips_sc_is_activated(struct cpuinfo_mips *c, unsigned config2) + { + /* Check the bypass bit (L2B) */ + switch (c->cputype) { +@@ -78,11 +78,7 @@ static inline int mips_sc_is_activated(struct cpuinfo_mips *c) + return 0; + } + +- tmp = (config2 >> 4) & 0x0f; +- if (0 < tmp && tmp <= 7) +- c->scache.linesz = 2 << tmp; +- else +- return 0; ++ return 1; + } + + static inline int __init mips_sc_probe(void) +@@ -108,7 +104,13 @@ static inline int __init mips_sc_probe(void) + + config2 = read_c0_config2(); + +- if (!mips_sc_is_activated(c)) ++ if (!mips_sc_is_activated(c, config2)) ++ return 0; ++ ++ tmp = (config2 >> 4) & 0x0f; ++ if (0 < tmp && tmp <= 7) ++ c->scache.linesz = 2 << tmp; ++ else + return 0; + + tmp = (config2 >> 8) & 0x0f; +-- +1.7.2.3 + diff --git a/debian/patches/debian/alpha-Do-not-use-Werror-for-arch-alpha.patch b/debian/patches/debian/alpha-Do-not-use-Werror-for-arch-alpha.patch new file mode 100644 index 000000000..f74dc73f9 --- /dev/null +++ b/debian/patches/debian/alpha-Do-not-use-Werror-for-arch-alpha.patch @@ -0,0 +1,68 @@ +From 42663d4b49617c17c75c347b6927630cfd5a715e Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Fri, 10 Dec 2010 02:34:49 +0000 +Subject: [PATCH 2/4] alpha: Do not use -Werror for arch/alpha + +The alpha headers for I/O currently have illegal combinations of +extern inline and static inline functions calling each other. Make +the warnings non-fatal for now. + +Signed-off-by: Ben Hutchings +--- + arch/alpha/kernel/Makefile | 2 +- + arch/alpha/lib/Makefile | 1 - + arch/alpha/mm/Makefile | 2 -- + arch/alpha/oprofile/Makefile | 2 +- + 4 files changed, 2 insertions(+), 5 deletions(-) + +diff --git a/arch/alpha/kernel/Makefile b/arch/alpha/kernel/Makefile +index 1ee9b5b..1c77b1c 100644 +--- a/arch/alpha/kernel/Makefile ++++ b/arch/alpha/kernel/Makefile +@@ -4,7 +4,7 @@ + + extra-y := head.o vmlinux.lds + EXTRA_AFLAGS := $(KBUILD_CFLAGS) +-EXTRA_CFLAGS := -Werror -Wno-sign-compare ++EXTRA_CFLAGS := -Wno-sign-compare + + obj-y := entry.o traps.o process.o init_task.o osf_sys.o irq.o \ + irq_alpha.o signal.o setup.o ptrace.o time.o \ +diff --git a/arch/alpha/lib/Makefile b/arch/alpha/lib/Makefile +index 9b72c59..a2723cb 100644 +--- a/arch/alpha/lib/Makefile ++++ b/arch/alpha/lib/Makefile +@@ -3,7 +3,6 @@ + # + + EXTRA_AFLAGS := $(KBUILD_CFLAGS) +-EXTRA_CFLAGS := -Werror + + # Many of these routines have implementations tuned for ev6. + # Choose them iff we're targeting ev6 specifically. +diff --git a/arch/alpha/mm/Makefile b/arch/alpha/mm/Makefile +index 09399c5..ec693be 100644 +--- a/arch/alpha/mm/Makefile ++++ b/arch/alpha/mm/Makefile +@@ -2,8 +2,6 @@ + # Makefile for the linux alpha-specific parts of the memory manager. + # + +-EXTRA_CFLAGS := -Werror +- + obj-y := init.o fault.o extable.o + + obj-$(CONFIG_DISCONTIGMEM) += numa.o +diff --git a/arch/alpha/oprofile/Makefile b/arch/alpha/oprofile/Makefile +index 4aa5624..74cb06e 100644 +--- a/arch/alpha/oprofile/Makefile ++++ b/arch/alpha/oprofile/Makefile +@@ -1,4 +1,4 @@ +-EXTRA_CFLAGS := -Werror -Wno-sign-compare ++EXTRA_CFLAGS := -Wno-sign-compare + + obj-$(CONFIG_OPROFILE) += oprofile.o + +-- +1.7.2.3 + diff --git a/debian/patches/series/1.experimental~2 b/debian/patches/series/1.experimental~2 new file mode 100644 index 000000000..71623d172 --- /dev/null +++ b/debian/patches/series/1.experimental~2 @@ -0,0 +1,7 @@ +- bugfix/mips/mips-Add-the-necessary-parameter-to-mips_sc_is_activ.patch +- bugfix/arm/arm-ixp4xx-Rename-FREQ-macro-to-avoid-collisions.patch +- debian/alpha-Do-not-use-Werror-for-arch-alpha-kernel.patch ++ bugfix/arm/arm-ixp4xx-Rename-FREQ-macro-to-avoid-collisions-2.patch ++ debian/alpha-Do-not-use-Werror-for-arch-alpha.patch ++ bugfix/all/drm-nouveau-Only-select-ACPI_VIDEO-if-its-dependenci.patch ++ bugfix/mips/mips-Change-mips_sc_is_activated-to-do-what-the-comm.patch