From 8adb6bf457c8936f8c3604f300f4445d4901ba0a Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 5 Jun 2010 18:09:30 +0000 Subject: [PATCH 01/63] Build inet_lro as a module svn path=/dists/sid/linux-2.6/; revision=15826 --- debian/changelog | 1 + debian/config/config | 2 +- ...-INET_LRO-a-bool-instead-of-tristate.patch | 34 +++++++++++++++++++ debian/patches/series/16 | 1 + 4 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 debian/patches/features/all/revert-ipv4-Make-INET_LRO-a-bool-instead-of-tristate.patch diff --git a/debian/changelog b/debian/changelog index c9d5e9c05..bb779f35b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,7 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low * Add stable 2.6.32.15 * Add mantis DVB driver and mb86a16 and tda665x DVB front-ends, backported by Bjørn Mork (Closes: #577264) + * Build inet_lro as a module [ Aurelien Jarno ] * [sh4] fix sh_tmu clocksource following recent nohz changes. diff --git a/debian/config/config b/debian/config/config index 2f8a0644a..2da6919bb 100644 --- a/debian/config/config +++ b/debian/config/config @@ -3519,7 +3519,7 @@ CONFIG_INET_IPCOMP=m CONFIG_INET_XFRM_MODE_TRANSPORT=m CONFIG_INET_XFRM_MODE_TUNNEL=m CONFIG_INET_XFRM_MODE_BEET=m -CONFIG_INET_LRO=y +CONFIG_INET_LRO=m CONFIG_INET_DIAG=m CONFIG_TCP_CONG_ADVANCED=y CONFIG_TCP_CONG_BIC=m diff --git a/debian/patches/features/all/revert-ipv4-Make-INET_LRO-a-bool-instead-of-tristate.patch b/debian/patches/features/all/revert-ipv4-Make-INET_LRO-a-bool-instead-of-tristate.patch new file mode 100644 index 000000000..7bea4c7bd --- /dev/null +++ b/debian/patches/features/all/revert-ipv4-Make-INET_LRO-a-bool-instead-of-tristate.patch @@ -0,0 +1,34 @@ +From: Ben Hutchings +Date: Sat, 5 Jun 2010 00:42:57 +0100 +Subject: [PATCH] Revert "ipv4: Make INET_LRO a bool instead of tristate." + +This reverts commit e81963b180ac502fda0326edf059b1e29cdef1a2. + +This code is now deprecated in favour of GRO, and only a few drivers +use it. For Debian kernels (and probably other distribution kernels) +it should be built as a module. + +The original change to prevent building it as a module was made in an +attempt to avoid the case where some dependents are set to y and some +to m, and INET_LRO can be set to m rather than y. However, the +Kconfig system will now reliably set INET_LRO=y in this case. +--- + net/ipv4/Kconfig | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig +index 70491d9..483d427 100644 +--- a/net/ipv4/Kconfig ++++ b/net/ipv4/Kconfig +@@ -398,7 +398,7 @@ config INET_XFRM_MODE_BEET + If unsure, say Y. + + config INET_LRO +- bool "Large Receive Offload (ipv4/tcp)" ++ tristate "Large Receive Offload (ipv4/tcp)" + default y + ---help--- + Support for Large Receive Offload (ipv4/tcp). +-- +1.7.1 + diff --git a/debian/patches/series/16 b/debian/patches/series/16 index 7b9ba747f..ef3f6cf33 100644 --- a/debian/patches/series/16 +++ b/debian/patches/series/16 @@ -123,3 +123,4 @@ + features/all/mantis/0119-Mantis-hopper-use-MODULE_DEVICE_TABLE-use-the-macro-.patch + features/all/mantis/0120-V4L-DVB-13808-Mantis-Hopper-Build-update-for-Mantis-.patch + features/all/mantis/0121-V4L-DVB-mantis-Select-correct-frontends.patch ++ features/all/revert-ipv4-Make-INET_LRO-a-bool-instead-of-tristate.patch From a82a5e95119ec089bc73b57524ce2ecc14a895d6 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 5 Jun 2010 20:42:09 +0000 Subject: [PATCH 02/63] [sparc] Enable CONFIG_FB_XVR500, CONFIG_FB_XVR2500 (Closes: #508108) svn path=/dists/sid/linux-2.6/; revision=15827 --- debian/changelog | 1 + debian/config/sparc/config | 2 ++ 2 files changed, 3 insertions(+) diff --git a/debian/changelog b/debian/changelog index bb779f35b..0f51bf212 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,6 +9,7 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low * Add mantis DVB driver and mb86a16 and tda665x DVB front-ends, backported by Bjørn Mork (Closes: #577264) * Build inet_lro as a module + * [sparc] Enable CONFIG_FB_XVR500, CONFIG_FB_XVR2500 (Closes: #508108) [ Aurelien Jarno ] * [sh4] fix sh_tmu clocksource following recent nohz changes. diff --git a/debian/config/sparc/config b/debian/config/sparc/config index 451971fb1..fb133fc4f 100644 --- a/debian/config/sparc/config +++ b/debian/config/sparc/config @@ -455,6 +455,8 @@ CONFIG_FB_FFB=y # CONFIG_FB_CG14 is not set # CONFIG_FB_P9100 is not set # CONFIG_FB_LEO is not set +CONFIG_FB_XVR500=y +CONFIG_FB_XVR2500=y # CONFIG_FB_S1D13XXX is not set # CONFIG_FB_NVIDIA is not set # CONFIG_FB_RIVA is not set From 8e1bd3001888f648129f1dbb27913a09e09a51b5 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sun, 6 Jun 2010 17:52:24 +0000 Subject: [PATCH 03/63] Fix patch format and upstream references svn path=/dists/sid/linux-2.6/; revision=15835 --- ...tionally-define-compat-ioctl-numbers.patch | 2 +- .../clear-fp-exception-flag-on-SIGFPE.patch | 34 +++++++++++-------- debian/patches/bugfix/sh4/fix-sh_tmu.patch | 2 ++ 3 files changed, 23 insertions(+), 15 deletions(-) diff --git a/debian/patches/bugfix/all/ext4-Conditionally-define-compat-ioctl-numbers.patch b/debian/patches/bugfix/all/ext4-Conditionally-define-compat-ioctl-numbers.patch index bd9225b67..c17d345e1 100644 --- a/debian/patches/bugfix/all/ext4-Conditionally-define-compat-ioctl-numbers.patch +++ b/debian/patches/bugfix/all/ext4-Conditionally-define-compat-ioctl-numbers.patch @@ -2,7 +2,7 @@ From: Ben Hutchings Date: Mon, 17 May 2010 09:00:00 -0400 Subject: [PATCH 1/2] ext4: Conditionally define compat ioctl numbers -commit 3ad0fa9c3af24b787158aa7d1bca18e401082e33 upstream. +commit 899ad0cea6ad7ff4ba24b16318edbc3cbbe03fad upstream. It is unnecessary, and in general impossible, to define the compat ioctl numbers except when building the filesystem with CONFIG_COMPAT diff --git a/debian/patches/bugfix/parisc/clear-fp-exception-flag-on-SIGFPE.patch b/debian/patches/bugfix/parisc/clear-fp-exception-flag-on-SIGFPE.patch index 5e4449ecf..46cd27320 100644 --- a/debian/patches/bugfix/parisc/clear-fp-exception-flag-on-SIGFPE.patch +++ b/debian/patches/bugfix/parisc/clear-fp-exception-flag-on-SIGFPE.patch @@ -1,18 +1,21 @@ -commit 550f0d922286556c7ea43974bb7921effb5a5278 -Author: Helge Deller -Date: Mon May 3 20:44:21 2010 +0000 +From: Helge Deller +Date: Mon, 3 May 2010 20:44:21 +0000 +Subject: [PATCH] parisc: clear floating point exception flag on SIGFPE signal - parisc: clear floating point exception flag on SIGFPE signal - - Clear the floating point exception flag before returning to - user space. This is needed, else the libc trampoline handler - may hit the same SIGFPE again while building up a trampoline - to a signal handler. - - Fixes debian bug #559406. - - Signed-off-by: Helge Deller - Signed-off-by: Kyle McMartin +commit 550f0d922286556c7ea43974bb7921effb5a5278 upstream. + +Clear the floating point exception flag before returning to +user space. This is needed, else the libc trampoline handler +may hit the same SIGFPE again while building up a trampoline +to a signal handler. + +Fixes debian bug #559406. + +Signed-off-by: Helge Deller +Signed-off-by: Kyle McMartin +--- + arch/parisc/math-emu/decode_exc.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/arch/parisc/math-emu/decode_exc.c b/arch/parisc/math-emu/decode_exc.c index 3ca1c61..27a7492 100644 @@ -26,3 +29,6 @@ index 3ca1c61..27a7492 100644 return SIGNALCODE(SIGFPE, FPE_FLTDIV); case INEXACTEXCEPTION: update_trap_counts(Fpu_register, aflags, bflags, trap_counts); +-- +1.7.1 + diff --git a/debian/patches/bugfix/sh4/fix-sh_tmu.patch b/debian/patches/bugfix/sh4/fix-sh_tmu.patch index 6e50ed782..7e96684f5 100644 --- a/debian/patches/bugfix/sh4/fix-sh_tmu.patch +++ b/debian/patches/bugfix/sh4/fix-sh_tmu.patch @@ -2,6 +2,8 @@ From: Aurelien Jarno Date: Mon, 31 May 2010 21:45:48 +0000 (+0000) Subject: clocksource: sh_tmu: compute mult and shift before registration +commit 66f49121ffa41a19c59965b31b046d8368fec3c7 upstream. + clocksource: sh_tmu: compute mult and shift before registration Since commit 98962465ed9e6ea99c38e0af63fe1dcb5a79dc25 ("nohz: Prevent From 460725517cb9fb50485d50bff51a4b44471a17cd Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sun, 6 Jun 2010 18:16:38 +0000 Subject: [PATCH 04/63] Update Spanish debconf templates, thanks to Omar Campagne (Closes: #580538) svn path=/dists/sid/linux-2.6/; revision=15836 --- debian/changelog | 2 ++ debian/po/es.po | 31 +++++++++++++++---------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/debian/changelog b/debian/changelog index 0f51bf212..9b1653038 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,6 +10,8 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low backported by Bjørn Mork (Closes: #577264) * Build inet_lro as a module * [sparc] Enable CONFIG_FB_XVR500, CONFIG_FB_XVR2500 (Closes: #508108) + * Update Spanish debconf templates, thanks to Omar Campagne + (Closes: #580538) [ Aurelien Jarno ] * [sh4] fix sh_tmu clocksource following recent nohz changes. diff --git a/debian/po/es.po b/debian/po/es.po index a422140db..04efe0bdf 100644 --- a/debian/po/es.po +++ b/debian/po/es.po @@ -1,12 +1,10 @@ # linux-2.6 po-debconf translation to Spanish -# Copyright (C) 2010 Software in the Public Interest # This file is distributed under the same license as the linux-2.6 package. # -# Changes: -# - Initial translation -# Omar Campagne , 2010 -# -# - Updates +# Changes: +# - Initial translation +# Omar Campagne 2010 +# - Updates # TRANSLATOR # # Traductores, si no conocen el formato PO, merece la pena leer la @@ -26,20 +24,21 @@ # - La guía de traducción de po's de debconf: # /usr/share/doc/po-debconf/README-trans # o http://www.debian.org/intl/l10n/po-debconf/README-trans +# msgid "" msgstr "" -"Project-Id-Version: linux-image-2.6 2.6.32+5\n" +"Project-Id-Version: linux-2.6 2.6.32+5\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-04-23 22:14+0200\n" -"PO-Revision-Date: 2010-05-08 12:17+0200\n" -"Last-Translator: Omar Campagne <>\n" +"PO-Revision-Date: 2010-06-06 19:04+0200\n" +"Last-Translator: Omar Campagne \n" "Language-Team: Debian l10n Spanish \n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Virtaal 0.6.0\n" +"X-Generator: Virtaal 0.6.1\n" #. Type: boolean #. Description @@ -162,7 +161,7 @@ msgstr "" " * El identificador del dispositivo raíz introducido como un parámetro del\n" " núcleo\n" " * El identificador del dispositivo de arranque usado para instalar y\n" -" actualizar el gestor de arranque" +" actualizar el gestor de arranque." #. Type: error #. Description @@ -226,8 +225,8 @@ msgstr "¿Desea ejecutar el gestor de arranque predefinido?" msgid "" "The default boot loader for this architecture is $loader, which is present." msgstr "" -"El gestor de arranque predefinido para esta arquitectura es $loader, el cual " -"está presente en el sistema." +"El gestor de arranque predefinido para esta arquitectura es $loader, " +"presente en el sistema." #. Type: boolean #. Description @@ -330,9 +329,9 @@ msgid "" "can only be fixed with a copy of the kernel image and the corresponding " "modules." msgstr "" -"Puede que el sistema no pueda arrancar posteriormente, ya que eliminará «/" +"Puede que el sistema no pueda arrancar posteriormente, ya que eliminaría «/" "boot/vmlinuz-${running}» y todos los módulos en el directorio «/lib/modules/" -"${running}». Esto sólo se puede arreglar con una copia de la imagen del " +"${running}». Esto sólo se puede arreglar esto con una copia de la imagen del " "núcleo y los correspondientes módulos." #. Type: boolean From 7130f62f80dd63631db9553043bafea75cdbdf36 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 8 Jun 2010 02:13:53 +0000 Subject: [PATCH 05/63] Revert "Add EC path for Thinkpad X100."; it is incomplete and broken svn path=/dists/sid/linux-2.6/; revision=15840 --- debian/changelog | 1 + debian/patches/series/16 | 1 + 2 files changed, 2 insertions(+) diff --git a/debian/changelog b/debian/changelog index 9b1653038..c2324fe68 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,6 +12,7 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low * [sparc] Enable CONFIG_FB_XVR500, CONFIG_FB_XVR2500 (Closes: #508108) * Update Spanish debconf templates, thanks to Omar Campagne (Closes: #580538) + * Revert "Add EC path for Thinkpad X100."; it is incomplete and broken [ Aurelien Jarno ] * [sh4] fix sh_tmu clocksource following recent nohz changes. diff --git a/debian/patches/series/16 b/debian/patches/series/16 index ef3f6cf33..2ded35e98 100644 --- a/debian/patches/series/16 +++ b/debian/patches/series/16 @@ -124,3 +124,4 @@ + features/all/mantis/0120-V4L-DVB-13808-Mantis-Hopper-Build-update-for-Mantis-.patch + features/all/mantis/0121-V4L-DVB-mantis-Select-correct-frontends.patch + features/all/revert-ipv4-Make-INET_LRO-a-bool-instead-of-tristate.patch +- bugfix/all/thinkpad-acpi-add-x100e.patch From 175fcbcd44a08afe39896f6d405d9a58ea2d7412 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 8 Jun 2010 02:38:58 +0000 Subject: [PATCH 06/63] sctp: fix append error cause to ERROR chunk correctly Fix regression due to fix for CVE-2010-1173 svn path=/dists/sid/linux-2.6/; revision=15841 --- debian/changelog | 2 + ...error-cause-to-ERROR-chunk-correctly.patch | 46 +++++++++++++++++++ debian/patches/series/16 | 1 + 3 files changed, 49 insertions(+) create mode 100644 debian/patches/bugfix/all/sctp-fix-append-error-cause-to-ERROR-chunk-correctly.patch diff --git a/debian/changelog b/debian/changelog index c2324fe68..2ee339438 100644 --- a/debian/changelog +++ b/debian/changelog @@ -13,6 +13,8 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low * Update Spanish debconf templates, thanks to Omar Campagne (Closes: #580538) * Revert "Add EC path for Thinkpad X100."; it is incomplete and broken + * sctp: fix append error cause to ERROR chunk correctly (regression due + to fix for CVE-2010-1173) [ Aurelien Jarno ] * [sh4] fix sh_tmu clocksource following recent nohz changes. diff --git a/debian/patches/bugfix/all/sctp-fix-append-error-cause-to-ERROR-chunk-correctly.patch b/debian/patches/bugfix/all/sctp-fix-append-error-cause-to-ERROR-chunk-correctly.patch new file mode 100644 index 000000000..4e5f55e07 --- /dev/null +++ b/debian/patches/bugfix/all/sctp-fix-append-error-cause-to-ERROR-chunk-correctly.patch @@ -0,0 +1,46 @@ +From: Wei Yongjun +Date: Mon, 17 May 2010 22:51:58 -0700 +Subject: [PATCH] sctp: fix append error cause to ERROR chunk correctly + +commit 2e3219b5c8a2e44e0b83ae6e04f52f20a82ac0f2 upstream. + +commit 5fa782c2f5ef6c2e4f04d3e228412c9b4a4c8809 + sctp: Fix skb_over_panic resulting from multiple invalid \ + parameter errors (CVE-2010-1173) (v4) + +cause 'error cause' never be add the the ERROR chunk due to +some typo when check valid length in sctp_init_cause_fixed(). + +Signed-off-by: Wei Yongjun +Reviewed-by: Neil Horman +Acked-by: Vlad Yasevich +Signed-off-by: David S. Miller +--- + net/sctp/sm_make_chunk.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c +index d8261f3..bd2a50b 100644 +--- a/net/sctp/sm_make_chunk.c ++++ b/net/sctp/sm_make_chunk.c +@@ -141,7 +141,7 @@ int sctp_init_cause_fixed(struct sctp_chunk *chunk, __be16 cause_code, + len = sizeof(sctp_errhdr_t) + paylen; + err.length = htons(len); + +- if (skb_tailroom(chunk->skb) > len) ++ if (skb_tailroom(chunk->skb) < len) + return -ENOSPC; + chunk->subh.err_hdr = sctp_addto_chunk_fixed(chunk, + sizeof(sctp_errhdr_t), +@@ -1415,7 +1415,7 @@ void *sctp_addto_chunk(struct sctp_chunk *chunk, int len, const void *data) + void *sctp_addto_chunk_fixed(struct sctp_chunk *chunk, + int len, const void *data) + { +- if (skb_tailroom(chunk->skb) > len) ++ if (skb_tailroom(chunk->skb) >= len) + return sctp_addto_chunk(chunk, len, data); + else + return NULL; +-- +1.7.1 + diff --git a/debian/patches/series/16 b/debian/patches/series/16 index 2ded35e98..6e3e91afd 100644 --- a/debian/patches/series/16 +++ b/debian/patches/series/16 @@ -125,3 +125,4 @@ + features/all/mantis/0121-V4L-DVB-mantis-Select-correct-frontends.patch + features/all/revert-ipv4-Make-INET_LRO-a-bool-instead-of-tristate.patch - bugfix/all/thinkpad-acpi-add-x100e.patch ++ bugfix/all/sctp-fix-append-error-cause-to-ERROR-chunk-correctly.patch From 4ada60d55a83b7630540ffa88a8a56ba28612a8b Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 8 Jun 2010 02:40:59 +0000 Subject: [PATCH 07/63] [powerpc] Enable pata_amd driver, replacing amd74xx svn path=/dists/sid/linux-2.6/; revision=15842 --- debian/changelog | 1 + debian/config/powerpc/config.powerpc64 | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/debian/changelog b/debian/changelog index 2ee339438..da4f07772 100644 --- a/debian/changelog +++ b/debian/changelog @@ -15,6 +15,7 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low * Revert "Add EC path for Thinkpad X100."; it is incomplete and broken * sctp: fix append error cause to ERROR chunk correctly (regression due to fix for CVE-2010-1173) + * [powerpc] Enable pata_amd driver, replacing amd74xx [ Aurelien Jarno ] * [sh4] fix sh_tmu clocksource following recent nohz changes. diff --git a/debian/config/powerpc/config.powerpc64 b/debian/config/powerpc/config.powerpc64 index cb2788a5f..48f6e90f5 100644 --- a/debian/config/powerpc/config.powerpc64 +++ b/debian/config/powerpc/config.powerpc64 @@ -88,6 +88,11 @@ CONFIG_PPC_SPLPAR=y CONFIG_SCANLOG=m # CONFIG_LPARCFG is not set +## +## file: drivers/ata/Kconfig +## +CONFIG_PATA_AMD=m + ## ## file: drivers/block/Kconfig ## @@ -110,11 +115,6 @@ CONFIG_HW_RANDOM_PASEMI=m ## CONFIG_I2C_PASEMI=m -## -## file: drivers/ide/Kconfig -## -CONFIG_BLK_DEV_AMD74XX=m - ## ## file: drivers/macintosh/Kconfig ## From 2dce7c78f92db7fabcd28914f79b8dd7437c5136 Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Tue, 8 Jun 2010 16:08:57 +0000 Subject: [PATCH 08/63] Correct the history, sibyte-m3-tlb-exception.patch was not part of 2.6.32-13 version, as it has been removed from series in r15669 svn path=/dists/sid/linux-2.6/; revision=15843 --- debian/changelog | 1 - 1 file changed, 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index da4f07772..ec5d7eaad 100644 --- a/debian/changelog +++ b/debian/changelog @@ -127,7 +127,6 @@ linux-2.6 (2.6.32-13) unstable; urgency=low [ Aurelien Jarno ] * mips/swarm: fix boot from IDE based media (Sebastian Andrzej Siewior) (closes: #466977). - * backport mips/swarm: fix M3 TLB exception handler. * backport MIPS FPU emulator: allow Cause bits of FCSR to be writeable by ctc1. (closes: #580602). * mips/swarm: enable adm* hwmon drivers. From b64db222fa7108e20805cb21a7133e565e4a2c02 Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Tue, 8 Jun 2010 16:11:18 +0000 Subject: [PATCH 09/63] * [mips] backport mips/swarm: fix M3 TLB exception handler. svn path=/dists/sid/linux-2.6/; revision=15844 --- debian/changelog | 1 + .../bugfix/mips/sibyte-m3-tlb-exception.patch | 59 ------------------- debian/patches/series/16 | 1 + 3 files changed, 2 insertions(+), 59 deletions(-) diff --git a/debian/changelog b/debian/changelog index ec5d7eaad..f1e1e7ec5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -19,6 +19,7 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low [ Aurelien Jarno ] * [sh4] fix sh_tmu clocksource following recent nohz changes. + * [mips] backport mips/swarm: fix M3 TLB exception handler. [ Moritz Muehlenhoff ] * Enable X86 board specific fixups for reboot (Closes: #536537) diff --git a/debian/patches/bugfix/mips/sibyte-m3-tlb-exception.patch b/debian/patches/bugfix/mips/sibyte-m3-tlb-exception.patch index bf67ba425..42723f5ba 100644 --- a/debian/patches/bugfix/mips/sibyte-m3-tlb-exception.patch +++ b/debian/patches/bugfix/mips/sibyte-m3-tlb-exception.patch @@ -1,62 +1,3 @@ -commit 8d9df29db273ab9a330828f4f4f6669d293a730a -Author: Ralf Baechle -Date: Tue Mar 23 00:02:43 2010 +0100 - - MIPS: Sibyte: Apply M3 workaround only on affected chip types and versions. - - Previously it was unconditionally used on all Sibyte family SOCs. The - M3 bug has to be handled in the TLB exception handler which is extremly - performance sensitive, so this modification is expected to deliver around - 2-3% performance improvment. This is important as required changes to the - M3 workaround will make it more costly. - - Signed-off-by: Ralf Baechle - -diff --git a/arch/mips/include/asm/mach-sibyte/war.h b/arch/mips/include/asm/mach-sibyte/war.h -index 7950ef4..743385d 100644 ---- a/arch/mips/include/asm/mach-sibyte/war.h -+++ b/arch/mips/include/asm/mach-sibyte/war.h -@@ -16,7 +16,11 @@ - #if defined(CONFIG_SB1_PASS_1_WORKAROUNDS) || \ - defined(CONFIG_SB1_PASS_2_WORKAROUNDS) - --#define BCM1250_M3_WAR 1 -+#ifndef __ASSEMBLY__ -+extern int sb1250_m3_workaround_needed(void); -+#endif -+ -+#define BCM1250_M3_WAR sb1250_m3_workaround_needed() - #define SIBYTE_1956_WAR 1 - - #else -diff --git a/arch/mips/sibyte/sb1250/setup.c b/arch/mips/sibyte/sb1250/setup.c -index 0444da1..92da315 100644 ---- a/arch/mips/sibyte/sb1250/setup.c -+++ b/arch/mips/sibyte/sb1250/setup.c -@@ -87,6 +87,21 @@ static int __init setup_bcm1250(void) - return ret; - } - -+int sb1250_m3_workaround_needed(void) -+{ -+ switch (soc_type) { -+ case K_SYS_SOC_TYPE_BCM1250: -+ case K_SYS_SOC_TYPE_BCM1250_ALT: -+ case K_SYS_SOC_TYPE_BCM1250_ALT2: -+ case K_SYS_SOC_TYPE_BCM1125: -+ case K_SYS_SOC_TYPE_BCM1125H: -+ return soc_pass < K_SYS_REVISION_BCM1250_C0; -+ -+ default: -+ return 0; -+ } -+} -+ - static int __init setup_bcm112x(void) - { - int ret = 0; - - commit 5808184f1b2fe06ef8a54a2b7fb1596d58098acf Author: Ralf Baechle Date: Tue Mar 23 15:54:50 2010 +0100 diff --git a/debian/patches/series/16 b/debian/patches/series/16 index 6e3e91afd..8258b3096 100644 --- a/debian/patches/series/16 +++ b/debian/patches/series/16 @@ -126,3 +126,4 @@ + features/all/revert-ipv4-Make-INET_LRO-a-bool-instead-of-tristate.patch - bugfix/all/thinkpad-acpi-add-x100e.patch + bugfix/all/sctp-fix-append-error-cause-to-ERROR-chunk-correctly.patch ++ bugfix/mips/sibyte-m3-tlb-exception.patch From cc2bd813a334a625102de075f6a8643b2beb78eb Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Tue, 8 Jun 2010 16:37:12 +0000 Subject: [PATCH 10/63] Fix commit r15843 svn path=/dists/sid/linux-2.6/; revision=15845 --- debian/changelog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/debian/changelog b/debian/changelog index f1e1e7ec5..f0608565d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -128,6 +128,8 @@ linux-2.6 (2.6.32-13) unstable; urgency=low [ Aurelien Jarno ] * mips/swarm: fix boot from IDE based media (Sebastian Andrzej Siewior) (closes: #466977). + * backport mips/swarm: fix M3 TLB exception handler. + [This patch was actually reverted and never applied in version 2.6.32-13] * backport MIPS FPU emulator: allow Cause bits of FCSR to be writeable by ctc1. (closes: #580602). * mips/swarm: enable adm* hwmon drivers. From bc7f0aa2e3688d08037015eabc4ec844bf255860 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Thu, 10 Jun 2010 00:17:48 +0000 Subject: [PATCH 11/63] eeepc-laptop: Disable wireless hotplug on more models where the controller is not at the expected address (Closes: #576199) svn path=/dists/sid/linux-2.6/; revision=15847 --- debian/changelog | 2 + ...laptop-check-wireless-hotplug-events.patch | 66 +++++++++++++++++++ debian/patches/series/16 | 1 + 3 files changed, 69 insertions(+) create mode 100644 debian/patches/bugfix/x86/eeepc-laptop-check-wireless-hotplug-events.patch diff --git a/debian/changelog b/debian/changelog index f0608565d..d2ec26240 100644 --- a/debian/changelog +++ b/debian/changelog @@ -16,6 +16,8 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low * sctp: fix append error cause to ERROR chunk correctly (regression due to fix for CVE-2010-1173) * [powerpc] Enable pata_amd driver, replacing amd74xx + * eeepc-laptop: Disable wireless hotplug on more models where the + controller is not at the expected address (Closes: #576199) [ Aurelien Jarno ] * [sh4] fix sh_tmu clocksource following recent nohz changes. diff --git a/debian/patches/bugfix/x86/eeepc-laptop-check-wireless-hotplug-events.patch b/debian/patches/bugfix/x86/eeepc-laptop-check-wireless-hotplug-events.patch new file mode 100644 index 000000000..91ae1fa31 --- /dev/null +++ b/debian/patches/bugfix/x86/eeepc-laptop-check-wireless-hotplug-events.patch @@ -0,0 +1,66 @@ +From 5e28809d08bf5002e3b11f500573476d0d4e1ab8 Mon Sep 17 00:00:00 2001 +From: Alan Jenkins +Date: Mon, 22 Feb 2010 16:03:58 +0000 +Subject: [PATCH] eeepc-laptop: check wireless hotplug events + +commit bc9d24a3aeb1532fc3e234907a8b6d671f7ed68f upstream. + +Before we mark the wireless device as unplugged, check PCI config space +to see whether the wireless device is really disabled (and vice versa). +This works around newer models which don't want the hotplug code, where +we end up disabling the wired network device. + +My old 701 still works correctly with this. I can also simulate an +afflicted model by changing the hardcoded PCI bus/slot number in the +driver, and it seems to work nicely (although it is a bit noisy). + +In future this type of hotplug support will be implemented by the PCI +core. The existing blacklist and the new warning message will be +removed at that point. + +Signed-off-by: Alan Jenkins +Signed-off-by: Corentin Chary +[bwh: Adjust context for 2.6.32] +--- + drivers/platform/x86/eeepc-laptop.c | 18 ++++++++++++++++++ + 1 files changed, 18 insertions(+), 0 deletions(-) + +diff --git a/drivers/platform/x86/eeepc-laptop.c b/drivers/platform/x86/eeepc-laptop.c +index 329093e..c533b1c 100644 +--- a/drivers/platform/x86/eeepc-laptop.c ++++ b/drivers/platform/x86/eeepc-laptop.c +@@ -752,6 +752,8 @@ static void eeepc_rfkill_hotplug(void) + struct pci_dev *dev; + struct pci_bus *bus; + bool blocked = eeepc_wlan_rfkill_blocked(); ++ bool absent; ++ u32 l; + + if (ehotk->wlan_rfkill) + rfkill_set_sw_state(ehotk->wlan_rfkill, blocked); +@@ -765,6 +767,22 @@ static void eeepc_rfkill_hotplug(void) + goto out_unlock; + } + ++ if (pci_bus_read_config_dword(bus, 0, PCI_VENDOR_ID, &l)) { ++ pr_err("Unable to read PCI config space?\n"); ++ goto out_unlock; ++ } ++ absent = (l == 0xffffffff); ++ ++ if (blocked != absent) { ++ pr_warning("BIOS says wireless lan is %s, " ++ "but the pci device is %s\n", ++ blocked ? "blocked" : "unblocked", ++ absent ? "absent" : "present"); ++ pr_warning("skipped wireless hotplug as probably " ++ "inappropriate for this model\n"); ++ goto out_unlock; ++ } ++ + if (!blocked) { + dev = pci_get_slot(bus, 0); + if (dev) { +-- +1.7.1 + diff --git a/debian/patches/series/16 b/debian/patches/series/16 index 8258b3096..b81ad9af8 100644 --- a/debian/patches/series/16 +++ b/debian/patches/series/16 @@ -127,3 +127,4 @@ - bugfix/all/thinkpad-acpi-add-x100e.patch + bugfix/all/sctp-fix-append-error-cause-to-ERROR-chunk-correctly.patch + bugfix/mips/sibyte-m3-tlb-exception.patch ++ bugfix/x86/eeepc-laptop-check-wireless-hotplug-events.patch From 41d72b88a8d4cc251bea081b954845e2e740c176 Mon Sep 17 00:00:00 2001 From: Martin Michlmayr Date: Sun, 13 Jun 2010 10:43:17 +0000 Subject: [PATCH 12/63] revert patch "allow SD/UART1 selection" since it never made it upstream. svn path=/dists/sid/linux-2.6/; revision=15861 --- debian/changelog | 4 ++++ debian/patches/series/16 | 1 + 2 files changed, 5 insertions(+) diff --git a/debian/changelog b/debian/changelog index d2ec26240..9be27000e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -26,6 +26,10 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low [ Moritz Muehlenhoff ] * Enable X86 board specific fixups for reboot (Closes: #536537) + [ Martin Michlmayr ] + * OpenRD-Base: revert patch "allow SD/UART1 selection" since it + never made it upstream. + -- dann frazier Tue, 01 Jun 2010 09:23:57 -0600 linux-2.6 (2.6.32-15) unstable; urgency=low diff --git a/debian/patches/series/16 b/debian/patches/series/16 index b81ad9af8..48a12ae8b 100644 --- a/debian/patches/series/16 +++ b/debian/patches/series/16 @@ -128,3 +128,4 @@ + bugfix/all/sctp-fix-append-error-cause-to-ERROR-chunk-correctly.patch + bugfix/mips/sibyte-m3-tlb-exception.patch + bugfix/x86/eeepc-laptop-check-wireless-hotplug-events.patch +- features/arm/openrd-base-uart.patch From c84a319d2ddc3478d17b8fd139f2465c076a2805 Mon Sep 17 00:00:00 2001 From: Martin Michlmayr Date: Sun, 13 Jun 2010 11:11:28 +0000 Subject: [PATCH 13/63] ARM: update mach types. svn path=/dists/sid/linux-2.6/; revision=15862 --- debian/changelog | 1 + .../arm/mach-types-update-2010-06-13.patch | 298 ++++++++++++++++++ debian/patches/series/16 | 1 + 3 files changed, 300 insertions(+) create mode 100644 debian/patches/features/arm/mach-types-update-2010-06-13.patch diff --git a/debian/changelog b/debian/changelog index 9be27000e..6c2d50e43 100644 --- a/debian/changelog +++ b/debian/changelog @@ -29,6 +29,7 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low [ Martin Michlmayr ] * OpenRD-Base: revert patch "allow SD/UART1 selection" since it never made it upstream. + * ARM: update mach types. -- dann frazier Tue, 01 Jun 2010 09:23:57 -0600 diff --git a/debian/patches/features/arm/mach-types-update-2010-06-13.patch b/debian/patches/features/arm/mach-types-update-2010-06-13.patch new file mode 100644 index 000000000..2b7fd14f9 --- /dev/null +++ b/debian/patches/features/arm/mach-types-update-2010-06-13.patch @@ -0,0 +1,298 @@ +--- a/arch/arm/tools/mach-types 2010-06-13 10:28:55.000000000 +0000 ++++ b/arch/arm/tools/mach-types 2010-06-13 11:08:01.000000000 +0000 +@@ -12,7 +12,7 @@ + # + # http://www.arm.linux.org.uk/developer/machines/?action=new + # +-# Last update: Sat Feb 20 14:16:15 2010 ++# Last update: Sun Jun 13 12:08:01 2010 + # + # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number + # +@@ -1319,7 +1319,7 @@ + msm MACH_MSM MSM 1316 + ct5910 MACH_CT5910 CT5910 1317 + ct5912 MACH_CT5912 CT5912 1318 +-hynet_ine MACH_HYNET_INE HYNET_INE 1319 ++argonst_foundation MACH_HYNET_INE HYNET_INE 1319 + hynet_app MACH_HYNET_APP HYNET_APP 1320 + msm7200 MACH_MSM7200 MSM7200 1321 + msm7600 MACH_MSM7600 MSM7600 1322 +@@ -1777,7 +1777,7 @@ + sg560adsl MACH_SG560ADSL SG560ADSL 1786 + nextio_n2800_ica MACH_NEXTIO_N2800_ICA NEXTIO_N2800_ICA 1787 + dove_db MACH_DOVE_DB DOVE_DB 1788 +-marvell_newdb MACH_MARVELL_NEWDB MARVELL_NEWDB 1789 ++dove_avng MACH_MARVELL_NEWDB MARVELL_NEWDB 1789 + vandihud MACH_VANDIHUD VANDIHUD 1790 + magx_e8 MACH_MAGX_E8 MAGX_E8 1791 + magx_z6 MACH_MAGX_Z6 MAGX_Z6 1792 +@@ -2308,7 +2308,7 @@ + tazkiosk MACH_TAZKIOSK TAZKIOSK 2320 + whiterabbit_mch MACH_WHITERABBIT_MCH WHITERABBIT_MCH 2321 + sbox9263 MACH_SBOX9263 SBOX9263 2322 +-oreo MACH_OREO OREO 2323 ++oreo_camera MACH_OREO OREO 2323 + smdk6442 MACH_SMDK6442 SMDK6442 2324 + openrd_base MACH_OPENRD_BASE OPENRD_BASE 2325 + incredible MACH_INCREDIBLE INCREDIBLE 2326 +@@ -2374,7 +2374,7 @@ + rbl01 MACH_RBL01 RBL01 2387 + omnifi MACH_OMNIFI OMNIFI 2388 + otavalo MACH_OTAVALO OTAVALO 2389 +-sienna MACH_SIENNA SIENNA 2390 ++siena MACH_SIENNA SIENNA 2390 + htc_excalibur_s620 MACH_HTC_EXCALIBUR_S620 HTC_EXCALIBUR_S620 2391 + htc_opal MACH_HTC_OPAL HTC_OPAL 2392 + touchbook MACH_TOUCHBOOK TOUCHBOOK 2393 +@@ -2498,7 +2498,7 @@ + phy3250 MACH_PHY3250 PHY3250 2511 + ea3250 MACH_EA3250 EA3250 2512 + fdi3250 MACH_FDI3250 FDI3250 2513 +-whitestone MACH_WHITESTONE WHITESTONE 2514 ++htcwhitestone MACH_WHITESTONE WHITESTONE 2514 + at91sam9263nit MACH_AT91SAM9263NIT AT91SAM9263NIT 2515 + ccmx51 MACH_CCMX51 CCMX51 2516 + ccmx51js MACH_CCMX51JS CCMX51JS 2517 +@@ -2582,7 +2582,7 @@ + pca101 MACH_PCA101 PCA101 2595 + buzzc MACH_BUZZC BUZZC 2596 + sasie2 MACH_SASIE2 SASIE2 2597 +-davinci_cio MACH_DAVINCI_CIO DAVINCI_CIO 2598 ++davinci_dm6467_cio MACH_DAVINCI_CIO DAVINCI_CIO 2598 + smartmeter_dl MACH_SMARTMETER_DL SMARTMETER_DL 2599 + wzl6410 MACH_WZL6410 WZL6410 2600 + wzl6410m MACH_WZL6410M WZL6410M 2601 +@@ -2663,7 +2663,7 @@ + aquila MACH_AQUILA AQUILA 2676 + spark_sls_hw2 MACH_SPARK_SLS_HW2 SPARK_SLS_HW2 2677 + sheeva_esata MACH_ESATA_SHEEVAPLUG ESATA_SHEEVAPLUG 2678 +-surf7x30 MACH_SURF7X30 SURF7X30 2679 ++msm7x30_surf MACH_MSM7X30_SURF MSM7X30_SURF 2679 + micro2440 MACH_MICRO2440 MICRO2440 2680 + am2440 MACH_AM2440 AM2440 2681 + tq2440 MACH_TQ2440 TQ2440 2682 +@@ -2678,3 +2678,223 @@ + mioa702 MACH_MIOA702 MIOA702 2691 + hpmin MACH_HPMIN HPMIN 2692 + ak880xak MACH_AK880XAK AK880XAK 2693 ++arm926tomap850 MACH_ARM926TOMAP850 ARM926TOMAP850 2694 ++lkevm MACH_LKEVM LKEVM 2695 ++mw6410 MACH_MW6410 MW6410 2696 ++terastation_wxl MACH_TERASTATION_WXL TERASTATION_WXL 2697 ++cpu8000e MACH_CPU8000E CPU8000E 2698 ++catania MACH_CATANIA CATANIA 2699 ++tokyo MACH_TOKYO TOKYO 2700 ++msm7201a_surf MACH_MSM7201A_SURF MSM7201A_SURF 2701 ++msm7201a_ffa MACH_MSM7201A_FFA MSM7201A_FFA 2702 ++msm7x25_surf MACH_MSM7X25_SURF MSM7X25_SURF 2703 ++msm7x25_ffa MACH_MSM7X25_FFA MSM7X25_FFA 2704 ++msm7x27_surf MACH_MSM7X27_SURF MSM7X27_SURF 2705 ++msm7x27_ffa MACH_MSM7X27_FFA MSM7X27_FFA 2706 ++msm7x30_ffa MACH_MSM7X30_FFA MSM7X30_FFA 2707 ++qsd8x50_surf MACH_QSD8X50_SURF QSD8X50_SURF 2708 ++qsd8x50_comet MACH_QSD8X50_COMET QSD8X50_COMET 2709 ++qsd8x50_ffa MACH_QSD8X50_FFA QSD8X50_FFA 2710 ++qsd8x50a_surf MACH_QSD8X50A_SURF QSD8X50A_SURF 2711 ++qsd8x50a_ffa MACH_QSD8X50A_FFA QSD8X50A_FFA 2712 ++adx_xgcp10 MACH_ADX_XGCP10 ADX_XGCP10 2713 ++mcgwumts2a MACH_MCGWUMTS2A MCGWUMTS2A 2714 ++mobikt MACH_MOBIKT MOBIKT 2715 ++mx53_evk MACH_MX53_EVK MX53_EVK 2716 ++igep0030 MACH_IGEP0030 IGEP0030 2717 ++axell_h40_h50_ctrl MACH_AXELL_H40_H50_CTRL AXELL_H40_H50_CTRL 2718 ++dtcommod MACH_DTCOMMOD DTCOMMOD 2719 ++gould MACH_GOULD GOULD 2720 ++siberia MACH_SIBERIA SIBERIA 2721 ++sbc3530 MACH_SBC3530 SBC3530 2722 ++qarm MACH_QARM QARM 2723 ++mips MACH_MIPS MIPS 2724 ++mx27grb MACH_MX27GRB MX27GRB 2725 ++sbc8100 MACH_SBC8100 SBC8100 2726 ++saarb MACH_SAARB SAARB 2727 ++omap3mini MACH_OMAP3MINI OMAP3MINI 2728 ++cnmbook7se MACH_CNMBOOK7SE CNMBOOK7SE 2729 ++catan MACH_CATAN CATAN 2730 ++harmony MACH_HARMONY HARMONY 2731 ++tonga MACH_TONGA TONGA 2732 ++cybook_orizon MACH_CYBOOK_ORIZON CYBOOK_ORIZON 2733 ++htcrhodiumcdma MACH_HTCRHODIUMCDMA HTCRHODIUMCDMA 2734 ++epc_g45 MACH_EPC_G45 EPC_G45 2735 ++epc_lpc3250 MACH_EPC_LPC3250 EPC_LPC3250 2736 ++mxc91341evb MACH_MXC91341EVB MXC91341EVB 2737 ++rtw1000 MACH_RTW1000 RTW1000 2738 ++bobcat MACH_BOBCAT BOBCAT 2739 ++trizeps6 MACH_TRIZEPS6 TRIZEPS6 2740 ++msm7x30_fluid MACH_MSM7X30_FLUID MSM7X30_FLUID 2741 ++nedap9263 MACH_NEDAP9263 NEDAP9263 2742 ++netgear_ms2110 MACH_NETGEAR_MS2110 NETGEAR_MS2110 2743 ++bmx MACH_BMX BMX 2744 ++netstream MACH_NETSTREAM NETSTREAM 2745 ++vpnext_rcu MACH_VPNEXT_RCU VPNEXT_RCU 2746 ++vpnext_mpu MACH_VPNEXT_MPU VPNEXT_MPU 2747 ++bcmring_tablet_v1 MACH_BCMRING_TABLET_V1 BCMRING_TABLET_V1 2748 ++sgarm10 MACH_SGARM10 SGARM10 2749 ++cm_t3517 MACH_CM_T3517 CM_T3517 2750 ++omap3_cps MACH_OMAP3_CPS OMAP3_CPS 2751 ++axar1500_receiver MACH_AXAR1500_RECEIVER AXAR1500_RECEIVER 2752 ++wbd222 MACH_WBD222 WBD222 2753 ++mt65xx MACH_MT65XX MT65XX 2754 ++msm8x60_surf MACH_MSM8X60_SURF MSM8X60_SURF 2755 ++msm8x60_sim MACH_MSM8X60_SIM MSM8X60_SIM 2756 ++vmc300 MACH_VMC300 VMC300 2757 ++tcc8000_sdk MACH_TCC8000_SDK TCC8000_SDK 2758 ++nanos MACH_NANOS NANOS 2759 ++stamp9g10 MACH_STAMP9G10 STAMP9G10 2760 ++stamp9g45 MACH_STAMP9G45 STAMP9G45 2761 ++h6053 MACH_H6053 H6053 2762 ++smint01 MACH_SMINT01 SMINT01 2763 ++prtlvt2 MACH_PRTLVT2 PRTLVT2 2764 ++ap420 MACH_AP420 AP420 2765 ++htcclio MACH_HTCSHIFT HTCSHIFT 2766 ++davinci_dm365_fc MACH_DAVINCI_DM365_FC DAVINCI_DM365_FC 2767 ++msm8x55_surf MACH_MSM8X55_SURF MSM8X55_SURF 2768 ++msm8x55_ffa MACH_MSM8X55_FFA MSM8X55_FFA 2769 ++esl_vamana MACH_ESL_VAMANA ESL_VAMANA 2770 ++sbc35 MACH_SBC35 SBC35 2771 ++mpx6446 MACH_MPX6446 MPX6446 2772 ++oreo_controller MACH_OREO_CONTROLLER OREO_CONTROLLER 2773 ++kopin_models MACH_KOPIN_MODELS KOPIN_MODELS 2774 ++ttc_vision2 MACH_TTC_VISION2 TTC_VISION2 2775 ++cns3420vb MACH_CNS3420VB CNS3420VB 2776 ++lpc_evo MACH_LPC2 LPC2 2777 ++olympus MACH_OLYMPUS OLYMPUS 2778 ++vortex MACH_VORTEX VORTEX 2779 ++s5pc200 MACH_S5PC200 S5PC200 2780 ++ecucore_9263 MACH_ECUCORE_9263 ECUCORE_9263 2781 ++smdkc200 MACH_SMDKC200 SMDKC200 2782 ++emsiso_sx27 MACH_EMSISO_SX27 EMSISO_SX27 2783 ++apx_som9g45_ek MACH_APX_SOM9G45_EK APX_SOM9G45_EK 2784 ++songshan MACH_SONGSHAN SONGSHAN 2785 ++tianshan MACH_TIANSHAN TIANSHAN 2786 ++vpx500 MACH_VPX500 VPX500 2787 ++am3517sam MACH_AM3517SAM AM3517SAM 2788 ++skat91_sim508 MACH_SKAT91_SIM508 SKAT91_SIM508 2789 ++skat91_s3e MACH_SKAT91_S3E SKAT91_S3E 2790 ++omap4_panda MACH_OMAP4_PANDA OMAP4_PANDA 2791 ++df7220 MACH_DF7220 DF7220 2792 ++nemini MACH_NEMINI NEMINI 2793 ++t8200 MACH_T8200 T8200 2794 ++apf51 MACH_APF51 APF51 2795 ++dr_rc_unit MACH_DR_RC_UNIT DR_RC_UNIT 2796 ++bordeaux MACH_BORDEAUX BORDEAUX 2797 ++catania_b MACH_CATANIA_B CATANIA_B 2798 ++mx51_ocean MACH_MX51_OCEAN MX51_OCEAN 2799 ++ti8168evm MACH_TI8168EVM TI8168EVM 2800 ++neocoreomap MACH_NEOCOREOMAP NEOCOREOMAP 2801 ++withings_wbp MACH_WITHINGS_WBP WITHINGS_WBP 2802 ++dbps MACH_DBPS DBPS 2803 ++at91sam9261 MACH_SBC9261 SBC9261 2804 ++pcbfp0001 MACH_PCBFP0001 PCBFP0001 2805 ++speedy MACH_SPEEDY SPEEDY 2806 ++chrysaor MACH_CHRYSAOR CHRYSAOR 2807 ++tango MACH_TANGO TANGO 2808 ++synology_dsx11 MACH_SYNOLOGY_DSX11 SYNOLOGY_DSX11 2809 ++hanlin_v3ext MACH_HANLIN_V3EXT HANLIN_V3EXT 2810 ++hanlin_v5 MACH_HANLIN_V5 HANLIN_V5 2811 ++hanlin_v3plus MACH_HANLIN_V3PLUS HANLIN_V3PLUS 2812 ++iriver_story MACH_IRIVER_STORY IRIVER_STORY 2813 ++irex_iliad MACH_IREX_ILIAD IREX_ILIAD 2814 ++irex_dr1000 MACH_IREX_DR1000 IREX_DR1000 2815 ++teton_bga MACH_TETON_BGA TETON_BGA 2816 ++snapper9g45 MACH_SNAPPER9G45 SNAPPER9G45 2817 ++tam3517 MACH_TAM3517 TAM3517 2818 ++pdc100 MACH_PDC100 PDC100 2819 ++eukrea_cpuimx25sd MACH_EUKREA_CPUIMX25 EUKREA_CPUIMX25 2820 ++eukrea_cpuimx35sd MACH_EUKREA_CPUIMX35 EUKREA_CPUIMX35 2821 ++eukrea_cpuimx51sd MACH_EUKREA_CPUIMX51SD EUKREA_CPUIMX51SD 2822 ++eukrea_cpuimx51 MACH_EUKREA_CPUIMX51 EUKREA_CPUIMX51 2823 ++p565 MACH_P565 P565 2824 ++acer_a4 MACH_ACER_A4 ACER_A4 2825 ++davinci_dm368_bip MACH_DAVINCI_DM368_BIP DAVINCI_DM368_BIP 2826 ++eshare MACH_ESHARE ESHARE 2827 ++hw_omapl138_europa MACH_HW_OMAPL138_EUROPA HW_OMAPL138_EUROPA 2828 ++wlbargn MACH_WLBARGN WLBARGN 2829 ++bm170 MACH_BM170 BM170 2830 ++netspace_mini_v2 MACH_NETSPACE_MINI_V2 NETSPACE_MINI_V2 2831 ++netspace_plug_v2 MACH_NETSPACE_PLUG_V2 NETSPACE_PLUG_V2 2832 ++siemens_l1 MACH_SIEMENS_L1 SIEMENS_L1 2833 ++elv_lcu1 MACH_ELV_LCU1 ELV_LCU1 2834 ++mcu1 MACH_MCU1 MCU1 2835 ++omap3_tao3530 MACH_OMAP3_TAO3530 OMAP3_TAO3530 2836 ++omap3_pcutouch MACH_OMAP3_PCUTOUCH OMAP3_PCUTOUCH 2837 ++smdkc210 MACH_SMDKC210 SMDKC210 2838 ++omap3_braillo MACH_OMAP3_BRAILLO OMAP3_BRAILLO 2839 ++spyplug MACH_SPYPLUG SPYPLUG 2840 ++ginger MACH_GINGER GINGER 2841 ++tny_t3530 MACH_TNY_T3530 TNY_T3530 2842 ++pca102 MACH_PCA102 PCA102 2843 ++spade MACH_SPADE SPADE 2844 ++mxc25_topaz MACH_MXC25_TOPAZ MXC25_TOPAZ 2845 ++t5325 MACH_T5325 T5325 2846 ++gw2361 MACH_GW2361 GW2361 2847 ++elog MACH_ELOG ELOG 2848 ++income MACH_INCOME INCOME 2849 ++bcm589x MACH_BCM589X BCM589X 2850 ++etna MACH_ETNA ETNA 2851 ++hawks MACH_HAWKS HAWKS 2852 ++meson MACH_MESON MESON 2853 ++xsbase255 MACH_XSBASE255 XSBASE255 2854 ++pvm2030 MACH_PVM2030 PVM2030 2855 ++mioa502 MACH_MIOA502 MIOA502 2856 ++vvbox_sdorig2 MACH_VVBOX_SDORIG2 VVBOX_SDORIG2 2857 ++vvbox_sdlite2 MACH_VVBOX_SDLITE2 VVBOX_SDLITE2 2858 ++vvbox_sdpro4 MACH_VVBOX_SDPRO4 VVBOX_SDPRO4 2859 ++htc_spv_m700 MACH_HTC_SPV_M700 HTC_SPV_M700 2860 ++mx257sx MACH_MX257SX MX257SX 2861 ++goni MACH_GONI GONI 2862 ++msm8x55_svlte_ffa MACH_MSM8X55_SVLTE_FFA MSM8X55_SVLTE_FFA 2863 ++msm8x55_svlte_surf MACH_MSM8X55_SVLTE_SURF MSM8X55_SVLTE_SURF 2864 ++quickstep MACH_QUICKSTEP QUICKSTEP 2865 ++dmw96 MACH_DMW96 DMW96 2866 ++hammerhead MACH_HAMMERHEAD HAMMERHEAD 2867 ++trident MACH_TRIDENT TRIDENT 2868 ++lightning MACH_LIGHTNING LIGHTNING 2869 ++iconnect MACH_ICONNECT ICONNECT 2870 ++autobot MACH_AUTOBOT AUTOBOT 2871 ++coconut MACH_COCONUT COCONUT 2872 ++durian MACH_DURIAN DURIAN 2873 ++cayenne MACH_CAYENNE CAYENNE 2874 ++fuji MACH_FUJI FUJI 2875 ++synology_6282 MACH_SYNOLOGY_6282 SYNOLOGY_6282 2876 ++em1sy MACH_EM1SY EM1SY 2877 ++m502 MACH_M502 M502 2878 ++matrix518 MACH_MATRIX518 MATRIX518 2879 ++tiny_gurnard MACH_TINY_GURNARD TINY_GURNARD 2880 ++spear1310 MACH_SPEAR1310 SPEAR1310 2881 ++bv07 MACH_BV07 BV07 2882 ++mxt_td61 MACH_MXT_TD61 MXT_TD61 2883 ++openrd_ultimate MACH_OPENRD_ULTIMATE OPENRD_ULTIMATE 2884 ++devixp MACH_DEVIXP DEVIXP 2885 ++miccpt MACH_MICCPT MICCPT 2886 ++mic256 MACH_MIC256 MIC256 2887 ++as1167 MACH_AS1167 AS1167 2888 ++omap3_ibiza MACH_OMAP3_IBIZA OMAP3_IBIZA 2889 ++u5500 MACH_U5500 U5500 2890 ++davinci_picto MACH_DAVINCI_PICTO DAVINCI_PICTO 2891 ++mecha MACH_MECHA MECHA 2892 ++bubba3 MACH_BUBBA3 BUBBA3 2893 ++pupitre MACH_PUPITRE PUPITRE 2894 ++tegra_harmony MACH_TEGRA_HARMONY TEGRA_HARMONY 2895 ++tegra_vogue MACH_TEGRA_VOGUE TEGRA_VOGUE 2896 ++tegra_e1165 MACH_TEGRA_E1165 TEGRA_E1165 2897 ++simplenet MACH_SIMPLENET SIMPLENET 2898 ++ec4350tbm MACH_EC4350TBM EC4350TBM 2899 ++pec_tc MACH_PEC_TC PEC_TC 2900 ++pec_hc2 MACH_PEC_HC2 PEC_HC2 2901 ++esl_mobilis_a MACH_ESL_MOBILIS_A ESL_MOBILIS_A 2902 ++esl_mobilis_b MACH_ESL_MOBILIS_B ESL_MOBILIS_B 2903 ++esl_wave_a MACH_ESL_WAVE_A ESL_WAVE_A 2904 ++esl_wave_b MACH_ESL_WAVE_B ESL_WAVE_B 2905 ++unisense_mmm MACH_UNISENSE_MMM UNISENSE_MMM 2906 ++blueshark MACH_BLUESHARK BLUESHARK 2907 ++e10 MACH_E10 E10 2908 ++app3k_robin MACH_APP3K_ROBIN APP3K_ROBIN 2909 ++pov15hd MACH_POV15HD POV15HD 2910 ++stella MACH_STELLA STELLA 2911 ++htc_iolite MACH_MACH_HTC_IOLITE MACH_HTC_IOLITE 2912 ++linkstation_lschl MACH_LINKSTATION_LSCHL LINKSTATION_LSCHL 2913 diff --git a/debian/patches/series/16 b/debian/patches/series/16 index 48a12ae8b..a89f33c67 100644 --- a/debian/patches/series/16 +++ b/debian/patches/series/16 @@ -129,3 +129,4 @@ + bugfix/mips/sibyte-m3-tlb-exception.patch + bugfix/x86/eeepc-laptop-check-wireless-hotplug-events.patch - features/arm/openrd-base-uart.patch ++ features/arm/mach-types-update-2010-06-13.patch From d434d3275176887af9eb60386a661962420894ca Mon Sep 17 00:00:00 2001 From: Martin Michlmayr Date: Sun, 13 Jun 2010 11:13:18 +0000 Subject: [PATCH 14/63] Add support for OpenRD-Ultimate. svn path=/dists/sid/linux-2.6/; revision=15863 --- debian/changelog | 1 + debian/config/armel/config.kirkwood | 2 + .../patches/features/arm/openrd-combine.patch | 283 ++++++++++++++++++ .../features/arm/openrd-ultimate.patch | 102 +++++++ debian/patches/series/16 | 2 + 5 files changed, 390 insertions(+) create mode 100644 debian/patches/features/arm/openrd-combine.patch create mode 100644 debian/patches/features/arm/openrd-ultimate.patch diff --git a/debian/changelog b/debian/changelog index 6c2d50e43..9fdb53e64 100644 --- a/debian/changelog +++ b/debian/changelog @@ -30,6 +30,7 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low * OpenRD-Base: revert patch "allow SD/UART1 selection" since it never made it upstream. * ARM: update mach types. + * Add support for OpenRD-Ultimate. -- dann frazier Tue, 01 Jun 2010 09:23:57 -0600 diff --git a/debian/config/armel/config.kirkwood b/debian/config/armel/config.kirkwood index 7dd10ca35..4d3a86674 100644 --- a/debian/config/armel/config.kirkwood +++ b/debian/config/armel/config.kirkwood @@ -62,8 +62,10 @@ CONFIG_MACH_ESATA_SHEEVAPLUG=y CONFIG_MACH_GURUPLUG=y CONFIG_MACH_TS219=y CONFIG_MACH_TS41X=y +CONFIG_MACH_OPENRD=y CONFIG_MACH_OPENRD_BASE=y CONFIG_MACH_OPENRD_CLIENT=y +CONFIG_MACH_OPENRD_ULTIMATE=y ## ## file: arch/arm/mm/Kconfig diff --git a/debian/patches/features/arm/openrd-combine.patch b/debian/patches/features/arm/openrd-combine.patch new file mode 100644 index 000000000..fc2d23801 --- /dev/null +++ b/debian/patches/features/arm/openrd-combine.patch @@ -0,0 +1,283 @@ +From: Alexander Clouter +Date: Mon, 18 Jan 2010 23:38:19 +0000 (+0000) +Subject: [ARM] kirkwood: combine support for openrd base/client support +X-Git-Tag: v2.6.34-rc2~66^2~53^2~9 +X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=b2fdb5660fccc060e47658baad8911a963397ced + +[ARM] kirkwood: combine support for openrd base/client support + +Inspired by the mach-ep93xx flattening work, there is really not +much difference between the OpenRD base and client board support +so they should be merged together. + +Signed-off-by: Alexander Clouter +Acked-by: Simon Kagstrom +Signed-off-by: Nicolas Pitre + +[tbm: adapted Kconfig and Makefile] + +--- + +diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig +index f6c6196..4ac6f46 100644 +--- a/arch/arm/mach-kirkwood/Kconfig ++++ b/arch/arm/mach-kirkwood/Kconfig +@@ -57,14 +57,19 @@ + QNAP TS-410, TS-410U, TS-419P and TS-419U Turbo NAS + devices. + ++config MACH_OPENRD ++ bool ++ + config MACH_OPENRD_BASE + bool "Marvell OpenRD Base Board" ++ select MACH_OPENRD + help + Say 'Y' here if you want your kernel to support the + Marvell OpenRD Base Board. + + config MACH_OPENRD_CLIENT + bool "Marvell OpenRD Client Board" ++ select MACH_OPENRD + help + Say 'Y' here if you want your kernel to support the + Marvell OpenRD Client Board. +diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile +index d4d7f53..df91d07 100644 +--- a/arch/arm/mach-kirkwood/Makefile ++++ b/arch/arm/mach-kirkwood/Makefile +@@ -9,7 +9,6 @@ + obj-$(CONFIG_MACH_GURUPLUG) += guruplug-setup.o + obj-$(CONFIG_MACH_TS219) += ts219-setup.o + obj-$(CONFIG_MACH_TS41X) += ts41x-setup.o +-obj-$(CONFIG_MACH_OPENRD_BASE) += openrd_base-setup.o +-obj-$(CONFIG_MACH_OPENRD_CLIENT) += openrd_client-setup.o ++obj-$(CONFIG_MACH_OPENRD) += openrd-setup.o + + obj-$(CONFIG_CPU_IDLE) += cpuidle.o +diff --git a/arch/arm/mach-kirkwood/openrd-setup.c b/arch/arm/mach-kirkwood/openrd-setup.c +new file mode 100644 +index 0000000..ad3f1ec +--- /dev/null ++++ b/arch/arm/mach-kirkwood/openrd-setup.c +@@ -0,0 +1,118 @@ ++/* ++ * arch/arm/mach-kirkwood/openrd-setup.c ++ * ++ * Marvell OpenRD (Base|Client) Board Setup ++ * ++ * This file is licensed under the terms of the GNU General Public ++ * License version 2. This program is licensed "as is" without any ++ * warranty of any kind, whether express or implied. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include "common.h" ++#include "mpp.h" ++ ++static struct mtd_partition openrd_nand_parts[] = { ++ { ++ .name = "u-boot", ++ .offset = 0, ++ .size = SZ_1M, ++ .mask_flags = MTD_WRITEABLE ++ }, { ++ .name = "uImage", ++ .offset = MTDPART_OFS_NXTBLK, ++ .size = SZ_4M ++ }, { ++ .name = "root", ++ .offset = MTDPART_OFS_NXTBLK, ++ .size = MTDPART_SIZ_FULL ++ }, ++}; ++ ++static struct mv643xx_eth_platform_data openrd_ge00_data = { ++ .phy_addr = MV643XX_ETH_PHY_ADDR(8), ++}; ++ ++static struct mv643xx_eth_platform_data openrd_ge01_data = { ++ .phy_addr = MV643XX_ETH_PHY_ADDR(24), ++}; ++ ++static struct mv_sata_platform_data openrd_sata_data = { ++ .n_ports = 2, ++}; ++ ++static struct mvsdio_platform_data openrd_mvsdio_data = { ++ .gpio_card_detect = 29, /* MPP29 used as SD card detect */ ++}; ++ ++static unsigned int openrd_mpp_config[] __initdata = { ++ MPP29_GPIO, ++ 0 ++}; ++ ++static void __init openrd_init(void) ++{ ++ /* ++ * Basic setup. Needs to be called early. ++ */ ++ kirkwood_init(); ++ kirkwood_mpp_conf(openrd_mpp_config); ++ ++ kirkwood_uart0_init(); ++ kirkwood_nand_init(ARRAY_AND_SIZE(openrd_nand_parts), 25); ++ ++ kirkwood_ehci_init(); ++ ++ kirkwood_ge00_init(&openrd_ge00_data); ++ if (machine_is_openrd_client()) ++ kirkwood_ge01_init(&openrd_ge01_data); ++ kirkwood_sata_init(&openrd_sata_data); ++ kirkwood_sdio_init(&openrd_mvsdio_data); ++ ++ kirkwood_i2c_init(); ++} ++ ++static int __init openrd_pci_init(void) ++{ ++ if (machine_is_openrd_base() || machine_is_openrd_client()) ++ kirkwood_pcie_init(); ++ ++ return 0; ++} ++subsys_initcall(openrd_pci_init); ++ ++#ifdef CONFIG_MACH_OPENRD_BASE ++MACHINE_START(OPENRD_BASE, "Marvell OpenRD Base Board") ++ /* Maintainer: Dhaval Vasa */ ++ .phys_io = KIRKWOOD_REGS_PHYS_BASE, ++ .io_pg_offst = ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc, ++ .boot_params = 0x00000100, ++ .init_machine = openrd_init, ++ .map_io = kirkwood_map_io, ++ .init_irq = kirkwood_init_irq, ++ .timer = &kirkwood_timer, ++MACHINE_END ++#endif ++ ++#ifdef CONFIG_MACH_OPENRD_CLIENT ++MACHINE_START(OPENRD_CLIENT, "Marvell OpenRD Client Board") ++ /* Maintainer: Dhaval Vasa */ ++ .phys_io = KIRKWOOD_REGS_PHYS_BASE, ++ .io_pg_offst = ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc, ++ .boot_params = 0x00000100, ++ .init_machine = openrd_init, ++ .map_io = kirkwood_map_io, ++ .init_irq = kirkwood_init_irq, ++ .timer = &kirkwood_timer, ++MACHINE_END ++#endif +diff --git a/arch/arm/mach-kirkwood/openrd_base-setup.c b/arch/arm/mach-kirkwood/openrd_base-setup.c +deleted file mode 100644 +index 77617c7..0000000 +--- a/arch/arm/mach-kirkwood/openrd_base-setup.c ++++ /dev/null +@@ -1,96 +0,0 @@ +-/* +- * arch/arm/mach-kirkwood/openrd_base-setup.c +- * +- * Marvell OpenRD Base Board Setup +- * +- * This file is licensed under the terms of the GNU General Public +- * License version 2. This program is licensed "as is" without any +- * warranty of any kind, whether express or implied. +- */ +- +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include +-#include "common.h" +-#include "mpp.h" +- +-static struct mtd_partition openrd_base_nand_parts[] = { +- { +- .name = "u-boot", +- .offset = 0, +- .size = SZ_1M +- }, { +- .name = "uImage", +- .offset = MTDPART_OFS_NXTBLK, +- .size = SZ_4M +- }, { +- .name = "root", +- .offset = MTDPART_OFS_NXTBLK, +- .size = MTDPART_SIZ_FULL +- }, +-}; +- +-static struct mv643xx_eth_platform_data openrd_base_ge00_data = { +- .phy_addr = MV643XX_ETH_PHY_ADDR(8), +-}; +- +-static struct mv_sata_platform_data openrd_base_sata_data = { +- .n_ports = 2, +-}; +- +-static struct mvsdio_platform_data openrd_base_mvsdio_data = { +- .gpio_card_detect = 29, /* MPP29 used as SD card detect */ +-}; +- +-static unsigned int openrd_base_mpp_config[] __initdata = { +- MPP29_GPIO, +- 0 +-}; +- +-static void __init openrd_base_init(void) +-{ +- /* +- * Basic setup. Needs to be called early. +- */ +- kirkwood_init(); +- kirkwood_mpp_conf(openrd_base_mpp_config); +- +- kirkwood_uart0_init(); +- kirkwood_nand_init(ARRAY_AND_SIZE(openrd_base_nand_parts), 25); +- +- kirkwood_ehci_init(); +- +- kirkwood_ge00_init(&openrd_base_ge00_data); +- kirkwood_sata_init(&openrd_base_sata_data); +- kirkwood_sdio_init(&openrd_base_mvsdio_data); +- +- kirkwood_i2c_init(); +-} +- +-static int __init openrd_base_pci_init(void) +-{ +- if (machine_is_openrd_base()) +- kirkwood_pcie_init(); +- +- return 0; +- } +-subsys_initcall(openrd_base_pci_init); +- +- +-MACHINE_START(OPENRD_BASE, "Marvell OpenRD Base Board") +- /* Maintainer: Dhaval Vasa */ +- .phys_io = KIRKWOOD_REGS_PHYS_BASE, +- .io_pg_offst = ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc, +- .boot_params = 0x00000100, +- .init_machine = openrd_base_init, +- .map_io = kirkwood_map_io, +- .init_irq = kirkwood_init_irq, +- .timer = &kirkwood_timer, +-MACHINE_END diff --git a/debian/patches/features/arm/openrd-ultimate.patch b/debian/patches/features/arm/openrd-ultimate.patch new file mode 100644 index 000000000..4beb542b7 --- /dev/null +++ b/debian/patches/features/arm/openrd-ultimate.patch @@ -0,0 +1,102 @@ +Hi! +This patch adds support for the OpenRD Ultimate machine(could be found at http://www.arm.linux.org.uk/developer/machines/list.php?id=2884) + +Besides adding machine description this patch adds correction for PHY address for Ultimate version. + +Differences from the previous attempt: + - Correctly filled instances of mv643xx_eth_platform_data in case of ultimate version. + - Do PCIE initialization for Ultimate version along with Base and Client + - Init ge01 if (!openrd-base) to make the code cleaner + +Regards, + +-- Dmytro Milinevskyy + +Signed-off-by: Dmytro Milinevskyy + +[tbm: adapted Kconfig] + +--- + + arch/arm/mach-kirkwood/Kconfig | 7 +++++++ + arch/arm/mach-kirkwood/openrd-setup.c | 27 ++++++++++++++++++++++++--- + 2 files changed, 31 insertions(+), 3 deletions(-) + +diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig +index 29b2163..110a3b8 100644 +--- a/arch/arm/mach-kirkwood/Kconfig ++++ b/arch/arm/mach-kirkwood/Kconfig +@@ -74,6 +74,13 @@ + Say 'Y' here if you want your kernel to support the + Marvell OpenRD Client Board. + ++config MACH_OPENRD_ULTIMATE ++ bool "Marvell OpenRD Ultimate Board" ++ select MACH_OPENRD ++ help ++ Say 'Y' here if you want your kernel to support the ++ Marvell OpenRD Ultimate Board. ++ + endmenu + + endif +diff --git a/arch/arm/mach-kirkwood/openrd-setup.c b/arch/arm/mach-kirkwood/openrd-setup.c +index ad3f1ec..284b00f 100644 +--- a/arch/arm/mach-kirkwood/openrd-setup.c ++++ b/arch/arm/mach-kirkwood/openrd-setup.c +@@ -1,7 +1,7 @@ + /* + * arch/arm/mach-kirkwood/openrd-setup.c + * +- * Marvell OpenRD (Base|Client) Board Setup ++ * Marvell OpenRD (Base|Client|Ultimate) Board Setup + * + * This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without any +@@ -73,9 +73,15 @@ static void __init openrd_init(void) + + kirkwood_ehci_init(); + ++ if (machine_is_openrd_ultimate()) { ++ openrd_ge00_data.phy_addr = MV643XX_ETH_PHY_ADDR(0); ++ openrd_ge01_data.phy_addr = MV643XX_ETH_PHY_ADDR(1); ++ } ++ + kirkwood_ge00_init(&openrd_ge00_data); +- if (machine_is_openrd_client()) ++ if (!machine_is_openrd_base()) + kirkwood_ge01_init(&openrd_ge01_data); ++ + kirkwood_sata_init(&openrd_sata_data); + kirkwood_sdio_init(&openrd_mvsdio_data); + +@@ -84,7 +90,9 @@ static void __init openrd_init(void) + + static int __init openrd_pci_init(void) + { +- if (machine_is_openrd_base() || machine_is_openrd_client()) ++ if (machine_is_openrd_base() || ++ machine_is_openrd_client() || ++ machine_is_openrd_ultimate()) + kirkwood_pcie_init(); + + return 0; +@@ -116,3 +124,16 @@ MACHINE_START(OPENRD_CLIENT, "Marvell OpenRD Client Board") + .timer = &kirkwood_timer, + MACHINE_END + #endif ++ ++#ifdef CONFIG_MACH_OPENRD_ULTIMATE ++MACHINE_START(OPENRD_ULTIMATE, "Marvell OpenRD Ultimate Board") ++ /* Maintainer: Dhaval Vasa */ ++ .phys_io = KIRKWOOD_REGS_PHYS_BASE, ++ .io_pg_offst = ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc, ++ .boot_params = 0x00000100, ++ .init_machine = openrd_init, ++ .map_io = kirkwood_map_io, ++ .init_irq = kirkwood_init_irq, ++ .timer = &kirkwood_timer, ++MACHINE_END ++#endif +-- +1.7.1 diff --git a/debian/patches/series/16 b/debian/patches/series/16 index a89f33c67..b8b9dd855 100644 --- a/debian/patches/series/16 +++ b/debian/patches/series/16 @@ -130,3 +130,5 @@ + bugfix/x86/eeepc-laptop-check-wireless-hotplug-events.patch - features/arm/openrd-base-uart.patch + features/arm/mach-types-update-2010-06-13.patch ++ features/arm/openrd-combine.patch ++ features/arm/openrd-ultimate.patch From 4cb498cd81d26d358a151d23cdc2738fafeb5cc8 Mon Sep 17 00:00:00 2001 From: Martin Michlmayr Date: Sun, 13 Jun 2010 18:36:01 +0000 Subject: [PATCH 15/63] QNAP TS-11x/TS-21x: Add MPP36 (RAM) and MPP44 (board ID). svn path=/dists/sid/linux-2.6/; revision=15864 --- debian/changelog | 1 + debian/patches/features/arm/ts219-mpp36.patch | 29 +++++++++++++++++++ debian/patches/features/arm/ts219-mpp44.patch | 21 ++++++++++++++ debian/patches/series/16 | 2 ++ 4 files changed, 53 insertions(+) create mode 100644 debian/patches/features/arm/ts219-mpp36.patch create mode 100644 debian/patches/features/arm/ts219-mpp44.patch diff --git a/debian/changelog b/debian/changelog index 9fdb53e64..ceb5b1438 100644 --- a/debian/changelog +++ b/debian/changelog @@ -31,6 +31,7 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low never made it upstream. * ARM: update mach types. * Add support for OpenRD-Ultimate. + * QNAP TS-11x/TS-21x: Add MPP36 (RAM) and MPP44 (board ID). -- dann frazier Tue, 01 Jun 2010 09:23:57 -0600 diff --git a/debian/patches/features/arm/ts219-mpp36.patch b/debian/patches/features/arm/ts219-mpp36.patch new file mode 100644 index 000000000..735925f01 --- /dev/null +++ b/debian/patches/features/arm/ts219-mpp36.patch @@ -0,0 +1,29 @@ +From: Martin Michlmayr +Date: Thu, 5 Nov 2009 18:09:01 +0000 (+0000) +Subject: [ARM] Kirkwood: Add MPP36 for QNAP TS-11x/TS-21x +X-Git-Tag: v2.6.33-rc1~12^2~4^2~7 +X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fnico%2Forion.git;a=commitdiff_plain;h=b421950cdc7d0ac900414aa582c5e35aeab921c0 + +[ARM] Kirkwood: Add MPP36 for QNAP TS-11x/TS-21x + +MPP36 is used on the QNAP TS-11x/TS-21x devices to indicate how +much RAM there is: it's high for 512 MB RAM (TS-x19) and low for +256 MB (TS-x10). While this may not be very useful, let's add +it for completeness. + +Signed-off-by: Martin Michlmayr +Signed-off-by: Nicolas Pitre +--- + +diff --git a/arch/arm/mach-kirkwood/ts219-setup.c b/arch/arm/mach-kirkwood/ts219-setup.c +index ec1a64f..cb0f56d 100644 +--- a/arch/arm/mach-kirkwood/ts219-setup.c ++++ b/arch/arm/mach-kirkwood/ts219-setup.c +@@ -152,6 +152,7 @@ static unsigned int qnap_ts219_mpp_config[] __initdata = { + MPP14_UART1_RXD, /* PIC controller */ + MPP15_GPIO, /* USB Copy button */ + MPP16_GPIO, /* Reset button */ ++ MPP36_GPIO, /* RAM: 0: 256 MB, 1: 512 MB */ + 0 + }; + diff --git a/debian/patches/features/arm/ts219-mpp44.patch b/debian/patches/features/arm/ts219-mpp44.patch new file mode 100644 index 000000000..88793f8fe --- /dev/null +++ b/debian/patches/features/arm/ts219-mpp44.patch @@ -0,0 +1,21 @@ +Subject: [PATCH] Kirkwood: Add MPP44 (board ID) for QNAP TS-11x/TS-21x + +MPP44 can be used to differentiate between one-bay (TS-11x) and +two-bay (TS-21x) devices. + +According to an engineer from QNAP, the setting of MPP44 depends +on the firmware rather than hardware. Presumably, this means +that you could fake the MPP44 value by changing the boot loader. + +Signed-off-by: Martin Michlmayr + +--- a/arch/arm/mach-kirkwood/ts219-setup.c 2010-06-13 18:31:20.000000000 +0000 ++++ b/arch/arm/mach-kirkwood/ts219-setup.c 2010-06-13 18:31:54.000000000 +0000 +@@ -153,6 +153,7 @@ + MPP15_GPIO, /* USB Copy button */ + MPP16_GPIO, /* Reset button */ + MPP36_GPIO, /* RAM: 0: 256 MB, 1: 512 MB */ ++ MPP44_GPIO, /* Board ID: 0: TS-11x, 1: TS-21x */ + 0 + }; + diff --git a/debian/patches/series/16 b/debian/patches/series/16 index b8b9dd855..31e20a242 100644 --- a/debian/patches/series/16 +++ b/debian/patches/series/16 @@ -132,3 +132,5 @@ + features/arm/mach-types-update-2010-06-13.patch + features/arm/openrd-combine.patch + features/arm/openrd-ultimate.patch ++ features/arm/ts219-mpp36.patch ++ features/arm/ts219-mpp44.patch From a9ac79ce994144d3850b140c1d93e480b6d3e902 Mon Sep 17 00:00:00 2001 From: Martin Michlmayr Date: Sun, 13 Jun 2010 19:29:59 +0000 Subject: [PATCH 16/63] Add support for HP t5325 Thin Client svn path=/dists/sid/linux-2.6/; revision=15865 --- debian/changelog | 1 + debian/config/armel/config.kirkwood | 1 + debian/patches/features/arm/hp-t5325.patch | 233 +++++++++++++++++++++ debian/patches/series/16 | 1 + 4 files changed, 236 insertions(+) create mode 100644 debian/patches/features/arm/hp-t5325.patch diff --git a/debian/changelog b/debian/changelog index ceb5b1438..f3623fc0c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -32,6 +32,7 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low * ARM: update mach types. * Add support for OpenRD-Ultimate. * QNAP TS-11x/TS-21x: Add MPP36 (RAM) and MPP44 (board ID). + * Add support for the HP t5325 Thin Client. -- dann frazier Tue, 01 Jun 2010 09:23:57 -0600 diff --git a/debian/config/armel/config.kirkwood b/debian/config/armel/config.kirkwood index 4d3a86674..eb135b8c6 100644 --- a/debian/config/armel/config.kirkwood +++ b/debian/config/armel/config.kirkwood @@ -66,6 +66,7 @@ CONFIG_MACH_OPENRD=y CONFIG_MACH_OPENRD_BASE=y CONFIG_MACH_OPENRD_CLIENT=y CONFIG_MACH_OPENRD_ULTIMATE=y +CONFIG_MACH_T5325=y ## ## file: arch/arm/mm/Kconfig diff --git a/debian/patches/features/arm/hp-t5325.patch b/debian/patches/features/arm/hp-t5325.patch new file mode 100644 index 000000000..f0501de8e --- /dev/null +++ b/debian/patches/features/arm/hp-t5325.patch @@ -0,0 +1,233 @@ +Subject: [PATCH] Kirkwood: Add support for HP t5325 Thin Client + +Add support for the HP t5325 Thin Client. This thin client is based +on a Marvell Kirkwood chip at 1.2 GHz and features 512 MB RAM, 512 MB +SATA-attached flash and an XGI Volari Z11 GPU. + +Signed-off-by: Martin Michlmayr + +diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig +index 29b2163..4278271 100644 +--- a/arch/arm/mach-kirkwood/Kconfig ++++ b/arch/arm/mach-kirkwood/Kconfig +@@ -81,6 +81,12 @@ + Say 'Y' here if you want your kernel to support the + Marvell OpenRD Ultimate Board. + ++config MACH_T5325 ++ bool "HP t5325 Thin Client" ++ help ++ Say 'Y' here if you want your kernel to support the ++ HP t5325 Thin Client. ++ + endmenu + + endif +diff --git a/arch/arm/mach-kirkwood/Makefile b/arch/arm/mach-kirkwood/Makefile +index c0cd5d3..b7c5d5e 100644 +--- a/arch/arm/mach-kirkwood/Makefile ++++ b/arch/arm/mach-kirkwood/Makefile +@@ -10,5 +10,6 @@ + obj-$(CONFIG_MACH_TS219) += ts219-setup.o + obj-$(CONFIG_MACH_TS41X) += ts41x-setup.o + obj-$(CONFIG_MACH_OPENRD) += openrd-setup.o ++obj-$(CONFIG_MACH_T5325) += t5325-setup.o + + obj-$(CONFIG_CPU_IDLE) += cpuidle.o +--- /dev/null 2010-05-25 13:42:08.579681378 +0000 ++++ b/arch/arm/mach-kirkwood/t5325-setup.c 2010-05-24 14:48:44.000000000 +0000 +@@ -0,0 +1,194 @@ ++/* ++ * ++ * HP t5325 Thin Client setup ++ * ++ * Copyright (C) 2010 Martin Michlmayr ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * as published by the Free Software Foundation; either version ++ * 2 of the License, or (at your option) any later version. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include "common.h" ++#include "mpp.h" ++ ++struct mtd_partition hp_t5325_partitions[] = { ++ { ++ .name = "u-boot env", ++ .size = SZ_64K, ++ .offset = SZ_512K + SZ_256K, ++ }, ++ { ++ .name = "permanent u-boot env", ++ .size = SZ_64K, ++ .offset = MTDPART_OFS_APPEND, ++ .mask_flags = MTD_WRITEABLE, ++ }, ++ { ++ .name = "HP env", ++ .size = SZ_64K, ++ .offset = MTDPART_OFS_APPEND, ++ }, ++ { ++ .name = "u-boot", ++ .size = SZ_512K, ++ .offset = 0, ++ .mask_flags = MTD_WRITEABLE, ++ }, ++ { ++ .name = "SSD firmware", ++ .size = SZ_256K, ++ .offset = SZ_512K, ++ }, ++}; ++ ++const struct flash_platform_data hp_t5325_flash = { ++ .type = "mx25l8005", ++ .name = "spi_flash", ++ .parts = hp_t5325_partitions, ++ .nr_parts = ARRAY_SIZE(hp_t5325_partitions), ++}; ++ ++struct spi_board_info __initdata hp_t5325_spi_slave_info[] = { ++ { ++ .modalias = "m25p80", ++ .platform_data = &hp_t5325_flash, ++ .irq = -1, ++ }, ++}; ++ ++static struct mv643xx_eth_platform_data hp_t5325_ge00_data = { ++ .phy_addr = MV643XX_ETH_PHY_ADDR(8), ++}; ++ ++static struct mv_sata_platform_data hp_t5325_sata_data = { ++ .n_ports = 2, ++}; ++ ++static struct gpio_keys_button hp_t5325_buttons[] = { ++ { ++ .code = KEY_POWER, ++ .gpio = 45, ++ .desc = "Power", ++ .active_low = 1, ++ }, ++}; ++ ++static struct gpio_keys_platform_data hp_t5325_button_data = { ++ .buttons = hp_t5325_buttons, ++ .nbuttons = ARRAY_SIZE(hp_t5325_buttons), ++}; ++ ++static struct platform_device hp_t5325_button_device = { ++ .name = "gpio-keys", ++ .id = -1, ++ .num_resources = 0, ++ .dev = { ++ .platform_data = &hp_t5325_button_data, ++ } ++}; ++ ++static unsigned int hp_t5325_mpp_config[] __initdata = { ++ MPP0_NF_IO2, ++ MPP1_SPI_MOSI, ++ MPP2_SPI_SCK, ++ MPP3_SPI_MISO, ++ MPP4_NF_IO6, ++ MPP5_NF_IO7, ++ MPP6_SYSRST_OUTn, ++ MPP7_SPI_SCn, ++ MPP8_TW_SDA, ++ MPP9_TW_SCK, ++ MPP10_UART0_TXD, ++ MPP11_UART0_RXD, ++ MPP12_SD_CLK, ++ MPP13_GPIO, ++ MPP14_GPIO, ++ MPP15_GPIO, ++ MPP16_GPIO, ++ MPP17_GPIO, ++ MPP18_NF_IO0, ++ MPP19_NF_IO1, ++ MPP20_GPIO, ++ MPP21_GPIO, ++ MPP22_GPIO, ++ MPP23_GPIO, ++ MPP32_GPIO, ++ MPP33_GE1_13, ++ MPP39_AUDIO_I2SBCLK, ++ MPP40_AUDIO_I2SDO, ++ MPP41_AUDIO_I2SLRC, ++ MPP42_AUDIO_I2SMCLK, ++ MPP45_GPIO, /* Power button */ ++ MPP48_GPIO, /* Board power off */ ++ 0 ++}; ++ ++#define HP_T5325_GPIO_POWER_OFF 48 ++ ++static void hp_t5325_power_off(void) ++{ ++ gpio_set_value(HP_T5325_GPIO_POWER_OFF, 1); ++} ++ ++static void __init hp_t5325_init(void) ++{ ++ /* ++ * Basic setup. Needs to be called early. ++ */ ++ kirkwood_init(); ++ kirkwood_mpp_conf(hp_t5325_mpp_config); ++ ++ kirkwood_uart0_init(); ++ spi_register_board_info(hp_t5325_spi_slave_info, ++ ARRAY_SIZE(hp_t5325_spi_slave_info)); ++ kirkwood_spi_init(); ++ kirkwood_i2c_init(); ++ kirkwood_ge00_init(&hp_t5325_ge00_data); ++ kirkwood_sata_init(&hp_t5325_sata_data); ++ kirkwood_ehci_init(); ++ platform_device_register(&hp_t5325_button_device); ++ ++ if (gpio_request(HP_T5325_GPIO_POWER_OFF, "power-off") == 0 && ++ gpio_direction_output(HP_T5325_GPIO_POWER_OFF, 0) == 0) ++ pm_power_off = hp_t5325_power_off; ++ else ++ pr_err("t5325: failed to configure power-off GPIO\n"); ++} ++ ++static int __init hp_t5325_pci_init(void) ++{ ++ if (machine_is_t5325()) ++ kirkwood_pcie_init(); ++ ++ return 0; ++} ++subsys_initcall(hp_t5325_pci_init); ++ ++MACHINE_START(T5325, "HP t5325 Thin Client") ++ /* Maintainer: Martin Michlmayr */ ++ .phys_io = KIRKWOOD_REGS_PHYS_BASE, ++ .io_pg_offst = ((KIRKWOOD_REGS_VIRT_BASE) >> 18) & 0xfffc, ++ .boot_params = 0x00000100, ++ .init_machine = hp_t5325_init, ++ .map_io = kirkwood_map_io, ++ .init_irq = kirkwood_init_irq, ++ .timer = &kirkwood_timer, ++MACHINE_END diff --git a/debian/patches/series/16 b/debian/patches/series/16 index 31e20a242..237499f5f 100644 --- a/debian/patches/series/16 +++ b/debian/patches/series/16 @@ -134,3 +134,4 @@ + features/arm/openrd-ultimate.patch + features/arm/ts219-mpp36.patch + features/arm/ts219-mpp44.patch ++ features/arm/hp-t5325.patch From 5fb601373e62473b773877263541684d416624b9 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sun, 13 Jun 2010 22:43:01 +0000 Subject: [PATCH 17/63] [mips] Fix boot from ATA hard drives (Closes: #584784): - Set io_map_base for several PCI bridges lacking it - Replace per-platform built-in IDE drivers with libata-based drivers - Enable BLK_DEV_SD as built-in on all platforms svn path=/dists/sid/linux-2.6/; revision=15866 --- debian/changelog | 4 + debian/config/mips/config.4kc-malta | 36 +------- debian/config/mips/config.5kc-malta | 38 +-------- debian/config/mips/config.sb1a-bcm91480b | 37 ++------ debian/config/mips/defines | 10 +++ debian/config/mipsel/config.r5k-cobalt | 40 +++------ debian/config/mipsel/defines | 10 +++ ...base-for-several-PCI-bridges-lacking.patch | 85 +++++++++++++++++++ debian/patches/series/16 | 1 + 9 files changed, 134 insertions(+), 127 deletions(-) create mode 100644 debian/patches/bugfix/mips/mips-Set-io_map_base-for-several-PCI-bridges-lacking.patch diff --git a/debian/changelog b/debian/changelog index f3623fc0c..aa4870c80 100644 --- a/debian/changelog +++ b/debian/changelog @@ -18,6 +18,10 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low * [powerpc] Enable pata_amd driver, replacing amd74xx * eeepc-laptop: Disable wireless hotplug on more models where the controller is not at the expected address (Closes: #576199) + * [mips] Fix boot from ATA hard drives (Closes: #584784): + - Set io_map_base for several PCI bridges lacking it + - Replace per-platform built-in IDE drivers with libata-based drivers + - Enable BLK_DEV_SD as built-in on all platforms [ Aurelien Jarno ] * [sh4] fix sh_tmu clocksource following recent nohz changes. diff --git a/debian/config/mips/config.4kc-malta b/debian/config/mips/config.4kc-malta index dd98a30e8..065805091 100644 --- a/debian/config/mips/config.4kc-malta +++ b/debian/config/mips/config.4kc-malta @@ -134,12 +134,14 @@ CONFIG_SATA_SIL=y # CONFIG_SATA_VITESSE is not set CONFIG_PATA_CMD64X=y CONFIG_ATA_GENERIC=y +CONFIG_PATA_HPT366=y CONFIG_PATA_MPIIX=y CONFIG_PATA_OLDPIIX=y CONFIG_PATA_NETCELL=y CONFIG_PATA_NS87410=y CONFIG_PATA_PDC_OLD=y CONFIG_PATA_PDC2027X=y +CONFIG_PATA_PLATFORM=y CONFIG_PATA_SIL680=y ## @@ -359,38 +361,7 @@ CONFIG_I2C_VOODOO3=m ## ## file: drivers/ide/Kconfig ## -CONFIG_IDE=y -# CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=y -CONFIG_IDE_GD_ATA=y -CONFIG_BLK_DEV_IDECD=m -CONFIG_BLK_DEV_IDETAPE=m -# CONFIG_IDE_TASK_IOCTL is not set -CONFIG_IDE_GENERIC=y -# CONFIG_BLK_DEV_OFFBOARD is not set -# CONFIG_BLK_DEV_GENERIC is not set -# CONFIG_BLK_DEV_OPTI621 is not set -# CONFIG_BLK_DEV_AEC62XX is not set -# CONFIG_BLK_DEV_ALI15X3 is not set -# CONFIG_BLK_DEV_AMD74XX is not set -# CONFIG_BLK_DEV_CMD64X is not set -# CONFIG_BLK_DEV_TRIFLEX is not set -# CONFIG_BLK_DEV_CY82C693 is not set -# CONFIG_BLK_DEV_CS5520 is not set -# CONFIG_BLK_DEV_CS5530 is not set -CONFIG_BLK_DEV_HPT366=y -# CONFIG_BLK_DEV_JMICRON is not set -# CONFIG_BLK_DEV_SC1200 is not set -CONFIG_BLK_DEV_PIIX=y -# CONFIG_BLK_DEV_IT821X is not set -# CONFIG_BLK_DEV_NS87415 is not set -# CONFIG_BLK_DEV_PDC202XX_OLD is not set -# CONFIG_BLK_DEV_PDC202XX_NEW is not set -# CONFIG_BLK_DEV_SVWKS is not set -# CONFIG_BLK_DEV_SIIMAGE is not set -# CONFIG_BLK_DEV_SLC90E66 is not set -# CONFIG_BLK_DEV_TRM290 is not set -# CONFIG_BLK_DEV_VIA82CXXX is not set +# CONFIG_IDE is not set ## ## file: drivers/input/gameport/Kconfig @@ -869,6 +840,7 @@ CONFIG_RTC_DRV_M48T86=m ## file: drivers/scsi/Kconfig ## CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y CONFIG_SCSI_DPT_I2O=m CONFIG_SCSI_ARCMSR=m CONFIG_SCSI_HPTIOP=m diff --git a/debian/config/mips/config.5kc-malta b/debian/config/mips/config.5kc-malta index 173dd0d68..9143d435f 100644 --- a/debian/config/mips/config.5kc-malta +++ b/debian/config/mips/config.5kc-malta @@ -120,12 +120,14 @@ CONFIG_SATA_SIL=y CONFIG_SATA_INIC162X=m CONFIG_PATA_CMD64X=y CONFIG_ATA_GENERIC=y +CONFIG_PATA_HPT366=y CONFIG_PATA_MPIIX=y CONFIG_PATA_OLDPIIX=y CONFIG_PATA_NETCELL=y CONFIG_PATA_NS87410=y CONFIG_PATA_PDC_OLD=y CONFIG_PATA_PDC2027X=y +CONFIG_PATA_PLATFORM=y CONFIG_PATA_SIL680=y ## @@ -348,40 +350,7 @@ CONFIG_I2C_VOODOO3=m ## ## file: drivers/ide/Kconfig ## -CONFIG_IDE=y -# CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=y -CONFIG_IDE_GD_ATA=y -CONFIG_BLK_DEV_IDECD=m -CONFIG_BLK_DEV_IDETAPE=m -# CONFIG_IDE_TASK_IOCTL is not set -CONFIG_IDE_PROC_FS=y -CONFIG_IDE_GENERIC=y -CONFIG_IDEPCI_PCIBUS_ORDER=y -# CONFIG_BLK_DEV_OFFBOARD is not set -# CONFIG_BLK_DEV_GENERIC is not set -# CONFIG_BLK_DEV_OPTI621 is not set -# CONFIG_BLK_DEV_AEC62XX is not set -# CONFIG_BLK_DEV_ALI15X3 is not set -# CONFIG_BLK_DEV_AMD74XX is not set -# CONFIG_BLK_DEV_CMD64X is not set -# CONFIG_BLK_DEV_TRIFLEX is not set -# CONFIG_BLK_DEV_CY82C693 is not set -# CONFIG_BLK_DEV_CS5520 is not set -# CONFIG_BLK_DEV_CS5530 is not set -CONFIG_BLK_DEV_HPT366=y -# CONFIG_BLK_DEV_JMICRON is not set -# CONFIG_BLK_DEV_SC1200 is not set -CONFIG_BLK_DEV_PIIX=y -# CONFIG_BLK_DEV_IT821X is not set -# CONFIG_BLK_DEV_NS87415 is not set -# CONFIG_BLK_DEV_PDC202XX_OLD is not set -# CONFIG_BLK_DEV_PDC202XX_NEW is not set -# CONFIG_BLK_DEV_SVWKS is not set -# CONFIG_BLK_DEV_SIIMAGE is not set -# CONFIG_BLK_DEV_SLC90E66 is not set -# CONFIG_BLK_DEV_TRM290 is not set -# CONFIG_BLK_DEV_VIA82CXXX is not set +# CONFIG_IDE is not set ## ## file: drivers/ieee1394/Kconfig @@ -916,6 +885,7 @@ CONFIG_RTC_DRV_M48T86=m ## file: drivers/scsi/Kconfig ## CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y CONFIG_SCSI_ARCMSR=m CONFIG_SCSI_HPTIOP=m CONFIG_SCSI_DMX3191D=m diff --git a/debian/config/mips/config.sb1a-bcm91480b b/debian/config/mips/config.sb1a-bcm91480b index c1a855318..08f2931aa 100644 --- a/debian/config/mips/config.sb1a-bcm91480b +++ b/debian/config/mips/config.sb1a-bcm91480b @@ -120,7 +120,7 @@ CONFIG_CMDLINE="" ## ## file: drivers/ata/Kconfig ## -CONFIG_ATA=m +CONFIG_ATA=y CONFIG_SATA_AHCI=m CONFIG_SATA_SIL24=m CONFIG_SATA_SVW=m @@ -140,12 +140,14 @@ CONFIG_PATA_ALI=m CONFIG_PATA_AMD=m CONFIG_PATA_CMD64X=m CONFIG_PATA_CS5530=m +CONFIG_PATA_CYPRESS=y CONFIG_PATA_EFAR=m CONFIG_PATA_TRIFLEX=m CONFIG_PATA_MPIIX=m CONFIG_PATA_OLDPIIX=m CONFIG_PATA_NS87415=m CONFIG_PATA_PDC_OLD=m +CONFIG_PATA_PLATFORM=y CONFIG_PATA_SC1200=m CONFIG_PATA_SERVERWORKS=m CONFIG_PATA_PDC2027X=m @@ -288,36 +290,7 @@ CONFIG_I2C_STUB=m ## ## file: drivers/ide/Kconfig ## -CONFIG_IDE=y -# CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=y -CONFIG_IDE_GD_ATA=y -CONFIG_BLK_DEV_IDECD=m -CONFIG_BLK_DEV_IDETAPE=m -CONFIG_IDE_GENERIC=y -# CONFIG_BLK_DEV_OFFBOARD is not set -# CONFIG_BLK_DEV_GENERIC is not set -# CONFIG_BLK_DEV_OPTI621 is not set -# CONFIG_BLK_DEV_AEC62XX is not set -# CONFIG_BLK_DEV_ALI15X3 is not set -# CONFIG_BLK_DEV_AMD74XX is not set -# CONFIG_BLK_DEV_CMD64X is not set -# CONFIG_BLK_DEV_TRIFLEX is not set -CONFIG_BLK_DEV_CY82C693=m -# CONFIG_BLK_DEV_CS5520 is not set -# CONFIG_BLK_DEV_CS5530 is not set -CONFIG_BLK_DEV_HPT366=m -# CONFIG_BLK_DEV_SC1200 is not set -CONFIG_BLK_DEV_PIIX=m -# CONFIG_BLK_DEV_IT821X is not set -# CONFIG_BLK_DEV_NS87415 is not set -# CONFIG_BLK_DEV_PDC202XX_OLD is not set -# CONFIG_BLK_DEV_PDC202XX_NEW is not set -# CONFIG_BLK_DEV_SVWKS is not set -# CONFIG_BLK_DEV_SIIMAGE is not set -# CONFIG_BLK_DEV_SLC90E66 is not set -CONFIG_BLK_DEV_TRM290=m -# CONFIG_BLK_DEV_VIA82CXXX is not set +# CONFIG_IDE is not set ## ## file: drivers/infiniband/Kconfig @@ -566,6 +539,8 @@ CONFIG_BROADCOM_PHY=y ## ## file: drivers/scsi/Kconfig ## +CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y # CONFIG_SCSI_MULTI_LUN is not set # CONFIG_SCSI_CONSTANTS is not set # CONFIG_SCSI_LOGGING is not set diff --git a/debian/config/mips/defines b/debian/config/mips/defines index 194a50119..166738025 100644 --- a/debian/config/mips/defines +++ b/debian/config/mips/defines @@ -1,3 +1,13 @@ +[abi] +ignore-changes: +# disabled; assume there are no OOT IDE modules + __ide_* + do_rw_taskfile + generic_ide_ioctl + ide_* + ledtrig_ide_activity + sff_dma_ops + [base] flavours: r4k-ip22 diff --git a/debian/config/mipsel/config.r5k-cobalt b/debian/config/mipsel/config.r5k-cobalt index 702162fbd..060a61844 100644 --- a/debian/config/mipsel/config.r5k-cobalt +++ b/debian/config/mipsel/config.r5k-cobalt @@ -88,6 +88,13 @@ CONFIG_CMDLINE="" # CONFIG_TOSHIBA_RBTX4927 is not set # CONFIG_TOSHIBA_RBTX4938 is not set +## +## file: drivers/ata/Kconfig +## +CONFIG_ATA=y +CONFIG_PATA_PLATFORM=y +CONFIG_PATA_VIA=y + ## ## file: drivers/base/Kconfig ## @@ -163,36 +170,7 @@ CONFIG_VT_CONSOLE=y ## ## file: drivers/ide/Kconfig ## -CONFIG_IDE=y -# CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=y -CONFIG_IDE_GD_ATA=y -# CONFIG_BLK_DEV_IDECD is not set -# CONFIG_BLK_DEV_IDETAPE is not set -CONFIG_IDE_GENERIC=y -# CONFIG_BLK_DEV_OFFBOARD is not set -# CONFIG_BLK_DEV_GENERIC is not set -# CONFIG_BLK_DEV_OPTI621 is not set -# CONFIG_BLK_DEV_AEC62XX is not set -# CONFIG_BLK_DEV_ALI15X3 is not set -# CONFIG_BLK_DEV_AMD74XX is not set -# CONFIG_BLK_DEV_CMD64X is not set -# CONFIG_BLK_DEV_TRIFLEX is not set -# CONFIG_BLK_DEV_CY82C693 is not set -# CONFIG_BLK_DEV_CS5520 is not set -# CONFIG_BLK_DEV_CS5530 is not set -# CONFIG_BLK_DEV_HPT366 is not set -# CONFIG_BLK_DEV_SC1200 is not set -# CONFIG_BLK_DEV_PIIX is not set -# CONFIG_BLK_DEV_IT821X is not set -# CONFIG_BLK_DEV_NS87415 is not set -# CONFIG_BLK_DEV_PDC202XX_OLD is not set -# CONFIG_BLK_DEV_PDC202XX_NEW is not set -# CONFIG_BLK_DEV_SVWKS is not set -# CONFIG_BLK_DEV_SIIMAGE is not set -# CONFIG_BLK_DEV_SLC90E66 is not set -# CONFIG_BLK_DEV_TRM290 is not set -CONFIG_BLK_DEV_VIA82CXXX=y +# CONFIG_IDE is not set ## ## file: drivers/infiniband/Kconfig @@ -590,6 +568,8 @@ CONFIG_RTC_DRV_CMOS=y ## ## file: drivers/scsi/Kconfig ## +CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y # CONFIG_SCSI_MULTI_LUN is not set # CONFIG_SCSI_CONSTANTS is not set # CONFIG_SCSI_LOGGING is not set diff --git a/debian/config/mipsel/defines b/debian/config/mipsel/defines index e351eb98f..62c82a0e2 100644 --- a/debian/config/mipsel/defines +++ b/debian/config/mipsel/defines @@ -1,3 +1,13 @@ +[abi] +ignore-changes: +# disabled; assume there are no OOT IDE modules + __ide_* + do_rw_taskfile + generic_ide_ioctl + ide_* + ledtrig_ide_activity + sff_dma_ops + [base] flavours: r5k-cobalt diff --git a/debian/patches/bugfix/mips/mips-Set-io_map_base-for-several-PCI-bridges-lacking.patch b/debian/patches/bugfix/mips/mips-Set-io_map_base-for-several-PCI-bridges-lacking.patch new file mode 100644 index 000000000..a664e4ee4 --- /dev/null +++ b/debian/patches/bugfix/mips/mips-Set-io_map_base-for-several-PCI-bridges-lacking.patch @@ -0,0 +1,85 @@ +From 4e6385d53a2ab58c327d286ebc4f8771562cd728 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Sun, 13 Jun 2010 21:23:29 +0100 +Subject: [PATCH] mips: Set io_map_base for several PCI bridges lacking it + +Several MIPS platforms don't set pci_controller::io_map_base for their +PCI bridges. This results in a panic in pci_iomap(). (The panic is +conditional on CONFIG_PCI_DOMAINS, but that is now enabled for all PCI +MIPS systems.) + +I have tested the change to Malta in qemu; the other platforms not at +all. +--- + arch/mips/mti-malta/malta-pci.c | 2 ++ + arch/mips/nxp/pnx8550/common/pci.c | 1 + + arch/mips/nxp/pnx8550/common/setup.c | 2 +- + arch/mips/pci/ops-pmcmsp.c | 1 + + arch/mips/pci/pci-yosemite.c | 1 + + 5 files changed, 6 insertions(+), 1 deletions(-) + +diff --git a/arch/mips/mti-malta/malta-pci.c b/arch/mips/mti-malta/malta-pci.c +index 2fbfa1a..bf80921 100644 +--- a/arch/mips/mti-malta/malta-pci.c ++++ b/arch/mips/mti-malta/malta-pci.c +@@ -247,6 +247,8 @@ void __init mips_pcibios_init(void) + iomem_resource.end &= 0xfffffffffULL; /* 64 GB */ + ioport_resource.end = controller->io_resource->end; + ++ controller->io_map_base = mips_io_port_base; ++ + register_pci_controller(controller); + } + +diff --git a/arch/mips/nxp/pnx8550/common/pci.c b/arch/mips/nxp/pnx8550/common/pci.c +index eee4f3d..98e86dd 100644 +--- a/arch/mips/nxp/pnx8550/common/pci.c ++++ b/arch/mips/nxp/pnx8550/common/pci.c +@@ -44,6 +44,7 @@ extern struct pci_ops pnx8550_pci_ops; + + static struct pci_controller pnx8550_controller = { + .pci_ops = &pnx8550_pci_ops, ++ .io_map_base = PNX8550_PORT_BASE, + .io_resource = &pci_io_resource, + .mem_resource = &pci_mem_resource, + }; +diff --git a/arch/mips/nxp/pnx8550/common/setup.c b/arch/mips/nxp/pnx8550/common/setup.c +index 2aed50f..64246c9 100644 +--- a/arch/mips/nxp/pnx8550/common/setup.c ++++ b/arch/mips/nxp/pnx8550/common/setup.c +@@ -113,7 +113,7 @@ void __init plat_mem_setup(void) + PNX8550_GLB2_ENAB_INTA_O = 0; + + /* IO/MEM resources. */ +- set_io_port_base(KSEG1); ++ set_io_port_base(PNX8550_PORT_BASE); + ioport_resource.start = 0; + ioport_resource.end = ~0; + iomem_resource.start = 0; +diff --git a/arch/mips/pci/ops-pmcmsp.c b/arch/mips/pci/ops-pmcmsp.c +index 32548b5..421e1a0 100644 +--- a/arch/mips/pci/ops-pmcmsp.c ++++ b/arch/mips/pci/ops-pmcmsp.c +@@ -944,6 +944,7 @@ static struct pci_controller msp_pci_controller = { + .pci_ops = &msp_pci_ops, + .mem_resource = &pci_mem_resource, + .mem_offset = 0, ++ .io_map_base = MSP_PCI_IOSPACE_BASE, + .io_resource = &pci_io_resource, + .io_offset = 0 + }; +diff --git a/arch/mips/pci/pci-yosemite.c b/arch/mips/pci/pci-yosemite.c +index 0357946..cf5e1a2 100644 +--- a/arch/mips/pci/pci-yosemite.c ++++ b/arch/mips/pci/pci-yosemite.c +@@ -54,6 +54,7 @@ static int __init pmc_yosemite_setup(void) + panic(ioremap_failed); + + set_io_port_base(io_v_base); ++ py_controller.io_map_base = io_v_base; + TITAN_WRITE(RM9000x2_OCD_LKM7, TITAN_READ(RM9000x2_OCD_LKM7) | 1); + + ioport_resource.end = TITAN_IO_SIZE - 1; +-- +1.7.1 + diff --git a/debian/patches/series/16 b/debian/patches/series/16 index 237499f5f..ac9a1b6e7 100644 --- a/debian/patches/series/16 +++ b/debian/patches/series/16 @@ -135,3 +135,4 @@ + features/arm/ts219-mpp36.patch + features/arm/ts219-mpp44.patch + features/arm/hp-t5325.patch ++ bugfix/mips/mips-Set-io_map_base-for-several-PCI-bridges-lacking.patch From 1fc793a8dd5f15304ff264c8fd051ec869ce155f Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Mon, 14 Jun 2010 12:14:09 +0000 Subject: [PATCH 18/63] Revert "vlan/macvlan: propagate transmission state to upper layers" (Closes: #585770) svn path=/dists/sid/linux-2.6/; revision=15869 --- debian/changelog | 2 ++ debian/patches/series/16 | 1 + 2 files changed, 3 insertions(+) diff --git a/debian/changelog b/debian/changelog index aa4870c80..e6931db4a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -22,6 +22,8 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low - Set io_map_base for several PCI bridges lacking it - Replace per-platform built-in IDE drivers with libata-based drivers - Enable BLK_DEV_SD as built-in on all platforms + * Revert "vlan/macvlan: propagate transmission state to upper layers" + (Closes: #585770) [ Aurelien Jarno ] * [sh4] fix sh_tmu clocksource following recent nohz changes. diff --git a/debian/patches/series/16 b/debian/patches/series/16 index ac9a1b6e7..dcd18e131 100644 --- a/debian/patches/series/16 +++ b/debian/patches/series/16 @@ -136,3 +136,4 @@ + features/arm/ts219-mpp44.patch + features/arm/hp-t5325.patch + bugfix/mips/mips-Set-io_map_base-for-several-PCI-bridges-lacking.patch +- bugfix/all/vlan-macvlan-propagate-transmission-state-to-upper-layer.patch From a6a47fc5c465fdf36c04d52fd865b467dfc123c6 Mon Sep 17 00:00:00 2001 From: Bastian Blank Date: Mon, 14 Jun 2010 14:11:35 +0000 Subject: [PATCH 19/63] * debian/changelog: Update. * debian/config/config: Disable CONFIG_MISDN_NETJET. svn path=/dists/sid/linux-2.6/; revision=15870 --- debian/changelog | 4 ++++ debian/config/config | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index e6931db4a..1e1c4a4db 100644 --- a/debian/changelog +++ b/debian/changelog @@ -40,6 +40,10 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low * QNAP TS-11x/TS-21x: Add MPP36 (RAM) and MPP44 (board ID). * Add support for the HP t5325 Thin Client. + [ Bastian Blank ] + * Disable mISDN support for NETJet cards. The driver binds a generic PCI + bridge. + -- dann frazier Tue, 01 Jun 2010 09:23:57 -0600 linux-2.6 (2.6.32-15) unstable; urgency=low diff --git a/debian/config/config b/debian/config/config index 2da6919bb..7decd5f00 100644 --- a/debian/config/config +++ b/debian/config/config @@ -668,7 +668,8 @@ CONFIG_MISDN_AVMFRITZ=m CONFIG_MISDN_SPEEDFAX=m CONFIG_MISDN_INFINEON=m CONFIG_MISDN_W6692=m -CONFIG_MISDN_NETJET=m +#. Binds a generic PCI bridge +# CONFIG_MISDN_NETJET is not set ## ## file: drivers/isdn/hysdn/Kconfig From e215b75aef05f2062e5aa11f4537969d4a2707bd Mon Sep 17 00:00:00 2001 From: Bastian Blank Date: Mon, 14 Jun 2010 14:28:36 +0000 Subject: [PATCH 20/63] debian/config: Reorder. svn path=/dists/sid/linux-2.6/; revision=15871 --- debian/config/armel/config.kirkwood | 1 - debian/config/config | 8 +- debian/config/ia64/config | 2 - debian/config/mips/config.4kc-malta | 3 +- debian/config/mips/config.5kc-malta | 3 +- debian/config/mips/config.sb1a-bcm91480b | 2 +- debian/config/mipsel/config.r5k-cobalt | 2 +- debian/config/sh4/config | 76 ++-- debian/config/sh4/config.sh7751r | 390 ++++++++----------- debian/config/sh4/config.sh7785lcr | 473 ++++++++++------------- 10 files changed, 428 insertions(+), 532 deletions(-) diff --git a/debian/config/armel/config.kirkwood b/debian/config/armel/config.kirkwood index eb135b8c6..83219ce51 100644 --- a/debian/config/armel/config.kirkwood +++ b/debian/config/armel/config.kirkwood @@ -62,7 +62,6 @@ CONFIG_MACH_ESATA_SHEEVAPLUG=y CONFIG_MACH_GURUPLUG=y CONFIG_MACH_TS219=y CONFIG_MACH_TS41X=y -CONFIG_MACH_OPENRD=y CONFIG_MACH_OPENRD_BASE=y CONFIG_MACH_OPENRD_CLIENT=y CONFIG_MACH_OPENRD_ULTIMATE=y diff --git a/debian/config/config b/debian/config/config index 7decd5f00..5c7a02712 100644 --- a/debian/config/config +++ b/debian/config/config @@ -188,8 +188,6 @@ CONFIG_EXTRA_FIRMWARE="" CONFIG_BLK_DEV=y CONFIG_BLK_DEV_LOOP=m # CONFIG_BLK_DEV_CRYPTOLOOP is not set -CONFIG_BLK_DEV_DRBD=m -# CONFIG_DRBD_FAULT_INJECTION is not set CONFIG_BLK_DEV_NBD=m CONFIG_BLK_DEV_OSD=m CONFIG_BLK_DEV_RAM=m @@ -199,6 +197,12 @@ CONFIG_ATA_OVER_ETH=m CONFIG_VIRTIO_BLK=m # CONFIG_BLK_DEV_HD is not set +## +## file: drivers/block/drbd/Kconfig +## +CONFIG_BLK_DEV_DRBD=m +# CONFIG_DRBD_FAULT_INJECTION is not set + ## ## file: drivers/bluetooth/Kconfig ## diff --git a/debian/config/ia64/config b/debian/config/ia64/config index 27aa517b8..7900b7eca 100644 --- a/debian/config/ia64/config +++ b/debian/config/ia64/config @@ -6,7 +6,6 @@ CONFIG_OPROFILE=m ## ## file: arch/ia64/Kconfig ## -CONFIG_IA64_UNCACHED_ALLOCATOR=y CONFIG_HOTPLUG_CPU=y CONFIG_SCHED_SMT=y CONFIG_PERMIT_BSP_REMOVE=y @@ -15,7 +14,6 @@ CONFIG_IA32_SUPPORT=y CONFIG_IA64_MCA_RECOVERY=m CONFIG_PERFMON=y CONFIG_IA64_PALINFO=m -CONFIG_SGI_SN=y CONFIG_KEXEC=y CONFIG_CRASH_DUMP=y CONFIG_MSPEC=m diff --git a/debian/config/mips/config.4kc-malta b/debian/config/mips/config.4kc-malta index 065805091..d53d998ae 100644 --- a/debian/config/mips/config.4kc-malta +++ b/debian/config/mips/config.4kc-malta @@ -141,8 +141,8 @@ CONFIG_PATA_NETCELL=y CONFIG_PATA_NS87410=y CONFIG_PATA_PDC_OLD=y CONFIG_PATA_PDC2027X=y -CONFIG_PATA_PLATFORM=y CONFIG_PATA_SIL680=y +CONFIG_PATA_PLATFORM=y ## ## file: drivers/atm/Kconfig @@ -1262,3 +1262,4 @@ CONFIG_SND_YMFPCI=m ## file: sound/pci/hda/Kconfig ## CONFIG_SND_HDA_INTEL=m + diff --git a/debian/config/mips/config.5kc-malta b/debian/config/mips/config.5kc-malta index 9143d435f..334548118 100644 --- a/debian/config/mips/config.5kc-malta +++ b/debian/config/mips/config.5kc-malta @@ -127,8 +127,8 @@ CONFIG_PATA_NETCELL=y CONFIG_PATA_NS87410=y CONFIG_PATA_PDC_OLD=y CONFIG_PATA_PDC2027X=y -CONFIG_PATA_PLATFORM=y CONFIG_PATA_SIL680=y +CONFIG_PATA_PLATFORM=y ## ## file: drivers/atm/Kconfig @@ -1326,3 +1326,4 @@ CONFIG_SND_YMFPCI=m ## file: sound/pci/hda/Kconfig ## CONFIG_SND_HDA_INTEL=m + diff --git a/debian/config/mips/config.sb1a-bcm91480b b/debian/config/mips/config.sb1a-bcm91480b index 08f2931aa..4094d292a 100644 --- a/debian/config/mips/config.sb1a-bcm91480b +++ b/debian/config/mips/config.sb1a-bcm91480b @@ -147,12 +147,12 @@ CONFIG_PATA_MPIIX=m CONFIG_PATA_OLDPIIX=m CONFIG_PATA_NS87415=m CONFIG_PATA_PDC_OLD=m -CONFIG_PATA_PLATFORM=y CONFIG_PATA_SC1200=m CONFIG_PATA_SERVERWORKS=m CONFIG_PATA_PDC2027X=m CONFIG_PATA_SIL680=m CONFIG_PATA_VIA=m +CONFIG_PATA_PLATFORM=y ## ## file: drivers/block/Kconfig diff --git a/debian/config/mipsel/config.r5k-cobalt b/debian/config/mipsel/config.r5k-cobalt index 060a61844..735473d50 100644 --- a/debian/config/mipsel/config.r5k-cobalt +++ b/debian/config/mipsel/config.r5k-cobalt @@ -92,8 +92,8 @@ CONFIG_CMDLINE="" ## file: drivers/ata/Kconfig ## CONFIG_ATA=y -CONFIG_PATA_PLATFORM=y CONFIG_PATA_VIA=y +CONFIG_PATA_PLATFORM=y ## ## file: drivers/base/Kconfig diff --git a/debian/config/sh4/config b/debian/config/sh4/config index 39b6ceef9..42425e378 100644 --- a/debian/config/sh4/config +++ b/debian/config/sh4/config @@ -1,49 +1,51 @@ -CONFIG_SUPERH=y -CONFIG_SUPERH32=y +## +## file: arch/sh/Kconfig +## +CONFIG_SH_CPU_FREQ=y +CONFIG_KEXEC=y +CONFIG_SECCOMP=y +CONFIG_SPARSE_IRQ=y -# -# System type -# -CONFIG_CPU_SH4=y - -# -# Cache configuration -# -CONFIG_CACHE_WRITEBACK=y - -# -# Processor features -# +## +## file: arch/sh/Kconfig.cpu +## +## choice: Endianess selection CONFIG_CPU_LITTLE_ENDIAN=y +## end choice CONFIG_SH_FPU=y CONFIG_SH_STORE_QUEUES=y -CONFIG_CPU_HAS_INTEVT=y -CONFIG_CPU_HAS_SR_RB=y -CONFIG_CPU_HAS_FPU=y -# -# CPU Frequency scaling -# +## +## file: arch/sh/drivers/Kconfig +## +CONFIG_HEARTBEAT=y + +## +## file: arch/sh/mm/Kconfig +## +## choice: Cache mode +CONFIG_CACHE_WRITEBACK=y +## end choice + +## +## file: drivers/cpufreq/Kconfig +## CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_TABLE=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ_STAT_DETAILS=y CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -CONFIG_SH_CPU_FREQ=y -# -# Additional SuperH Device Drivers -# -CONFIG_HEARTBEAT=y - -# -# Kernel features -# +## +## file: kernel/Kconfig.hz +## +## choice: Timer frequency CONFIG_HZ_250=y -CONFIG_HZ=250 -CONFIG_SCHED_HRTICK=y -CONFIG_KEXEC=y -CONFIG_SECCOMP=y +## end choice + +## +## file: kernel/Kconfig.preempt +## +## choice: Preemption Model CONFIG_PREEMPT_NONE=y -CONFIG_GUSA=y -CONFIG_SPARSE_IRQ=y +## end choice + diff --git a/debian/config/sh4/config.sh7751r b/debian/config/sh4/config.sh7751r index 7aa1b73dd..4d6b4e81d 100644 --- a/debian/config/sh4/config.sh7751r +++ b/debian/config/sh4/config.sh7751r @@ -1,266 +1,212 @@ -# -# System type -# +## +## file: arch/sh/Kconfig +## +## choice: Processor sub-type selection CONFIG_CPU_SUBTYPE_SH7751R=y +## end choice +CONFIG_SH_TIMER_TMU=y +CONFIG_SH_PCLK_FREQ=60000000 -# -# Memory management options -# -CONFIG_QUICKLIST=y -CONFIG_MMU=y -CONFIG_PAGE_OFFSET=0x80000000 -CONFIG_FORCE_MAX_ZONEORDER=11 -CONFIG_MEMORY_START=0x0c000000 -CONFIG_MEMORY_SIZE=0x04000000 -CONFIG_29BIT=y -CONFIG_VSYSCALL=y -CONFIG_ARCH_FLATMEM_ENABLE=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_SPARSEMEM_DEFAULT=y -CONFIG_MAX_ACTIVE_REGIONS=1 -CONFIG_ARCH_POPULATES_NODE_MAP=y -CONFIG_ARCH_SELECT_MEMORY_MODEL=y -CONFIG_PAGE_SIZE_4KB=y -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_FLATMEM_MANUAL=y -CONFIG_FLATMEM=y -CONFIG_FLAT_NODE_MEM_MAP=y -CONFIG_SPARSEMEM_STATIC=y -CONFIG_PAGEFLAGS_EXTENDED=y -CONFIG_SPLIT_PTLOCK_CPUS=4 -CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 -CONFIG_HAVE_MLOCK=y -CONFIG_HAVE_MLOCKED_PAGE_BIT=y - -# -# Processor features -# -CONFIG_CPU_LITTLE_ENDIAN=y -CONFIG_SH_FPU=y -CONFIG_CPU_HAS_INTEVT=y -CONFIG_CPU_HAS_SR_RB=y -CONFIG_CPU_HAS_FPU=y - -# -# Board support -# +## +## file: arch/sh/boards/Kconfig +## CONFIG_SH_RTS7751R2D=y -# -# RTS7751R2D Board Revision -# +## +## file: arch/sh/boards/mach-r2d/Kconfig +## CONFIG_RTS7751R2D_PLUS=y CONFIG_RTS7751R2D_1=y -# -# Timer and clock configuration -# -CONFIG_SH_TIMER_TMU=y -CONFIG_SH_PCLK_FREQ=60000000 -CONFIG_SH_CLK_CPG=y -CONFIG_SH_CLK_CPG_LEGACY=y -CONFIG_TICK_ONESHOT=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +## +## file: arch/sh/Kconfig.cpu +## +## choice: Endianess selection +CONFIG_CPU_LITTLE_ENDIAN=y +## end choice +CONFIG_SH_FPU=y -# -# Boot options -# -CONFIG_ZERO_PAGE_OFFSET=0x00010000 -CONFIG_BOOT_LINK_OFFSET=0x009e0000 -CONFIG_ENTRY_OFFSET=0x00001000 - -# -# Bus options -# +## +## file: arch/sh/drivers/pci/Kconfig +## CONFIG_PCI=y CONFIG_SH_PCIDMA_NONCOHERENT=y -# -# Generic Driver Options -# -CONFIG_MTD=y -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y +## +## file: arch/sh/mm/Kconfig +## +CONFIG_MMU=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_MEMORY_START=0x0c000000 +CONFIG_MEMORY_SIZE=0x04000000 +CONFIG_VSYSCALL=y +## choice: Kernel page size +CONFIG_PAGE_SIZE_4KB=y +## end choice -# -# User Modules And Translation Layers -# -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y - -# -# RAM/ROM/Flash chip drivers -# -CONFIG_MTD_CFI=y -CONFIG_MTD_GEN_PROBE=y -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -CONFIG_MTD_CFI_AMDSTD=y -CONFIG_MTD_CFI_UTIL=y - -# -# Mapping drivers for chip access -# -CONFIG_MTD_PHYSMAP=y - -# -# UBI - Unsorted block images -# -CONFIG_HAVE_IDE=y - -# -# SCSI device support -# -CONFIG_SCSI=y -CONFIG_SCSI_DMA=y - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=y - -# -# SCSI Transports -# +## +## file: drivers/ata/Kconfig +## CONFIG_ATA=y CONFIG_ATA_VERBOSE_ERROR=y CONFIG_SATA_PMP=y CONFIG_ATA_SFF=y CONFIG_PATA_PLATFORM=y -# net device - -CONFIG_NETDEVICES=y -CONFIG_MII=y -CONFIG_NET_ETHERNET=y -CONFIG_NET_PCI=y -CONFIG_8139CP=y - -# -# Input device support -# -CONFIG_INPUT=y - -# -# Input Device Drivers -# -CONFIG_INPUT_KEYBOARD=y - -# -# Character devices -# +## +## file: drivers/char/Kconfig +## CONFIG_VT=y CONFIG_CONSOLE_TRANSLATIONS=y CONFIG_VT_CONSOLE=y -CONFIG_HW_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y -# -# Non-8250 serial port support -# +## +## file: drivers/hid/Kconfig +## +CONFIG_HID_SUPPORT=y +CONFIG_HID=y + +## +## file: drivers/hid/usbhid/Kconfig +## +CONFIG_USB_HID=y + +## +## file: drivers/input/Kconfig +## +CONFIG_INPUT=y + +## +## file: drivers/input/keyboard/Kconfig +## +CONFIG_INPUT_KEYBOARD=y + +## +## file: drivers/mfd/Kconfig +## +CONFIG_MFD_SM501=y + +## +## file: drivers/mtd/Kconfig +## +CONFIG_MTD=y +CONFIG_MTD_CONCAT=y +CONFIG_MTD_PARTITIONS=y +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y + +## +## file: drivers/mtd/chips/Kconfig +## +CONFIG_MTD_CFI=y +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +CONFIG_MTD_CFI_AMDSTD=y + +## +## file: drivers/mtd/maps/Kconfig +## +CONFIG_MTD_PHYSMAP=y + +## +## file: drivers/net/Kconfig +## +CONFIG_NETDEVICES=y +CONFIG_NET_ETHERNET=y +CONFIG_MII=y +CONFIG_NET_PCI=y +CONFIG_8139CP=y + +## +## file: drivers/rtc/Kconfig +## +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +CONFIG_RTC_DRV_R9701=y +# CONFIG_RTC_DRV_SH is not set +# CONFIG_RTC_DRV_GENERIC is not set + +## +## file: drivers/scsi/Kconfig +## +CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y + +## +## file: drivers/serial/Kconfig +## CONFIG_SERIAL_SH_SCI=y CONFIG_SERIAL_SH_SCI_NR_UARTS=6 CONFIG_SERIAL_SH_SCI_CONSOLE=y -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_DEVPORT=y -# -# SPI Master Controller Drivers -# +## +## file: drivers/spi/Kconfig +## CONFIG_SPI=y -CONFIG_SPI_MASTER=y CONFIG_SPI_BITBANG=y CONFIG_SPI_SH_SCI=y -# -# Multifunction device drivers -# -CONFIG_MFD_SM501=y +## +## file: drivers/usb/Kconfig +## +CONFIG_USB_SUPPORT=y +CONFIG_USB=y -# -# Graphics support -# +## +## file: drivers/usb/core/Kconfig +## +CONFIG_USB_DEVICE_CLASS=y + +## +## file: drivers/usb/host/Kconfig +## +CONFIG_USB_OHCI_HCD=y + +## +## file: drivers/video/Kconfig +## CONFIG_FB=y -CONFIG_FB_CFB_FILLRECT=y -CONFIG_FB_CFB_COPYAREA=y -CONFIG_FB_CFB_IMAGEBLIT=y - -# -# Frame buffer hardware drivers -# CONFIG_FB_SM501=y -# -# Console display driver support -# -CONFIG_DUMMY_CONSOLE=y +## +## file: drivers/video/console/Kconfig +## CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y + +## +## file: drivers/video/logo/Kconfig +## CONFIG_LOGO=y CONFIG_LOGO_SUPERH_MONO=y CONFIG_LOGO_SUPERH_VGA16=y CONFIG_LOGO_SUPERH_CLUT224=y -CONFIG_HID_SUPPORT=y -CONFIG_HID=y -# -# USB Input Devices -# -CONFIG_USB_HID=y - -# -# USB Host -# -CONFIG_USB_SUPPORT=y -CONFIG_USB=y - -# -# Miscellaneous USB options -# -CONFIG_USB_DEVICE_CLASS=y - -# -# USB Host Controller Drivers -# -CONFIG_USB_OHCI_HCD=y -CONFIG_USB_OHCI_LITTLE_ENDIAN=y - -# -# RTC -# -CONFIG_RTC_LIB=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_HCTOSYS=y -CONFIG_RTC_HCTOSYS_DEVICE="rtc0" - -# -# RTC interfaces -# -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y - -# -# SPI RTC drivers -# -CONFIG_RTC_DRV_R9701=y - -# -# on-CPU RTC drivers -# -# CONFIG_RTC_DRV_SH is not set -# CONFIG_RTC_DRV_GENERIC is not set - -# -# File systems -# +## +## file: fs/ext3/Kconfig +## CONFIG_EXT3_FS=y + +## +## file: kernel/time/Kconfig +## +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +## +## file: mm/Kconfig +## +## choice: Memory model +CONFIG_FLATMEM_MANUAL=y +## end choice + diff --git a/debian/config/sh4/config.sh7785lcr b/debian/config/sh4/config.sh7785lcr index 66d3453b3..80cc7f9f2 100644 --- a/debian/config/sh4/config.sh7785lcr +++ b/debian/config/sh4/config.sh7785lcr @@ -1,172 +1,122 @@ -# -# System type -# -CONFIG_CPU_SH4A=y -CONFIG_CPU_SHX2=y +## +## file: arch/sh/Kconfig +## +## choice: Processor sub-type selection CONFIG_CPU_SUBTYPE_SH7785=y - -# -# Memory management options -# -CONFIG_QUICKLIST=y -CONFIG_MMU=y -CONFIG_PAGE_OFFSET=0x80000000 -CONFIG_FORCE_MAX_ZONEORDER=11 -CONFIG_MEMORY_START=0x48000000 -CONFIG_MEMORY_SIZE=0x18000000 -CONFIG_32BIT=y -CONFIG_PMB_ENABLE=y -CONFIG_PMB_FIXED=y -CONFIG_VSYSCALL=y -CONFIG_ARCH_FLATMEM_ENABLE=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_SPARSEMEM_DEFAULT=y -CONFIG_MAX_ACTIVE_REGIONS=2 -CONFIG_ARCH_POPULATES_NODE_MAP=y -CONFIG_ARCH_SELECT_MEMORY_MODEL=y -CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y -CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y -CONFIG_PAGE_SIZE_4KB=y -CONFIG_HUGETLB_PAGE_SIZE_64K=y -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_SPARSEMEM_MANUAL=y -CONFIG_SPARSEMEM=y -CONFIG_HAVE_MEMORY_PRESENT=y -CONFIG_SPARSEMEM_STATIC=y -CONFIG_SPLIT_PTLOCK_CPUS=4 -CONFIG_MIGRATION=y -CONFIG_ZONE_DMA_FLAG=0 -CONFIG_NR_QUICK=2 -CONFIG_HAVE_MLOCK=y -CONFIG_HAVE_MLOCKED_PAGE_BIT=y -CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 - -# -# Processor features -# -CONFIG_CPU_LITTLE_ENDIAN=y -CONFIG_SH_FPU=y -CONFIG_SH_STORE_QUEUES=y -CONFIG_CPU_HAS_INTEVT=y -CONFIG_CPU_HAS_SR_RB=y -CONFIG_CPU_HAS_FPU=y - -# -# Board support -# -CONFIG_SH_SH7785LCR=y - -# -# Timer and clock configuration -# +## end choice CONFIG_SH_TIMER_TMU=y CONFIG_SH_PCLK_FREQ=50000000 -CONFIG_SH_CLK_CPG=y -CONFIG_TICK_ONESHOT=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -# -# Boot options -# -CONFIG_ZERO_PAGE_OFFSET=0x00001000 -CONFIG_BOOT_LINK_OFFSET=0x00800000 -CONFIG_ENTRY_OFFSET=0x00001000 +## +## file: arch/sh/boards/Kconfig +## +CONFIG_SH_SH7785LCR=y -# -# Bus options -# +## +## file: arch/sh/Kconfig.cpu +## +## choice: Endianess selection +CONFIG_CPU_LITTLE_ENDIAN=y +## end choice +CONFIG_SH_FPU=y +CONFIG_SH_STORE_QUEUES=y + +## +## file: arch/sh/drivers/pci/Kconfig +## CONFIG_PCI=y CONFIG_SH_PCIDMA_NONCOHERENT=y -# -# Device Drivers -# +## +## file: arch/sh/mm/Kconfig +## +CONFIG_MMU=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_MEMORY_START=0x48000000 +CONFIG_MEMORY_SIZE=0x18000000 +CONFIG_PMB_ENABLE=y +## choice: PMB handling type +CONFIG_PMB_FIXED=y +## end choice +CONFIG_VSYSCALL=y +## choice: Kernel page size +CONFIG_PAGE_SIZE_4KB=y +## end choice +## choice: HugeTLB page size +CONFIG_HUGETLB_PAGE_SIZE_64K=y +## end choice -# -# Generic Driver Options -# -CONFIG_MTD=y -CONFIG_MTD_CONCAT=y -CONFIG_MTD_PARTITIONS=y - -# -# User Modules And Translation Layers -# -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y - -# -# RAM/ROM/Flash chip drivers -# -CONFIG_MTD_CFI=y -CONFIG_MTD_GEN_PROBE=y -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -CONFIG_MTD_CFI_AMDSTD=y -CONFIG_MTD_CFI_UTIL=y - -# -# Mapping drivers for chip access -# -CONFIG_MTD_PHYSMAP=y - -# -# UBI - Unsorted block images -# -CONFIG_HAVE_IDE=y - -# -# SCSI device support -# -CONFIG_SCSI=y -CONFIG_SCSI_DMA=y - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=y - -# -# SCSI Transports -# +## +## file: drivers/ata/Kconfig +## CONFIG_ATA=y CONFIG_ATA_VERBOSE_ERROR=y CONFIG_SATA_PMP=y CONFIG_ATA_SFF=y CONFIG_SATA_SIL=y -# net device +## +## file: drivers/char/Kconfig +## +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_UNIX98_PTYS=y +CONFIG_DEVPTS_MULTIPLE_INSTANCES=y -CONFIG_NETDEVICES=y -CONFIG_MII=y -CONFIG_NETDEV_1000=y -CONFIG_R8169=y +## +## file: drivers/dma/Kconfig +## +CONFIG_DMADEVICES=y -# -# Input device support -# +## +## file: drivers/hid/Kconfig +## +CONFIG_HID_SUPPORT=y +CONFIG_HID=y + +## +## file: drivers/hid/usbhid/Kconfig +## +CONFIG_USB_HID=y + +## +## file: drivers/i2c/Kconfig +## +CONFIG_I2C=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_HELPER_AUTO=y + +## +## file: drivers/i2c/algos/Kconfig +## +CONFIG_I2C_ALGOPCA=y + +## +## file: drivers/i2c/busses/Kconfig +## +CONFIG_I2C_PCA_PLATFORM=y + +## +## file: drivers/input/Kconfig +## CONFIG_INPUT=y - -# -# Userland interfaces -# CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSEDEV_PSAUX=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_EVDEV=y -# -# Input Device Drivers -# +## +## file: drivers/input/keyboard/Kconfig +## CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y + +## +## file: drivers/input/mouse/Kconfig +## CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=y CONFIG_MOUSE_PS2_ALPS=y @@ -174,151 +124,146 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y CONFIG_MOUSE_PS2_SYNAPTICS=y CONFIG_MOUSE_PS2_TRACKPOINT=y -# -# Hardware I/O ports -# +## +## file: drivers/input/serio/Kconfig +## CONFIG_SERIO=y CONFIG_SERIO_I8042=y CONFIG_SERIO_SERPORT=y CONFIG_SERIO_LIBPS2=y -# -# Character devices -# -CONFIG_VT=y -CONFIG_CONSOLE_TRANSLATIONS=y -CONFIG_VT_CONSOLE=y -CONFIG_HW_CONSOLE=y -CONFIG_VT_HW_CONSOLE_BINDING=y +## +## file: drivers/mfd/Kconfig +## +CONFIG_MFD_SM501=y -# -# Non-8250 serial port support -# +## +## file: drivers/mtd/Kconfig +## +CONFIG_MTD=y +CONFIG_MTD_CONCAT=y +CONFIG_MTD_PARTITIONS=y +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y + +## +## file: drivers/mtd/chips/Kconfig +## +CONFIG_MTD_CFI=y +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +CONFIG_MTD_CFI_AMDSTD=y + +## +## file: drivers/mtd/maps/Kconfig +## +CONFIG_MTD_PHYSMAP=y + +## +## file: drivers/net/Kconfig +## +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_NETDEV_1000=y +CONFIG_R8169=y + +## +## file: drivers/rtc/Kconfig +## +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +CONFIG_RTC_DRV_RS5C372=y +# CONFIG_RTC_DRV_SH is not set +# CONFIG_RTC_DRV_GENERIC is not set + +## +## file: drivers/scsi/Kconfig +## +CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y + +## +## file: drivers/serial/Kconfig +## CONFIG_SERIAL_SH_SCI=y CONFIG_SERIAL_SH_SCI_NR_UARTS=6 CONFIG_SERIAL_SH_SCI_CONSOLE=y -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_UNIX98_PTYS=y -CONFIG_DEVPTS_MULTIPLE_INSTANCES=y -CONFIG_DEVPORT=y -CONFIG_I2C=y -CONFIG_I2C_BOARDINFO=y -CONFIG_I2C_COMPAT=y -CONFIG_I2C_HELPER_AUTO=y -CONFIG_I2C_ALGOPCA=y -# -# Other I2C/SMBus bus drivers -# -CONFIG_I2C_PCA_PLATFORM=y +## +## file: drivers/usb/Kconfig +## +CONFIG_USB_SUPPORT=y +CONFIG_USB=y -# -# PPS support -# -CONFIG_WATCHDOG=y +## +## file: drivers/usb/core/Kconfig +## +CONFIG_USB_DEVICE_CLASS=y -# -# Watchdog Device Drivers -# -CONFIG_SH_WDT=y +## +## file: drivers/usb/host/Kconfig +## +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_R8A66597_HCD=y -# -# USB-based Watchdog Cards -# -# CONFIG_USBPCWATCHDOG is not set -CONFIG_SSB_POSSIBLE=y +## +## file: drivers/usb/storage/Kconfig +## +CONFIG_USB_STORAGE=y -# -# Multifunction device drivers -# -CONFIG_MFD_SM501=y - -# -# Graphics support -# +## +## file: drivers/video/Kconfig +## CONFIG_FB=y -CONFIG_FB_CFB_FILLRECT=y -CONFIG_FB_CFB_COPYAREA=y -CONFIG_FB_CFB_IMAGEBLIT=y - -# -# Frame buffer hardware drivers -# CONFIG_FB_SM501=y -# -# Console display driver support -# -CONFIG_DUMMY_CONSOLE=y +## +## file: drivers/video/console/Kconfig +## CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y + +## +## file: drivers/video/logo/Kconfig +## CONFIG_LOGO=y CONFIG_LOGO_SUPERH_MONO=y CONFIG_LOGO_SUPERH_VGA16=y CONFIG_LOGO_SUPERH_CLUT224=y -CONFIG_HID_SUPPORT=y -CONFIG_HID=y -# -# USB Input Devices -# -CONFIG_USB_HID=y +## +## file: drivers/watchdog/Kconfig +## +CONFIG_WATCHDOG=y +CONFIG_SH_WDT=y +# CONFIG_USBPCWATCHDOG is not set -# -# USB Host -# -CONFIG_USB_SUPPORT=y -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB_ARCH_HAS_OHCI=y -CONFIG_USB_ARCH_HAS_EHCI=y -CONFIG_USB=y - -# -# Miscellaneous USB options -# -CONFIG_USB_DEVICE_CLASS=y - -# -# USB Host Controller Drivers -# -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_R8A66597_HCD=y - -# -# also be needed; see USB_STORAGE Help for more info -# -CONFIG_USB_STORAGE=y - -# -# RTC -# -CONFIG_RTC_LIB=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_HCTOSYS=y -CONFIG_RTC_HCTOSYS_DEVICE="rtc0" - -# -# RTC interfaces -# -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y - -# -# I2C RTC drivers -# -CONFIG_RTC_DRV_RS5C372=y - -# -# on-CPU RTC drivers -# -# CONFIG_RTC_DRV_SH is not set -# CONFIG_RTC_DRV_GENERIC is not set -CONFIG_DMADEVICES=y - -# -# File systems -# +## +## file: fs/ext3/Kconfig +## CONFIG_EXT3_FS=y + +## +## file: kernel/time/Kconfig +## +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +## +## file: mm/Kconfig +## +## choice: Memory model +CONFIG_SPARSEMEM_MANUAL=y +## end choice +CONFIG_MIGRATION=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 + From 9f92eae041d6d7680fef685437b98a7a4cf72678 Mon Sep 17 00:00:00 2001 From: Bastian Blank Date: Mon, 14 Jun 2010 14:40:28 +0000 Subject: [PATCH 21/63] * debian/changelog: Update. * debian/config: Disable ISDN_I4L and related options. svn path=/dists/sid/linux-2.6/; revision=15872 --- debian/changelog | 1 + debian/config/alpha/config | 85 --------------------- debian/config/armel/config.iop32x | 5 -- debian/config/armel/config.ixp4xx | 5 -- debian/config/armel/config.kirkwood | 54 ------------- debian/config/armel/config.orion5x | 54 ------------- debian/config/armel/config.versatile | 5 -- debian/config/config | 6 ++ debian/config/hppa/config | 5 -- debian/config/i386/none/config.486 | 5 -- debian/config/i386/none/config.686 | 5 -- debian/config/i386/none/config.686-bigmem | 5 -- debian/config/kernelarch-x86/config | 53 ------------- debian/config/kernelarch-x86/config-arch-32 | 39 ---------- debian/config/kernelarch-x86/config-arch-64 | 5 -- debian/config/m68k/config | 5 -- debian/config/mips/config.4kc-malta | 46 ----------- debian/config/mips/config.5kc-malta | 46 ----------- debian/config/mips/config.r4k-ip22 | 5 -- debian/config/mips/config.r5k-ip32 | 5 -- debian/config/mips/config.sb1-bcm91250a | 5 -- debian/config/mips/config.sb1a-bcm91480b | 5 -- debian/config/mipsel/config.r5k-cobalt | 1 - debian/config/powerpc/config | 1 - debian/config/sparc/config | 5 -- 25 files changed, 7 insertions(+), 449 deletions(-) diff --git a/debian/changelog b/debian/changelog index 1e1c4a4db..15dbb0774 100644 --- a/debian/changelog +++ b/debian/changelog @@ -43,6 +43,7 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low [ Bastian Blank ] * Disable mISDN support for NETJet cards. The driver binds a generic PCI bridge. + * Disable ISDN4Linux drivers. -- dann frazier Tue, 01 Jun 2010 09:23:57 -0600 diff --git a/debian/config/alpha/config b/debian/config/alpha/config index 38f4e5040..0f9e1bdaa 100644 --- a/debian/config/alpha/config +++ b/debian/config/alpha/config @@ -396,14 +396,8 @@ CONFIG_INPUT_TOUCHSCREEN=y ## file: drivers/isdn/Kconfig ## CONFIG_ISDN=y -CONFIG_ISDN_I4L=m CONFIG_ISDN_CAPI=m -## -## file: drivers/isdn/act2000/Kconfig -## -CONFIG_ISDN_DRV_ACT2000=m - ## ## file: drivers/isdn/capi/Kconfig ## @@ -437,85 +431,6 @@ CONFIG_ISDN_DIVAS_DIVACAPI=m CONFIG_ISDN_DIVAS_USERIDI=m CONFIG_ISDN_DIVAS_MAINT=m -## -## file: drivers/isdn/hisax/Kconfig -## -CONFIG_ISDN_DRV_HISAX=m -CONFIG_HISAX_EURO=y -CONFIG_DE_AOC=y -# CONFIG_HISAX_NO_SENDCOMPLETE is not set -# CONFIG_HISAX_NO_LLC is not set -# CONFIG_HISAX_NO_KEYPAD is not set -CONFIG_HISAX_1TR6=y -CONFIG_HISAX_NI1=y -CONFIG_HISAX_MAX_CARDS=8 -CONFIG_HISAX_16_0=y -CONFIG_HISAX_16_3=y -CONFIG_HISAX_TELESPCI=y -CONFIG_HISAX_S0BOX=y -CONFIG_HISAX_AVM_A1=y -CONFIG_HISAX_FRITZPCI=y -CONFIG_HISAX_AVM_A1_PCMCIA=y -CONFIG_HISAX_ELSA=y -CONFIG_HISAX_IX1MICROR2=y -CONFIG_HISAX_DIEHLDIVA=y -CONFIG_HISAX_ASUSCOM=y -CONFIG_HISAX_TELEINT=y -CONFIG_HISAX_HFCS=y -CONFIG_HISAX_SEDLBAUER=y -CONFIG_HISAX_SPORTSTER=y -CONFIG_HISAX_MIC=y -CONFIG_HISAX_NETJET=y -CONFIG_HISAX_NETJET_U=y -CONFIG_HISAX_NICCY=y -CONFIG_HISAX_ISURF=y -CONFIG_HISAX_HSTSAPHIR=y -CONFIG_HISAX_BKM_A4T=y -CONFIG_HISAX_SCT_QUADRO=y -CONFIG_HISAX_GAZEL=y -CONFIG_HISAX_HFC_PCI=y -CONFIG_HISAX_W6692=y -CONFIG_HISAX_HFC_SX=y -CONFIG_HISAX_ENTERNOW_PCI=y -# CONFIG_HISAX_DEBUG is not set -CONFIG_HISAX_SEDLBAUER_CS=m -CONFIG_HISAX_ELSA_CS=m -CONFIG_HISAX_AVM_A1_CS=m -CONFIG_HISAX_TELES_CS=m -CONFIG_HISAX_ST5481=m -CONFIG_HISAX_HFCUSB=m -CONFIG_HISAX_HFC4S8S=m -CONFIG_HISAX_FRITZ_PCIPNP=m - -## -## file: drivers/isdn/i4l/Kconfig -## -CONFIG_ISDN_PPP=y -CONFIG_ISDN_PPP_VJ=y -CONFIG_ISDN_MPP=y -CONFIG_IPPP_FILTER=y -CONFIG_ISDN_PPP_BSDCOMP=m -CONFIG_ISDN_AUDIO=y -CONFIG_ISDN_TTY_FAX=y -CONFIG_ISDN_X25=y -CONFIG_ISDN_DRV_LOOP=m -CONFIG_ISDN_DIVERSION=m - -## -## file: drivers/isdn/icn/Kconfig -## -CONFIG_ISDN_DRV_ICN=m - -## -## file: drivers/isdn/pcbit/Kconfig -## -CONFIG_ISDN_DRV_PCBIT=m - -## -## file: drivers/isdn/sc/Kconfig -## -CONFIG_ISDN_DRV_SC=m - ## ## file: drivers/media/Kconfig ## diff --git a/debian/config/armel/config.iop32x b/debian/config/armel/config.iop32x index f8fd4fcb0..8159bf175 100644 --- a/debian/config/armel/config.iop32x +++ b/debian/config/armel/config.iop32x @@ -314,11 +314,6 @@ CONFIG_TABLET_USB_WACOM=m ## CONFIG_INPUT_TOUCHSCREEN=y -## -## file: drivers/isdn/Kconfig -## -# CONFIG_ISDN is not set - ## ## file: drivers/leds/Kconfig ## diff --git a/debian/config/armel/config.ixp4xx b/debian/config/armel/config.ixp4xx index c18a2a948..774629e08 100644 --- a/debian/config/armel/config.ixp4xx +++ b/debian/config/armel/config.ixp4xx @@ -316,11 +316,6 @@ CONFIG_TABLET_USB_WACOM=m ## CONFIG_INPUT_TOUCHSCREEN=y -## -## file: drivers/isdn/Kconfig -## -# CONFIG_ISDN is not set - ## ## file: drivers/leds/Kconfig ## diff --git a/debian/config/armel/config.kirkwood b/debian/config/armel/config.kirkwood index 83219ce51..b7f159e4e 100644 --- a/debian/config/armel/config.kirkwood +++ b/debian/config/armel/config.kirkwood @@ -208,7 +208,6 @@ CONFIG_INPUT_TOUCHSCREEN=y ## file: drivers/isdn/Kconfig ## CONFIG_ISDN=y -CONFIG_ISDN_I4L=m CONFIG_ISDN_CAPI=m ## @@ -242,59 +241,6 @@ CONFIG_ISDN_DIVAS_DIVACAPI=m CONFIG_ISDN_DIVAS_USERIDI=m CONFIG_ISDN_DIVAS_MAINT=m -## -## file: drivers/isdn/hisax/Kconfig -## -CONFIG_ISDN_DRV_HISAX=m -CONFIG_HISAX_EURO=y -CONFIG_DE_AOC=y -# CONFIG_HISAX_NO_SENDCOMPLETE is not set -# CONFIG_HISAX_NO_LLC is not set -# CONFIG_HISAX_NO_KEYPAD is not set -CONFIG_HISAX_1TR6=y -CONFIG_HISAX_NI1=y -CONFIG_HISAX_MAX_CARDS=8 -CONFIG_HISAX_16_3=y -CONFIG_HISAX_TELESPCI=y -CONFIG_HISAX_S0BOX=y -CONFIG_HISAX_FRITZPCI=y -CONFIG_HISAX_AVM_A1_PCMCIA=y -CONFIG_HISAX_ELSA=y -CONFIG_HISAX_DIEHLDIVA=y -CONFIG_HISAX_SEDLBAUER=y -CONFIG_HISAX_NETJET=y -CONFIG_HISAX_NETJET_U=y -CONFIG_HISAX_NICCY=y -CONFIG_HISAX_BKM_A4T=y -CONFIG_HISAX_SCT_QUADRO=y -CONFIG_HISAX_GAZEL=y -CONFIG_HISAX_HFC_PCI=y -CONFIG_HISAX_W6692=y -CONFIG_HISAX_HFC_SX=y -CONFIG_HISAX_ENTERNOW_PCI=y -# CONFIG_HISAX_DEBUG is not set -CONFIG_HISAX_SEDLBAUER_CS=m -CONFIG_HISAX_ELSA_CS=m -CONFIG_HISAX_AVM_A1_CS=m -CONFIG_HISAX_TELES_CS=m -CONFIG_HISAX_ST5481=m -CONFIG_HISAX_HFCUSB=m -CONFIG_HISAX_HFC4S8S=m -CONFIG_HISAX_FRITZ_PCIPNP=m - -## -## file: drivers/isdn/i4l/Kconfig -## -CONFIG_ISDN_PPP=y -CONFIG_ISDN_PPP_VJ=y -CONFIG_ISDN_MPP=y -CONFIG_IPPP_FILTER=y -CONFIG_ISDN_PPP_BSDCOMP=m -CONFIG_ISDN_AUDIO=y -CONFIG_ISDN_TTY_FAX=y -CONFIG_ISDN_X25=y -CONFIG_ISDN_DIVERSION=m - ## ## file: drivers/leds/Kconfig ## diff --git a/debian/config/armel/config.orion5x b/debian/config/armel/config.orion5x index fcc7ec0b2..7b21f1f51 100644 --- a/debian/config/armel/config.orion5x +++ b/debian/config/armel/config.orion5x @@ -203,7 +203,6 @@ CONFIG_INPUT_TOUCHSCREEN=y ## file: drivers/isdn/Kconfig ## CONFIG_ISDN=y -CONFIG_ISDN_I4L=m CONFIG_ISDN_CAPI=m ## @@ -237,59 +236,6 @@ CONFIG_ISDN_DIVAS_DIVACAPI=m CONFIG_ISDN_DIVAS_USERIDI=m CONFIG_ISDN_DIVAS_MAINT=m -## -## file: drivers/isdn/hisax/Kconfig -## -CONFIG_ISDN_DRV_HISAX=m -CONFIG_HISAX_EURO=y -CONFIG_DE_AOC=y -# CONFIG_HISAX_NO_SENDCOMPLETE is not set -# CONFIG_HISAX_NO_LLC is not set -# CONFIG_HISAX_NO_KEYPAD is not set -CONFIG_HISAX_1TR6=y -CONFIG_HISAX_NI1=y -CONFIG_HISAX_MAX_CARDS=8 -CONFIG_HISAX_16_3=y -CONFIG_HISAX_TELESPCI=y -CONFIG_HISAX_S0BOX=y -CONFIG_HISAX_FRITZPCI=y -CONFIG_HISAX_AVM_A1_PCMCIA=y -CONFIG_HISAX_ELSA=y -CONFIG_HISAX_DIEHLDIVA=y -CONFIG_HISAX_SEDLBAUER=y -CONFIG_HISAX_NETJET=y -CONFIG_HISAX_NETJET_U=y -CONFIG_HISAX_NICCY=y -CONFIG_HISAX_BKM_A4T=y -CONFIG_HISAX_SCT_QUADRO=y -CONFIG_HISAX_GAZEL=y -CONFIG_HISAX_HFC_PCI=y -CONFIG_HISAX_W6692=y -CONFIG_HISAX_HFC_SX=y -CONFIG_HISAX_ENTERNOW_PCI=y -# CONFIG_HISAX_DEBUG is not set -CONFIG_HISAX_SEDLBAUER_CS=m -CONFIG_HISAX_ELSA_CS=m -CONFIG_HISAX_AVM_A1_CS=m -CONFIG_HISAX_TELES_CS=m -CONFIG_HISAX_ST5481=m -CONFIG_HISAX_HFCUSB=m -CONFIG_HISAX_HFC4S8S=m -CONFIG_HISAX_FRITZ_PCIPNP=m - -## -## file: drivers/isdn/i4l/Kconfig -## -CONFIG_ISDN_PPP=y -CONFIG_ISDN_PPP_VJ=y -CONFIG_ISDN_MPP=y -CONFIG_IPPP_FILTER=y -CONFIG_ISDN_PPP_BSDCOMP=m -CONFIG_ISDN_AUDIO=y -CONFIG_ISDN_TTY_FAX=y -CONFIG_ISDN_X25=y -CONFIG_ISDN_DIVERSION=m - ## ## file: drivers/leds/Kconfig ## diff --git a/debian/config/armel/config.versatile b/debian/config/armel/config.versatile index c781c064c..58767b18f 100644 --- a/debian/config/armel/config.versatile +++ b/debian/config/armel/config.versatile @@ -219,11 +219,6 @@ CONFIG_TABLET_USB_WACOM=m ## # CONFIG_INPUT_TOUCHSCREEN is not set -## -## file: drivers/isdn/Kconfig -## -# CONFIG_ISDN is not set - ## ## file: drivers/leds/Kconfig ## diff --git a/debian/config/config b/debian/config/config index 5c7a02712..40b7400a0 100644 --- a/debian/config/config +++ b/debian/config/config @@ -648,6 +648,12 @@ CONFIG_TOUCHSCREEN_TOUCHIT213=m CONFIG_TOUCHSCREEN_TSC2007=m CONFIG_TOUCHSCREEN_W90X900=m +## +## file: drivers/isdn/Kconfig +## +# CONFIG_ISDN is not set +# CONFIG_ISDN_I4L is not set + ## ## file: drivers/isdn/capi/Kconfig ## diff --git a/debian/config/hppa/config b/debian/config/hppa/config index 72fe4f7ff..53aab33cd 100644 --- a/debian/config/hppa/config +++ b/debian/config/hppa/config @@ -188,11 +188,6 @@ CONFIG_SERIO_RAW=m ## # CONFIG_INPUT_TOUCHSCREEN is not set -## -## file: drivers/isdn/Kconfig -## -# CONFIG_ISDN is not set - ## ## file: drivers/media/Kconfig ## diff --git a/debian/config/i386/none/config.486 b/debian/config/i386/none/config.486 index 3001980c1..77f3a785a 100644 --- a/debian/config/i386/none/config.486 +++ b/debian/config/i386/none/config.486 @@ -47,11 +47,6 @@ CONFIG_I2C_STUB=m ## CONFIG_MOUSE_PS2_OLPC=y -## -## file: drivers/isdn/i4l/Kconfig -## -CONFIG_ISDN_DRV_LOOP=m - ## ## file: drivers/mca/Kconfig ## diff --git a/debian/config/i386/none/config.686 b/debian/config/i386/none/config.686 index 2b86974ae..df662d013 100644 --- a/debian/config/i386/none/config.686 +++ b/debian/config/i386/none/config.686 @@ -26,11 +26,6 @@ CONFIG_M686=y # CONFIG_I2C_ELEKTOR is not set CONFIG_I2C_STUB=m -## -## file: drivers/isdn/i4l/Kconfig -## -# CONFIG_ISDN_DRV_LOOP is not set - ## ## file: drivers/media/video/Kconfig ## diff --git a/debian/config/i386/none/config.686-bigmem b/debian/config/i386/none/config.686-bigmem index 2532f456c..a257c86ec 100644 --- a/debian/config/i386/none/config.686-bigmem +++ b/debian/config/i386/none/config.686-bigmem @@ -33,11 +33,6 @@ CONFIG_M686=y # CONFIG_I2C_ELEKTOR is not set CONFIG_I2C_STUB=m -## -## file: drivers/isdn/i4l/Kconfig -## -# CONFIG_ISDN_DRV_LOOP is not set - ## ## file: drivers/media/video/Kconfig ## diff --git a/debian/config/kernelarch-x86/config b/debian/config/kernelarch-x86/config index 6b6671979..15cdad5bf 100644 --- a/debian/config/kernelarch-x86/config +++ b/debian/config/kernelarch-x86/config @@ -594,7 +594,6 @@ CONFIG_INPUT_TOUCHSCREEN=y ## file: drivers/isdn/Kconfig ## CONFIG_ISDN=y -CONFIG_ISDN_I4L=m CONFIG_ISDN_CAPI=m ## @@ -628,58 +627,6 @@ CONFIG_ISDN_DIVAS_DIVACAPI=m CONFIG_ISDN_DIVAS_USERIDI=m CONFIG_ISDN_DIVAS_MAINT=m -## -## file: drivers/isdn/hisax/Kconfig -## -CONFIG_ISDN_DRV_HISAX=m -CONFIG_HISAX_EURO=y -CONFIG_DE_AOC=y -# CONFIG_HISAX_NO_SENDCOMPLETE is not set -# CONFIG_HISAX_NO_LLC is not set -# CONFIG_HISAX_NO_KEYPAD is not set -CONFIG_HISAX_1TR6=y -CONFIG_HISAX_NI1=y -CONFIG_HISAX_MAX_CARDS=8 -CONFIG_HISAX_16_3=y -CONFIG_HISAX_TELESPCI=y -CONFIG_HISAX_S0BOX=y -CONFIG_HISAX_FRITZPCI=y -CONFIG_HISAX_AVM_A1_PCMCIA=y -CONFIG_HISAX_ELSA=y -CONFIG_HISAX_DIEHLDIVA=y -CONFIG_HISAX_SEDLBAUER=y -CONFIG_HISAX_NETJET=y -CONFIG_HISAX_NETJET_U=y -CONFIG_HISAX_NICCY=y -CONFIG_HISAX_BKM_A4T=y -CONFIG_HISAX_SCT_QUADRO=y -CONFIG_HISAX_GAZEL=y -CONFIG_HISAX_HFC_PCI=y -CONFIG_HISAX_W6692=y -CONFIG_HISAX_HFC_SX=y -CONFIG_HISAX_ENTERNOW_PCI=y -# CONFIG_HISAX_DEBUG is not set -CONFIG_HISAX_SEDLBAUER_CS=m -CONFIG_HISAX_ELSA_CS=m -CONFIG_HISAX_AVM_A1_CS=m -CONFIG_HISAX_TELES_CS=m -CONFIG_HISAX_ST5481=m -CONFIG_HISAX_HFCUSB=m -CONFIG_HISAX_HFC4S8S=m -CONFIG_HISAX_FRITZ_PCIPNP=m - -## -## file: drivers/isdn/i4l/Kconfig -## -CONFIG_ISDN_PPP=y -CONFIG_ISDN_PPP_VJ=y -CONFIG_ISDN_MPP=y -CONFIG_IPPP_FILTER=y -CONFIG_ISDN_PPP_BSDCOMP=m -CONFIG_ISDN_AUDIO=y -CONFIG_ISDN_TTY_FAX=y -CONFIG_ISDN_X25=y - ## ## file: drivers/leds/Kconfig ## diff --git a/debian/config/kernelarch-x86/config-arch-32 b/debian/config/kernelarch-x86/config-arch-32 index 2941f18ab..53c2ff4e8 100644 --- a/debian/config/kernelarch-x86/config-arch-32 +++ b/debian/config/kernelarch-x86/config-arch-32 @@ -176,51 +176,12 @@ CONFIG_MOUSE_INPORT=m CONFIG_MOUSE_LOGIBM=m CONFIG_MOUSE_PC110PAD=m -## -## file: drivers/isdn/act2000/Kconfig -## -CONFIG_ISDN_DRV_ACT2000=m - ## ## file: drivers/isdn/hardware/avm/Kconfig ## CONFIG_ISDN_DRV_AVMB1_B1ISA=m CONFIG_ISDN_DRV_AVMB1_T1ISA=m -## -## file: drivers/isdn/hisax/Kconfig -## -CONFIG_HISAX_16_0=y -CONFIG_HISAX_AVM_A1=y -CONFIG_HISAX_IX1MICROR2=y -CONFIG_HISAX_ASUSCOM=y -CONFIG_HISAX_TELEINT=y -CONFIG_HISAX_HFCS=y -CONFIG_HISAX_SPORTSTER=y -CONFIG_HISAX_MIC=y -CONFIG_HISAX_ISURF=y -CONFIG_HISAX_HSTSAPHIR=y - -## -## file: drivers/isdn/i4l/Kconfig -## -# CONFIG_ISDN_DIVERSION is not set - -## -## file: drivers/isdn/icn/Kconfig -## -CONFIG_ISDN_DRV_ICN=m - -## -## file: drivers/isdn/pcbit/Kconfig -## -CONFIG_ISDN_DRV_PCBIT=m - -## -## file: drivers/isdn/sc/Kconfig -## -CONFIG_ISDN_DRV_SC=m - ## ## file: drivers/leds/Kconfig ## diff --git a/debian/config/kernelarch-x86/config-arch-64 b/debian/config/kernelarch-x86/config-arch-64 index 673e3ee47..61f744a51 100644 --- a/debian/config/kernelarch-x86/config-arch-64 +++ b/debian/config/kernelarch-x86/config-arch-64 @@ -85,11 +85,6 @@ CONFIG_MOUSE_PS2_SYNAPTICS=y CONFIG_MOUSE_PS2_LIFEBOOK=y CONFIG_MOUSE_PS2_TRACKPOINT=y -## -## file: drivers/isdn/i4l/Kconfig -## -CONFIG_ISDN_DIVERSION=m - ## ## file: drivers/macintosh/Kconfig ## diff --git a/debian/config/m68k/config b/debian/config/m68k/config index 18915e3ec..338cf8645 100644 --- a/debian/config/m68k/config +++ b/debian/config/m68k/config @@ -80,11 +80,6 @@ CONFIG_INPUT_MOUSE=y ## # CONFIG_INPUT_TOUCHSCREEN is not set -## -## file: drivers/isdn/Kconfig -## -# CONFIG_ISDN is not set - ## ## file: drivers/media/Kconfig ## diff --git a/debian/config/mips/config.4kc-malta b/debian/config/mips/config.4kc-malta index d53d998ae..9828533ba 100644 --- a/debian/config/mips/config.4kc-malta +++ b/debian/config/mips/config.4kc-malta @@ -432,7 +432,6 @@ CONFIG_INPUT_TOUCHSCREEN=y ## file: drivers/isdn/Kconfig ## CONFIG_ISDN=y -CONFIG_ISDN_I4L=m CONFIG_ISDN_CAPI=m ## @@ -473,51 +472,6 @@ CONFIG_ISDN_DIVAS_DIVACAPI=m CONFIG_ISDN_DIVAS_USERIDI=m CONFIG_ISDN_DIVAS_MAINT=m -## -## file: drivers/isdn/hisax/Kconfig -## -CONFIG_ISDN_DRV_HISAX=m -CONFIG_HISAX_EURO=y -CONFIG_DE_AOC=y -# CONFIG_HISAX_NO_SENDCOMPLETE is not set -# CONFIG_HISAX_NO_LLC is not set -# CONFIG_HISAX_NO_KEYPAD is not set -CONFIG_HISAX_1TR6=y -CONFIG_HISAX_NI1=y -CONFIG_HISAX_MAX_CARDS=8 -CONFIG_HISAX_16_3=y -CONFIG_HISAX_S0BOX=y -CONFIG_HISAX_FRITZPCI=y -CONFIG_HISAX_AVM_A1_PCMCIA=y -CONFIG_HISAX_ELSA=y -CONFIG_HISAX_DIEHLDIVA=y -CONFIG_HISAX_SEDLBAUER=y -CONFIG_HISAX_NICCY=y -CONFIG_HISAX_BKM_A4T=y -CONFIG_HISAX_SCT_QUADRO=y -CONFIG_HISAX_GAZEL=y -CONFIG_HISAX_W6692=y -CONFIG_HISAX_HFC_SX=y -# CONFIG_HISAX_DEBUG is not set -CONFIG_HISAX_ST5481=m -CONFIG_HISAX_HFCUSB=m -CONFIG_HISAX_HFC4S8S=m -CONFIG_HISAX_FRITZ_PCIPNP=m - -## -## file: drivers/isdn/i4l/Kconfig -## -CONFIG_ISDN_PPP=y -CONFIG_ISDN_PPP_VJ=y -CONFIG_ISDN_MPP=y -CONFIG_IPPP_FILTER=y -CONFIG_ISDN_PPP_BSDCOMP=m -CONFIG_ISDN_AUDIO=y -CONFIG_ISDN_TTY_FAX=y -CONFIG_ISDN_X25=y -CONFIG_ISDN_DRV_LOOP=m -CONFIG_ISDN_DIVERSION=m - ## ## file: drivers/leds/Kconfig ## diff --git a/debian/config/mips/config.5kc-malta b/debian/config/mips/config.5kc-malta index 334548118..7180cb2d5 100644 --- a/debian/config/mips/config.5kc-malta +++ b/debian/config/mips/config.5kc-malta @@ -431,7 +431,6 @@ CONFIG_INPUT_TOUCHSCREEN=y ## file: drivers/isdn/Kconfig ## CONFIG_ISDN=y -CONFIG_ISDN_I4L=m CONFIG_ISDN_CAPI=m ## @@ -473,51 +472,6 @@ CONFIG_ISDN_DIVAS_DIVACAPI=m CONFIG_ISDN_DIVAS_USERIDI=m CONFIG_ISDN_DIVAS_MAINT=m -## -## file: drivers/isdn/hisax/Kconfig -## -CONFIG_ISDN_DRV_HISAX=m -CONFIG_HISAX_EURO=y -CONFIG_DE_AOC=y -# CONFIG_HISAX_NO_SENDCOMPLETE is not set -# CONFIG_HISAX_NO_LLC is not set -# CONFIG_HISAX_NO_KEYPAD is not set -CONFIG_HISAX_1TR6=y -CONFIG_HISAX_NI1=y -CONFIG_HISAX_MAX_CARDS=8 -CONFIG_HISAX_16_3=y -CONFIG_HISAX_S0BOX=y -CONFIG_HISAX_FRITZPCI=y -CONFIG_HISAX_AVM_A1_PCMCIA=y -CONFIG_HISAX_ELSA=y -CONFIG_HISAX_DIEHLDIVA=y -CONFIG_HISAX_SEDLBAUER=y -CONFIG_HISAX_NICCY=y -CONFIG_HISAX_BKM_A4T=y -CONFIG_HISAX_SCT_QUADRO=y -CONFIG_HISAX_GAZEL=y -CONFIG_HISAX_W6692=y -CONFIG_HISAX_HFC_SX=y -# CONFIG_HISAX_DEBUG is not set -CONFIG_HISAX_ST5481=m -CONFIG_HISAX_HFCUSB=m -CONFIG_HISAX_HFC4S8S=m -CONFIG_HISAX_FRITZ_PCIPNP=m - -## -## file: drivers/isdn/i4l/Kconfig -## -CONFIG_ISDN_PPP=y -CONFIG_ISDN_PPP_VJ=y -CONFIG_ISDN_MPP=y -CONFIG_IPPP_FILTER=y -CONFIG_ISDN_PPP_BSDCOMP=m -CONFIG_ISDN_AUDIO=y -CONFIG_ISDN_TTY_FAX=y -CONFIG_ISDN_X25=y -CONFIG_ISDN_DRV_LOOP=m -CONFIG_ISDN_DIVERSION=m - ## ## file: drivers/leds/Kconfig ## diff --git a/debian/config/mips/config.r4k-ip22 b/debian/config/mips/config.r4k-ip22 index b8deb4ff1..b84f31aa7 100644 --- a/debian/config/mips/config.r4k-ip22 +++ b/debian/config/mips/config.r4k-ip22 @@ -256,11 +256,6 @@ CONFIG_SERIO_RAW=y ## # CONFIG_INPUT_TOUCHSCREEN is not set -## -## file: drivers/isdn/Kconfig -## -# CONFIG_ISDN is not set - ## ## file: drivers/media/radio/Kconfig ## diff --git a/debian/config/mips/config.r5k-ip32 b/debian/config/mips/config.r5k-ip32 index 180e467d4..cc6ff3c89 100644 --- a/debian/config/mips/config.r5k-ip32 +++ b/debian/config/mips/config.r5k-ip32 @@ -288,11 +288,6 @@ CONFIG_SERIO_RAW=y ## # CONFIG_INPUT_TOUCHSCREEN is not set -## -## file: drivers/isdn/Kconfig -## -# CONFIG_ISDN is not set - ## ## file: drivers/media/radio/Kconfig ## diff --git a/debian/config/mips/config.sb1-bcm91250a b/debian/config/mips/config.sb1-bcm91250a index 6944067ae..bf52c2b60 100644 --- a/debian/config/mips/config.sb1-bcm91250a +++ b/debian/config/mips/config.sb1-bcm91250a @@ -329,11 +329,6 @@ CONFIG_SERIO_LIBPS2=y ## # CONFIG_INPUT_TOUCHSCREEN is not set -## -## file: drivers/isdn/Kconfig -## -# CONFIG_ISDN is not set - ## ## file: drivers/media/radio/Kconfig ## diff --git a/debian/config/mips/config.sb1a-bcm91480b b/debian/config/mips/config.sb1a-bcm91480b index 4094d292a..6a7b2bb72 100644 --- a/debian/config/mips/config.sb1a-bcm91480b +++ b/debian/config/mips/config.sb1a-bcm91480b @@ -351,11 +351,6 @@ CONFIG_SERIO_LIBPS2=y ## # CONFIG_INPUT_TOUCHSCREEN is not set -## -## file: drivers/isdn/Kconfig -## -# CONFIG_ISDN is not set - ## ## file: drivers/media/radio/Kconfig ## diff --git a/debian/config/mipsel/config.r5k-cobalt b/debian/config/mipsel/config.r5k-cobalt index 735473d50..dc2238458 100644 --- a/debian/config/mipsel/config.r5k-cobalt +++ b/debian/config/mipsel/config.r5k-cobalt @@ -237,7 +237,6 @@ CONFIG_SERIO_LIBPS2=m ## file: drivers/isdn/Kconfig ## CONFIG_ISDN=y -# CONFIG_ISDN_I4L is not set CONFIG_ISDN_CAPI=m ## diff --git a/debian/config/powerpc/config b/debian/config/powerpc/config index 50c295c45..c8e05f256 100644 --- a/debian/config/powerpc/config +++ b/debian/config/powerpc/config @@ -368,7 +368,6 @@ CONFIG_INPUT_TOUCHSCREEN=y ## file: drivers/isdn/Kconfig ## CONFIG_ISDN=y -# CONFIG_ISDN_I4L is not set CONFIG_ISDN_CAPI=m ## diff --git a/debian/config/sparc/config b/debian/config/sparc/config index fb133fc4f..444b2c555 100644 --- a/debian/config/sparc/config +++ b/debian/config/sparc/config @@ -228,11 +228,6 @@ CONFIG_SERIO_LIBPS2=y ## # CONFIG_INPUT_TOUCHSCREEN is not set -## -## file: drivers/isdn/Kconfig -## -# CONFIG_ISDN is not set - ## ## file: drivers/media/Kconfig ## From 451c8336ee2540ae403d2923726429cd5ebf9215 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 15 Jun 2010 00:25:07 +0000 Subject: [PATCH 22/63] linux-base: Don't identify LVM2 PVs by UUID (Closes: #585852) svn path=/dists/sid/linux-2.6/; revision=15873 --- debian/changelog | 1 + debian/linux-base.postinst | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/debian/changelog b/debian/changelog index 15dbb0774..52da45be8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -24,6 +24,7 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low - Enable BLK_DEV_SD as built-in on all platforms * Revert "vlan/macvlan: propagate transmission state to upper layers" (Closes: #585770) + * linux-base: Don't identify LVM2 PVs by UUID (Closes: #585852) [ Aurelien Jarno ] * [sh4] fix sh_tmu clocksource following recent nohz changes. diff --git a/debian/linux-base.postinst b/debian/linux-base.postinst index e932f6b8c..085631876 100644 --- a/debian/linux-base.postinst +++ b/debian/linux-base.postinst @@ -1267,7 +1267,7 @@ sub scan_devices { if (-x '/sbin/vol_id') { $id_command = '/sbin/vol_id'; } else { - $id_command = 'blkid -o udev -s LABEL -s UUID'; + $id_command = 'blkid -o udev -s LABEL -s UUID -s TYPE'; } for (`blkid -o device`) { chomp; @@ -1275,10 +1275,14 @@ sub scan_devices { for (`$id_command '$bdev'`) { if (/^ID_FS_(LABEL|UUID)_ENC=(.+)\n$/) { add_tag($bdev, $1, $2); + } elsif (/^ID_FS_TYPE=(.+)\n$/ && exists($bdev_map{$bdev})) { + $bdev_map{$bdev}->{type} //= $1; } } } + # Discard UUIDs for LVM2 PVs, as we assume there are symlinks for all + # UUIDs under /dev/disk/by-uuid and this is not true for PVs. # Discard all labels and UUIDs(!) that are ambiguous. # Discard all labels with 'unsafe' characters (escaped by blkid using # backslashes) as they will not be usable in all configuration files. @@ -1286,10 +1290,14 @@ sub scan_devices { # Sort each device's IDs in reverse lexical order so that UUIDs are # preferred. for my $bdev (keys(%bdev_map)) { - @{$bdev_map{$bdev}->{ids}} = - sort({$b cmp $a} - grep({ @{$id_map{$_}} == 1 && $_ !~ /[\\#]/ } - @{$bdev_map{$bdev}->{ids}})); + if ($bdev_map{$bdev}->{type} eq 'LVM2_member') { + @{$bdev_map{$bdev}->{ids}} = (); + } else { + @{$bdev_map{$bdev}->{ids}} = + sort({$b cmp $a} + grep({ @{$id_map{$_}} == 1 && $_ !~ /[\\#]/ } + @{$bdev_map{$bdev}->{ids}})); + } } # Add persistent aliases for CD/DVD/BD drives From 59f8bbf90ead0c664e2e1e072dadc87f4381aafc Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 15 Jun 2010 00:26:28 +0000 Subject: [PATCH 23/63] =?UTF-8?q?Mention=20the=20other=20related=20DVB=20d?= =?UTF-8?q?river=20backported=20by=20Bj=C3=B8rn=20Mork?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit svn path=/dists/sid/linux-2.6/; revision=15874 --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/changelog b/debian/changelog index 52da45be8..d6baf6f5f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,8 +6,8 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low [ Ben Hutchings ] * Add stable 2.6.32.15 - * Add mantis DVB driver and mb86a16 and tda665x DVB front-ends, - backported by Bjørn Mork (Closes: #577264) + * Add mantis and hopper DVB drivers with mb86a16 and tda665x DVB + front-ends, backported by Bjørn Mork (Closes: #577264) * Build inet_lro as a module * [sparc] Enable CONFIG_FB_XVR500, CONFIG_FB_XVR2500 (Closes: #508108) * Update Spanish debconf templates, thanks to Omar Campagne From b7402d70acebbc4e0707811760853e5fbcee1391 Mon Sep 17 00:00:00 2001 From: Aurelien Jarno Date: Tue, 15 Jun 2010 12:36:19 +0000 Subject: [PATCH 24/63] * [sh4] optimize runtime disabling of trapped I/O. svn path=/dists/sid/linux-2.6/; revision=15877 --- debian/changelog | 1 + ...mize-runtime-disabling-of-trapped-IO.patch | 28 +++++++++++++++++++ debian/patches/series/16 | 1 + 3 files changed, 30 insertions(+) create mode 100644 debian/patches/features/sh4/sh-optimize-runtime-disabling-of-trapped-IO.patch diff --git a/debian/changelog b/debian/changelog index d6baf6f5f..a62f26404 100644 --- a/debian/changelog +++ b/debian/changelog @@ -28,6 +28,7 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low [ Aurelien Jarno ] * [sh4] fix sh_tmu clocksource following recent nohz changes. + * [sh4] optimize runtime disabling of trapped I/O. * [mips] backport mips/swarm: fix M3 TLB exception handler. [ Moritz Muehlenhoff ] diff --git a/debian/patches/features/sh4/sh-optimize-runtime-disabling-of-trapped-IO.patch b/debian/patches/features/sh4/sh-optimize-runtime-disabling-of-trapped-IO.patch new file mode 100644 index 000000000..eaf4de947 --- /dev/null +++ b/debian/patches/features/sh4/sh-optimize-runtime-disabling-of-trapped-IO.patch @@ -0,0 +1,28 @@ +commit 08b36c4a02b5a9db609fc6d93b9c41d7fa75713c +Author: Paul Mundt +Date: Wed Jan 27 21:56:57 2010 +0900 + + sh: Optimize runtime disabling of trapped I/O. + + Presently trapped I/O is only registered if it's not explicitly disabled + for the platforms that select it openly. From the fault path this runs + through an address lookup before figuring out that nothing matches and + falls back through the error path, but we can forego the lookup + completely by testing if it's been explicitly disabled. This provides a + measurable speedup for things like qemu that rely on runtime disabling. + + Signed-off-by: Paul Mundt + +diff --git a/arch/sh/kernel/io_trapped.c b/arch/sh/kernel/io_trapped.c +index 16b83cc..4a8bb4e 100644 +--- a/arch/sh/kernel/io_trapped.c ++++ b/arch/sh/kernel/io_trapped.c +@@ -271,6 +271,8 @@ int handle_trapped_io(struct pt_regs *regs, unsigned long address) + insn_size_t instruction; + int tmp; + ++ if (trapped_io_disable) ++ return 0; + if (!lookup_tiop(address)) + return 0; + diff --git a/debian/patches/series/16 b/debian/patches/series/16 index dcd18e131..a4847ca4d 100644 --- a/debian/patches/series/16 +++ b/debian/patches/series/16 @@ -137,3 +137,4 @@ + features/arm/hp-t5325.patch + bugfix/mips/mips-Set-io_map_base-for-several-PCI-bridges-lacking.patch - bugfix/all/vlan-macvlan-propagate-transmission-state-to-upper-layer.patch ++ features/sh4/sh-optimize-runtime-disabling-of-trapped-IO.patch From e7ead72712c267320ad86ee62442f62987c156cc Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Tue, 15 Jun 2010 12:45:12 +0000 Subject: [PATCH 25/63] usb-serial: Add generic USB WWAN code, backported by Mark Hymers (Closes: #585661) - option, qcserial: Use generic USB WWAN code - qcserial: Add support for Qualcomm Gobi 2000 devices svn path=/dists/sid/linux-2.6/; revision=15878 --- debian/changelog | 4 + ...USB-option-Use-generic-USB-wwan-code.patch | 735 ++++++++++++++++ ...l-Add-support-for-Qualcomm-Gobi-2000.patch | 104 +++ ...B-qcserial-Use-generic-USB-wwan-code.patch | 85 ++ ...-serial-Add-generic-USB-wwan-support.patch | 796 ++++++++++++++++++ debian/patches/series/16 | 4 + 6 files changed, 1728 insertions(+) create mode 100644 debian/patches/features/all/USB-option-Use-generic-USB-wwan-code.patch create mode 100644 debian/patches/features/all/USB-qcserial-Add-support-for-Qualcomm-Gobi-2000.patch create mode 100644 debian/patches/features/all/USB-qcserial-Use-generic-USB-wwan-code.patch create mode 100644 debian/patches/features/all/usb-serial-Add-generic-USB-wwan-support.patch diff --git a/debian/changelog b/debian/changelog index a62f26404..b2b42ad49 100644 --- a/debian/changelog +++ b/debian/changelog @@ -25,6 +25,10 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low * Revert "vlan/macvlan: propagate transmission state to upper layers" (Closes: #585770) * linux-base: Don't identify LVM2 PVs by UUID (Closes: #585852) + * usb-serial: Add generic USB WWAN code, backported by Mark Hymers + (Closes: #585661) + - option, qcserial: Use generic USB WWAN code + - qcserial: Add support for Qualcomm Gobi 2000 devices [ Aurelien Jarno ] * [sh4] fix sh_tmu clocksource following recent nohz changes. diff --git a/debian/patches/features/all/USB-option-Use-generic-USB-wwan-code.patch b/debian/patches/features/all/USB-option-Use-generic-USB-wwan-code.patch new file mode 100644 index 000000000..fd1bc0933 --- /dev/null +++ b/debian/patches/features/all/USB-option-Use-generic-USB-wwan-code.patch @@ -0,0 +1,735 @@ +From: Matthew Garrett +Date: Thu, 1 Apr 2010 12:31:08 -0400 +Subject: [PATCH] USB: option: Use generic USB wwan code + +commit 8b4c6a3ab596961b784659c71dc24b341f938a1a upstream. + +As this code was simply factored out of option, this is a simple +conversion. + +Signed-off-by: Matthew Garrett +Signed-off-by: Greg Kroah-Hartman +[mhy: Backport to 2.6.32] +--- +--- a/drivers/usb/serial/Kconfig ++++ b/drivers/usb/serial/Kconfig +@@ -581,6 +581,7 @@ config USB_SERIAL_WWAN + + config USB_SERIAL_OPTION + tristate "USB driver for GSM and CDMA modems" ++ select USB_SERIAL_WWAN + help + Say Y here if you have a GSM or CDMA modem that's connected to USB. + +--- a/drivers/usb/serial/option.c ++++ b/drivers/usb/serial/option.c +@@ -41,35 +41,14 @@ + #include + #include + #include ++#include "usb-wwan.h" + + /* Function prototypes */ + static int option_probe(struct usb_serial *serial, + const struct usb_device_id *id); +-static int option_open(struct tty_struct *tty, struct usb_serial_port *port); +-static void option_close(struct usb_serial_port *port); +-static void option_dtr_rts(struct usb_serial_port *port, int on); +- +-static int option_startup(struct usb_serial *serial); +-static void option_disconnect(struct usb_serial *serial); +-static void option_release(struct usb_serial *serial); +-static int option_write_room(struct tty_struct *tty); +- ++static int option_send_setup(struct usb_serial_port *port); + static void option_instat_callback(struct urb *urb); + +-static int option_write(struct tty_struct *tty, struct usb_serial_port *port, +- const unsigned char *buf, int count); +-static int option_chars_in_buffer(struct tty_struct *tty); +-static void option_set_termios(struct tty_struct *tty, +- struct usb_serial_port *port, struct ktermios *old); +-static int option_tiocmget(struct tty_struct *tty, struct file *file); +-static int option_tiocmset(struct tty_struct *tty, struct file *file, +- unsigned int set, unsigned int clear); +-static int option_send_setup(struct usb_serial_port *port); +-#ifdef CONFIG_PM +-static int option_suspend(struct usb_serial *serial, pm_message_t message); +-static int option_resume(struct usb_serial *serial); +-#endif +- + /* Vendor and product IDs */ + #define OPTION_VENDOR_ID 0x0AF0 + #define OPTION_PRODUCT_COLT 0x5000 +@@ -680,22 +659,22 @@ + .id_table = option_ids, + .num_ports = 1, + .probe = option_probe, +- .open = option_open, +- .close = option_close, +- .dtr_rts = option_dtr_rts, +- .write = option_write, +- .write_room = option_write_room, +- .chars_in_buffer = option_chars_in_buffer, +- .set_termios = option_set_termios, +- .tiocmget = option_tiocmget, +- .tiocmset = option_tiocmset, +- .attach = option_startup, +- .disconnect = option_disconnect, +- .release = option_release, ++ .open = usb_wwan_open, ++ .close = usb_wwan_close, ++ .dtr_rts = usb_wwan_dtr_rts, ++ .write = usb_wwan_write, ++ .write_room = usb_wwan_write_room, ++ .chars_in_buffer = usb_wwan_chars_in_buffer, ++ .set_termios = usb_wwan_set_termios, ++ .tiocmget = usb_wwan_tiocmget, ++ .tiocmset = usb_wwan_tiocmset, ++ .attach = usb_wwan_startup, ++ .disconnect = usb_wwan_disconnect, ++ .release = usb_wwan_release, + .read_int_callback = option_instat_callback, + #ifdef CONFIG_PM +- .suspend = option_suspend, +- .resume = option_resume, ++ .suspend = usb_wwan_suspend, ++ .resume = usb_wwan_resume, + #endif + }; + +@@ -708,12 +687,6 @@ + #define IN_BUFLEN 4096 + #define OUT_BUFLEN 4096 + +-struct option_intf_private { +- spinlock_t susp_lock; +- unsigned int suspended:1; +- int in_flight; +-}; +- + struct option_port_private { + /* Input endpoints and buffer for this port */ + struct urb *in_urbs[N_IN_URB]; +@@ -770,209 +743,21 @@ + static int option_probe(struct usb_serial *serial, + const struct usb_device_id *id) + { +- struct option_intf_private *data; ++ struct usb_wwan_intf_private *data; + /* D-Link DWM 652 still exposes CD-Rom emulation interface in modem mode */ + if (serial->dev->descriptor.idVendor == DLINK_VENDOR_ID && + serial->dev->descriptor.idProduct == DLINK_PRODUCT_DWM_652 && + serial->interface->cur_altsetting->desc.bInterfaceClass == 0x8) + return -ENODEV; + +- data = serial->private = kzalloc(sizeof(struct option_intf_private), GFP_KERNEL); ++ data = serial->private = kzalloc(sizeof(struct usb_wwan_intf_private), GFP_KERNEL); + if (!data) + return -ENOMEM; ++ data->send_setup = option_send_setup; + spin_lock_init(&data->susp_lock); + return 0; + } + +-static void option_set_termios(struct tty_struct *tty, +- struct usb_serial_port *port, struct ktermios *old_termios) +-{ +- dbg("%s", __func__); +- /* Doesn't support option setting */ +- tty_termios_copy_hw(tty->termios, old_termios); +- option_send_setup(port); +-} +- +-static int option_tiocmget(struct tty_struct *tty, struct file *file) +-{ +- struct usb_serial_port *port = tty->driver_data; +- unsigned int value; +- struct option_port_private *portdata; +- +- portdata = usb_get_serial_port_data(port); +- +- value = ((portdata->rts_state) ? TIOCM_RTS : 0) | +- ((portdata->dtr_state) ? TIOCM_DTR : 0) | +- ((portdata->cts_state) ? TIOCM_CTS : 0) | +- ((portdata->dsr_state) ? TIOCM_DSR : 0) | +- ((portdata->dcd_state) ? TIOCM_CAR : 0) | +- ((portdata->ri_state) ? TIOCM_RNG : 0); +- +- return value; +-} +- +-static int option_tiocmset(struct tty_struct *tty, struct file *file, +- unsigned int set, unsigned int clear) +-{ +- struct usb_serial_port *port = tty->driver_data; +- struct option_port_private *portdata; +- +- portdata = usb_get_serial_port_data(port); +- +- /* FIXME: what locks portdata fields ? */ +- if (set & TIOCM_RTS) +- portdata->rts_state = 1; +- if (set & TIOCM_DTR) +- portdata->dtr_state = 1; +- +- if (clear & TIOCM_RTS) +- portdata->rts_state = 0; +- if (clear & TIOCM_DTR) +- portdata->dtr_state = 0; +- return option_send_setup(port); +-} +- +-/* Write */ +-static int option_write(struct tty_struct *tty, struct usb_serial_port *port, +- const unsigned char *buf, int count) +-{ +- struct option_port_private *portdata; +- struct option_intf_private *intfdata; +- int i; +- int left, todo; +- struct urb *this_urb = NULL; /* spurious */ +- int err; +- unsigned long flags; +- +- portdata = usb_get_serial_port_data(port); +- intfdata = port->serial->private; +- +- dbg("%s: write (%d chars)", __func__, count); +- +- i = 0; +- left = count; +- for (i = 0; left > 0 && i < N_OUT_URB; i++) { +- todo = left; +- if (todo > OUT_BUFLEN) +- todo = OUT_BUFLEN; +- +- this_urb = portdata->out_urbs[i]; +- if (test_and_set_bit(i, &portdata->out_busy)) { +- if (time_before(jiffies, +- portdata->tx_start_time[i] + 10 * HZ)) +- continue; +- usb_unlink_urb(this_urb); +- continue; +- } +- dbg("%s: endpoint %d buf %d", __func__, +- usb_pipeendpoint(this_urb->pipe), i); +- +- err = usb_autopm_get_interface_async(port->serial->interface); +- if (err < 0) +- break; +- +- /* send the data */ +- memcpy(this_urb->transfer_buffer, buf, todo); +- this_urb->transfer_buffer_length = todo; +- +- spin_lock_irqsave(&intfdata->susp_lock, flags); +- if (intfdata->suspended) { +- usb_anchor_urb(this_urb, &portdata->delayed); +- spin_unlock_irqrestore(&intfdata->susp_lock, flags); +- } else { +- intfdata->in_flight++; +- spin_unlock_irqrestore(&intfdata->susp_lock, flags); +- err = usb_submit_urb(this_urb, GFP_ATOMIC); +- if (err) { +- dbg("usb_submit_urb %p (write bulk) failed " +- "(%d)", this_urb, err); +- clear_bit(i, &portdata->out_busy); +- spin_lock_irqsave(&intfdata->susp_lock, flags); +- intfdata->in_flight--; +- spin_unlock_irqrestore(&intfdata->susp_lock, flags); +- continue; +- } +- } +- +- portdata->tx_start_time[i] = jiffies; +- buf += todo; +- left -= todo; +- } +- +- count -= left; +- dbg("%s: wrote (did %d)", __func__, count); +- return count; +-} +- +-static void option_indat_callback(struct urb *urb) +-{ +- int err; +- int endpoint; +- struct usb_serial_port *port; +- struct tty_struct *tty; +- unsigned char *data = urb->transfer_buffer; +- int status = urb->status; +- +- dbg("%s: %p", __func__, urb); +- +- endpoint = usb_pipeendpoint(urb->pipe); +- port = urb->context; +- +- if (status) { +- dbg("%s: nonzero status: %d on endpoint %02x.", +- __func__, status, endpoint); +- } else { +- tty = tty_port_tty_get(&port->port); +- if (urb->actual_length) { +- tty_buffer_request_room(tty, urb->actual_length); +- tty_insert_flip_string(tty, data, urb->actual_length); +- tty_flip_buffer_push(tty); +- } else +- dbg("%s: empty read urb received", __func__); +- tty_kref_put(tty); +- +- /* Resubmit urb so we continue receiving */ +- if (port->port.count && status != -ESHUTDOWN) { +- err = usb_submit_urb(urb, GFP_ATOMIC); +- if (err) +- printk(KERN_ERR "%s: resubmit read urb failed. " +- "(%d)", __func__, err); +- else +- usb_mark_last_busy(port->serial->dev); +- } +- +- } +- return; +-} +- +-static void option_outdat_callback(struct urb *urb) +-{ +- struct usb_serial_port *port; +- struct option_port_private *portdata; +- struct option_intf_private *intfdata; +- int i; +- +- dbg("%s", __func__); +- +- port = urb->context; +- intfdata = port->serial->private; +- +- usb_serial_port_softint(port); +- usb_autopm_put_interface_async(port->serial->interface); +- portdata = usb_get_serial_port_data(port); +- spin_lock(&intfdata->susp_lock); +- intfdata->in_flight--; +- spin_unlock(&intfdata->susp_lock); +- +- for (i = 0; i < N_OUT_URB; ++i) { +- if (portdata->out_urbs[i] == urb) { +- smp_mb__before_clear_bit(); +- clear_bit(i, &portdata->out_busy); +- break; +- } +- } +-} +- + static void option_instat_callback(struct urb *urb) + { + int err; +@@ -1029,183 +814,6 @@ + } + } + +-static int option_write_room(struct tty_struct *tty) +-{ +- struct usb_serial_port *port = tty->driver_data; +- struct option_port_private *portdata; +- int i; +- int data_len = 0; +- struct urb *this_urb; +- +- portdata = usb_get_serial_port_data(port); +- +- for (i = 0; i < N_OUT_URB; i++) { +- this_urb = portdata->out_urbs[i]; +- if (this_urb && !test_bit(i, &portdata->out_busy)) +- data_len += OUT_BUFLEN; +- } +- +- dbg("%s: %d", __func__, data_len); +- return data_len; +-} +- +-static int option_chars_in_buffer(struct tty_struct *tty) +-{ +- struct usb_serial_port *port = tty->driver_data; +- struct option_port_private *portdata; +- int i; +- int data_len = 0; +- struct urb *this_urb; +- +- portdata = usb_get_serial_port_data(port); +- +- for (i = 0; i < N_OUT_URB; i++) { +- this_urb = portdata->out_urbs[i]; +- /* FIXME: This locking is insufficient as this_urb may +- go unused during the test */ +- if (this_urb && test_bit(i, &portdata->out_busy)) +- data_len += this_urb->transfer_buffer_length; +- } +- dbg("%s: %d", __func__, data_len); +- return data_len; +-} +- +-static int option_open(struct tty_struct *tty, struct usb_serial_port *port) +-{ +- struct option_port_private *portdata; +- struct option_intf_private *intfdata; +- struct usb_serial *serial = port->serial; +- int i, err; +- struct urb *urb; +- +- portdata = usb_get_serial_port_data(port); +- intfdata = serial->private; +- +- dbg("%s", __func__); +- +- /* Start reading from the IN endpoint */ +- for (i = 0; i < N_IN_URB; i++) { +- urb = portdata->in_urbs[i]; +- if (!urb) +- continue; +- err = usb_submit_urb(urb, GFP_KERNEL); +- if (err) { +- dbg("%s: submit urb %d failed (%d) %d", +- __func__, i, err, +- urb->transfer_buffer_length); +- } +- } +- +- option_send_setup(port); +- +- serial->interface->needs_remote_wakeup = 1; +- spin_lock_irq(&intfdata->susp_lock); +- portdata->opened = 1; +- spin_unlock_irq(&intfdata->susp_lock); +- usb_autopm_put_interface(serial->interface); +- +- return 0; +-} +- +-static void option_dtr_rts(struct usb_serial_port *port, int on) +-{ +- struct usb_serial *serial = port->serial; +- struct option_port_private *portdata; +- +- dbg("%s", __func__); +- portdata = usb_get_serial_port_data(port); +- mutex_lock(&serial->disc_mutex); +- portdata->rts_state = on; +- portdata->dtr_state = on; +- if (serial->dev) +- option_send_setup(port); +- mutex_unlock(&serial->disc_mutex); +-} +- +- +-static void option_close(struct usb_serial_port *port) +-{ +- int i; +- struct usb_serial *serial = port->serial; +- struct option_port_private *portdata; +- struct option_intf_private *intfdata = port->serial->private; +- +- dbg("%s", __func__); +- portdata = usb_get_serial_port_data(port); +- +- if (serial->dev) { +- /* Stop reading/writing urbs */ +- spin_lock_irq(&intfdata->susp_lock); +- portdata->opened = 0; +- spin_unlock_irq(&intfdata->susp_lock); +- +- for (i = 0; i < N_IN_URB; i++) +- usb_kill_urb(portdata->in_urbs[i]); +- for (i = 0; i < N_OUT_URB; i++) +- usb_kill_urb(portdata->out_urbs[i]); +- usb_autopm_get_interface(serial->interface); +- serial->interface->needs_remote_wakeup = 0; +- } +-} +- +-/* Helper functions used by option_setup_urbs */ +-static struct urb *option_setup_urb(struct usb_serial *serial, int endpoint, +- int dir, void *ctx, char *buf, int len, +- void (*callback)(struct urb *)) +-{ +- struct urb *urb; +- +- if (endpoint == -1) +- return NULL; /* endpoint not needed */ +- +- urb = usb_alloc_urb(0, GFP_KERNEL); /* No ISO */ +- if (urb == NULL) { +- dbg("%s: alloc for endpoint %d failed.", __func__, endpoint); +- return NULL; +- } +- +- /* Fill URB using supplied data. */ +- usb_fill_bulk_urb(urb, serial->dev, +- usb_sndbulkpipe(serial->dev, endpoint) | dir, +- buf, len, callback, ctx); +- +- return urb; +-} +- +-/* Setup urbs */ +-static void option_setup_urbs(struct usb_serial *serial) +-{ +- int i, j; +- struct usb_serial_port *port; +- struct option_port_private *portdata; +- +- dbg("%s", __func__); +- +- for (i = 0; i < serial->num_ports; i++) { +- port = serial->port[i]; +- portdata = usb_get_serial_port_data(port); +- +- /* Do indat endpoints first */ +- for (j = 0; j < N_IN_URB; ++j) { +- portdata->in_urbs[j] = option_setup_urb(serial, +- port->bulk_in_endpointAddress, +- USB_DIR_IN, port, +- portdata->in_buffer[j], +- IN_BUFLEN, option_indat_callback); +- } +- +- /* outdat endpoints */ +- for (j = 0; j < N_OUT_URB; ++j) { +- portdata->out_urbs[j] = option_setup_urb(serial, +- port->bulk_out_endpointAddress, +- USB_DIR_OUT, port, +- portdata->out_buffer[j], +- OUT_BUFLEN, option_outdat_callback); +- } +- } +-} +- +- + /** send RTS/DTR state to the port. + * + * This is exactly the same as SET_CONTROL_LINE_STATE from the PSTN +@@ -1231,224 +839,6 @@ + 0x22, 0x21, val, ifNum, NULL, 0, USB_CTRL_SET_TIMEOUT); + } + +-static int option_startup(struct usb_serial *serial) +-{ +- int i, j, err; +- struct usb_serial_port *port; +- struct option_port_private *portdata; +- u8 *buffer; +- +- dbg("%s", __func__); +- +- /* Now setup per port private data */ +- for (i = 0; i < serial->num_ports; i++) { +- port = serial->port[i]; +- portdata = kzalloc(sizeof(*portdata), GFP_KERNEL); +- if (!portdata) { +- dbg("%s: kmalloc for option_port_private (%d) failed!.", +- __func__, i); +- return 1; +- } +- init_usb_anchor(&portdata->delayed); +- +- for (j = 0; j < N_IN_URB; j++) { +- buffer = (u8 *)__get_free_page(GFP_KERNEL); +- if (!buffer) +- goto bail_out_error; +- portdata->in_buffer[j] = buffer; +- } +- +- for (j = 0; j < N_OUT_URB; j++) { +- buffer = kmalloc(OUT_BUFLEN, GFP_KERNEL); +- if (!buffer) +- goto bail_out_error2; +- portdata->out_buffer[j] = buffer; +- } +- +- usb_set_serial_port_data(port, portdata); +- +- if (!port->interrupt_in_urb) +- continue; +- err = usb_submit_urb(port->interrupt_in_urb, GFP_KERNEL); +- if (err) +- dbg("%s: submit irq_in urb failed %d", +- __func__, err); +- } +- option_setup_urbs(serial); +- return 0; +- +-bail_out_error2: +- for (j = 0; j < N_OUT_URB; j++) +- kfree(portdata->out_buffer[j]); +-bail_out_error: +- for (j = 0; j < N_IN_URB; j++) +- if (portdata->in_buffer[j]) +- free_page((unsigned long)portdata->in_buffer[j]); +- kfree(portdata); +- return 1; +-} +- +-static void stop_read_write_urbs(struct usb_serial *serial) +-{ +- int i, j; +- struct usb_serial_port *port; +- struct option_port_private *portdata; +- +- /* Stop reading/writing urbs */ +- for (i = 0; i < serial->num_ports; ++i) { +- port = serial->port[i]; +- portdata = usb_get_serial_port_data(port); +- for (j = 0; j < N_IN_URB; j++) +- usb_kill_urb(portdata->in_urbs[j]); +- for (j = 0; j < N_OUT_URB; j++) +- usb_kill_urb(portdata->out_urbs[j]); +- } +-} +- +-static void option_disconnect(struct usb_serial *serial) +-{ +- dbg("%s", __func__); +- +- stop_read_write_urbs(serial); +-} +- +-static void option_release(struct usb_serial *serial) +-{ +- int i, j; +- struct usb_serial_port *port; +- struct option_port_private *portdata; +- +- dbg("%s", __func__); +- +- /* Now free them */ +- for (i = 0; i < serial->num_ports; ++i) { +- port = serial->port[i]; +- portdata = usb_get_serial_port_data(port); +- +- for (j = 0; j < N_IN_URB; j++) { +- if (portdata->in_urbs[j]) { +- usb_free_urb(portdata->in_urbs[j]); +- free_page((unsigned long) +- portdata->in_buffer[j]); +- portdata->in_urbs[j] = NULL; +- } +- } +- for (j = 0; j < N_OUT_URB; j++) { +- if (portdata->out_urbs[j]) { +- usb_free_urb(portdata->out_urbs[j]); +- kfree(portdata->out_buffer[j]); +- portdata->out_urbs[j] = NULL; +- } +- } +- } +- +- /* Now free per port private data */ +- for (i = 0; i < serial->num_ports; i++) { +- port = serial->port[i]; +- kfree(usb_get_serial_port_data(port)); +- } +-} +- +-#ifdef CONFIG_PM +-static int option_suspend(struct usb_serial *serial, pm_message_t message) +-{ +- struct option_intf_private *intfdata = serial->private; +- int b; +- +- dbg("%s entered", __func__); +- +- if (serial->dev->auto_pm) { +- spin_lock_irq(&intfdata->susp_lock); +- b = intfdata->in_flight; +- spin_unlock_irq(&intfdata->susp_lock); +- +- if (b) +- return -EBUSY; +- } +- +- spin_lock_irq(&intfdata->susp_lock); +- intfdata->suspended = 1; +- spin_unlock_irq(&intfdata->susp_lock); +- stop_read_write_urbs(serial); +- +- return 0; +-} +- +-static void play_delayed(struct usb_serial_port *port) +-{ +- struct option_intf_private *data; +- struct option_port_private *portdata; +- struct urb *urb; +- int err; +- +- portdata = usb_get_serial_port_data(port); +- data = port->serial->private; +- while ((urb = usb_get_from_anchor(&portdata->delayed))) { +- err = usb_submit_urb(urb, GFP_ATOMIC); +- if (!err) +- data->in_flight++; +- } +-} +- +-static int option_resume(struct usb_serial *serial) +-{ +- int i, j; +- struct usb_serial_port *port; +- struct option_intf_private *intfdata = serial->private; +- struct option_port_private *portdata; +- struct urb *urb; +- int err = 0; +- +- dbg("%s entered", __func__); +- /* get the interrupt URBs resubmitted unconditionally */ +- for (i = 0; i < serial->num_ports; i++) { +- port = serial->port[i]; +- if (!port->interrupt_in_urb) { +- dbg("%s: No interrupt URB for port %d\n", __func__, i); +- continue; +- } +- err = usb_submit_urb(port->interrupt_in_urb, GFP_NOIO); +- dbg("Submitted interrupt URB for port %d (result %d)", i, err); +- if (err < 0) { +- err("%s: Error %d for interrupt URB of port%d", +- __func__, err, i); +- goto err_out; +- } +- } +- +- for (i = 0; i < serial->num_ports; i++) { +- /* walk all ports */ +- port = serial->port[i]; +- portdata = usb_get_serial_port_data(port); +- +- /* skip closed ports */ +- spin_lock_irq(&intfdata->susp_lock); +- if (!portdata->opened) { +- spin_unlock_irq(&intfdata->susp_lock); +- continue; +- } +- +- for (j = 0; j < N_IN_URB; j++) { +- urb = portdata->in_urbs[j]; +- err = usb_submit_urb(urb, GFP_ATOMIC); +- if (err < 0) { +- err("%s: Error %d for bulk URB %d", +- __func__, err, i); +- spin_unlock_irq(&intfdata->susp_lock); +- goto err_out; +- } +- } +- play_delayed(port); +- spin_unlock_irq(&intfdata->susp_lock); +- } +- spin_lock_irq(&intfdata->susp_lock); +- intfdata->suspended = 0; +- spin_unlock_irq(&intfdata->susp_lock); +-err_out: +- return err; +-} +-#endif +- + MODULE_AUTHOR(DRIVER_AUTHOR); + MODULE_DESCRIPTION(DRIVER_DESC); + MODULE_VERSION(DRIVER_VERSION); diff --git a/debian/patches/features/all/USB-qcserial-Add-support-for-Qualcomm-Gobi-2000.patch b/debian/patches/features/all/USB-qcserial-Add-support-for-Qualcomm-Gobi-2000.patch new file mode 100644 index 000000000..794db619d --- /dev/null +++ b/debian/patches/features/all/USB-qcserial-Add-support-for-Qualcomm-Gobi-2000.patch @@ -0,0 +1,104 @@ +From: Anssi Hannula +Date: Thu, 1 Apr 2010 12:31:10 -0400 +Subject: [PATCH] USB: qcserial: Add support for Qualcomm Gobi 2000 devices + +commit e07896e62abbf7a741a5cd5b25ba7637bdf91ad0 upstream. + +Add ids for Qualcomm Gobi 2000 QDL and Modem modes. Gobi 2000 has a +single altsetting in QDL mode, so adapt code to handle that. + +Firmware upload protocol is also slightly different, with an +additional firmware file. However, qcserial doesn't handle firmware +uploading. + +Tested on Lenovo Thinkpad T510. + +Signed-off-by: Anssi Hannula +Signed-off-by: Matthew Garrett +Signed-off-by: Greg Kroah-Hartman +--- + drivers/usb/serial/qcserial.c | 42 ++++++++++++++++++++++++---------------- + 1 files changed, 25 insertions(+), 17 deletions(-) + +diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c +index 9215f6c..04bb759 100644 +--- a/drivers/usb/serial/qcserial.c ++++ b/drivers/usb/serial/qcserial.c +@@ -78,6 +78,8 @@ static const struct usb_device_id id_table[] = { + {USB_DEVICE(0x1199, 0x900a)}, /* Sierra Wireless Gobi 2000 Modem device (VT773) */ + {USB_DEVICE(0x16d8, 0x8001)}, /* CMDTech Gobi 2000 QDL device (VU922) */ + {USB_DEVICE(0x16d8, 0x8002)}, /* CMDTech Gobi 2000 Modem device (VU922) */ ++ {USB_DEVICE(0x05c6, 0x9204)}, /* Gobi 2000 QDL device */ ++ {USB_DEVICE(0x05c6, 0x9205)}, /* Gobi 2000 Modem device */ + { } /* Terminating entry */ + }; + MODULE_DEVICE_TABLE(usb, id_table); +@@ -95,6 +97,7 @@ static struct usb_driver qcdriver = { + static int qcprobe(struct usb_serial *serial, const struct usb_device_id *id) + { + struct usb_wwan_intf_private *data; ++ struct usb_host_interface *intf = serial->interface->cur_altsetting; + int retval = -ENODEV; + __u8 nintf; + __u8 ifnum; +@@ -103,7 +106,7 @@ static int qcprobe(struct usb_serial *serial, const struct usb_device_id *id) + + nintf = serial->dev->actconfig->desc.bNumInterfaces; + dbg("Num Interfaces = %d", nintf); +- ifnum = serial->interface->cur_altsetting->desc.bInterfaceNumber; ++ ifnum = intf->desc.bInterfaceNumber; + dbg("This Interface = %d", ifnum); + + data = serial->private = kzalloc(sizeof(struct usb_wwan_intf_private), +@@ -116,27 +119,32 @@ static int qcprobe(struct usb_serial *serial, const struct usb_device_id *id) + switch (nintf) { + case 1: + /* QDL mode */ +- if (serial->interface->num_altsetting == 2) { +- struct usb_host_interface *intf; +- ++ /* Gobi 2000 has a single altsetting, older ones have two */ ++ if (serial->interface->num_altsetting == 2) + intf = &serial->interface->altsetting[1]; +- if (intf->desc.bNumEndpoints == 2) { +- if (usb_endpoint_is_bulk_in(&intf->endpoint[0].desc) && +- usb_endpoint_is_bulk_out(&intf->endpoint[1].desc)) { +- dbg("QDL port found"); +- retval = usb_set_interface(serial->dev, ifnum, 1); +- if (retval < 0) { +- dev_err(&serial->dev->dev, +- "Could not set interface, error %d\n", +- retval); +- retval = -ENODEV; +- } +- return retval; +- } ++ else if (serial->interface->num_altsetting > 2) ++ break; ++ ++ if (intf->desc.bNumEndpoints == 2 && ++ usb_endpoint_is_bulk_in(&intf->endpoint[0].desc) && ++ usb_endpoint_is_bulk_out(&intf->endpoint[1].desc)) { ++ dbg("QDL port found"); ++ ++ if (serial->interface->num_altsetting == 1) ++ return 0; ++ ++ retval = usb_set_interface(serial->dev, ifnum, 1); ++ if (retval < 0) { ++ dev_err(&serial->dev->dev, ++ "Could not set interface, error %d\n", ++ retval); ++ retval = -ENODEV; + } ++ return retval; + } + break; + ++ case 3: + case 4: + /* Composite mode */ + if (ifnum == 2) { +-- +1.7.1 + diff --git a/debian/patches/features/all/USB-qcserial-Use-generic-USB-wwan-code.patch b/debian/patches/features/all/USB-qcserial-Use-generic-USB-wwan-code.patch new file mode 100644 index 000000000..15d5cae5c --- /dev/null +++ b/debian/patches/features/all/USB-qcserial-Use-generic-USB-wwan-code.patch @@ -0,0 +1,85 @@ +From: Matthew Garrett +Date: Thu, 1 Apr 2010 12:31:09 -0400 +Subject: [PATCH] USB: qcserial: Use generic USB wwan code + +commit 3d7e59ad88fdb6bc50ae9b7e822d4bb5f68b68f9 upstream. + +Make qcserial use the generic USB wwan code. This should result in a +performance improvement. + +Signed-off-by: Matthew Garrett +Signed-off-by: Greg Kroah-Hartman +--- + drivers/usb/serial/Kconfig | 1 + + drivers/usb/serial/qcserial.c | 22 ++++++++++++++++++++++ + 2 files changed, 23 insertions(+), 0 deletions(-) + +diff --git a/drivers/usb/serial/Kconfig b/drivers/usb/serial/Kconfig +index fdc889d..efb6dc7 100644 +--- a/drivers/usb/serial/Kconfig ++++ b/drivers/usb/serial/Kconfig +@@ -485,6 +485,7 @@ config USB_SERIAL_QCAUX + + config USB_SERIAL_QUALCOMM + tristate "USB Qualcomm Serial modem" ++ select USB_SERIAL_WWAN + help + Say Y here if you have a Qualcomm USB modem device. These are + usually wireless cellular modems. +diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c +index 53a2d5a..9215f6c 100644 +--- a/drivers/usb/serial/qcserial.c ++++ b/drivers/usb/serial/qcserial.c +@@ -15,6 +15,8 @@ + #include + #include + #include ++#include ++#include "usb-wwan.h" + + #define DRIVER_AUTHOR "Qualcomm Inc" + #define DRIVER_DESC "Qualcomm USB Serial driver" +@@ -92,6 +94,7 @@ static struct usb_driver qcdriver = { + + static int qcprobe(struct usb_serial *serial, const struct usb_device_id *id) + { ++ struct usb_wwan_intf_private *data; + int retval = -ENODEV; + __u8 nintf; + __u8 ifnum; +@@ -103,6 +106,13 @@ static int qcprobe(struct usb_serial *serial, const struct usb_device_id *id) + ifnum = serial->interface->cur_altsetting->desc.bInterfaceNumber; + dbg("This Interface = %d", ifnum); + ++ data = serial->private = kzalloc(sizeof(struct usb_wwan_intf_private), ++ GFP_KERNEL); ++ if (!data) ++ return -ENOMEM; ++ ++ spin_lock_init(&data->susp_lock); ++ + switch (nintf) { + case 1: + /* QDL mode */ +@@ -161,6 +171,18 @@ static struct usb_serial_driver qcdevice = { + .usb_driver = &qcdriver, + .num_ports = 1, + .probe = qcprobe, ++ .open = usb_wwan_open, ++ .close = usb_wwan_close, ++ .write = usb_wwan_write, ++ .write_room = usb_wwan_write_room, ++ .chars_in_buffer = usb_wwan_chars_in_buffer, ++ .attach = usb_wwan_startup, ++ .disconnect = usb_wwan_disconnect, ++ .release = usb_wwan_release, ++#ifdef CONFIG_PM ++ .suspend = usb_wwan_suspend, ++ .resume = usb_wwan_resume, ++#endif + }; + + static int __init qcinit(void) +-- +1.7.1 + diff --git a/debian/patches/features/all/usb-serial-Add-generic-USB-wwan-support.patch b/debian/patches/features/all/usb-serial-Add-generic-USB-wwan-support.patch new file mode 100644 index 000000000..1aa39dab4 --- /dev/null +++ b/debian/patches/features/all/usb-serial-Add-generic-USB-wwan-support.patch @@ -0,0 +1,796 @@ +From: Matthew Garrett +Date: Thu, 1 Apr 2010 12:31:07 -0400 +Subject: [PATCH] usb serial: Add generic USB wwan support + +commit 0d4561947b8ddd5d944bdbbdc1ea1d6fd9a06041 upstream. + +The generic USB serial code is ill-suited for high-speed USB wwan devices, +resulting in the option driver. However, other non-option devices may also +gain similar benefits from not using the generic code. Factorise out the +non-option specific code from the option driver and make it available to +other users. + +Signed-off-by: Matthew Garrett +Signed-off-by: Greg Kroah-Hartman +--- + drivers/usb/serial/Kconfig | 3 + + drivers/usb/serial/Makefile | 1 + + drivers/usb/serial/usb-wwan.h | 67 ++++ + drivers/usb/serial/usb_wwan.c | 665 +++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 736 insertions(+), 0 deletions(-) + create mode 100644 drivers/usb/serial/usb-wwan.h + create mode 100644 drivers/usb/serial/usb_wwan.c + +diff --git a/drivers/usb/serial/Kconfig b/drivers/usb/serial/Kconfig +index 5f777c2..e399efd 100644 +--- a/drivers/usb/serial/Kconfig ++++ b/drivers/usb/serial/Kconfig +@@ -576,6 +576,9 @@ config USB_SERIAL_XIRCOM + To compile this driver as a module, choose M here: the + module will be called keyspan_pda. + ++config USB_SERIAL_WWAN ++ tristate ++ + config USB_SERIAL_OPTION + tristate "USB driver for GSM and CDMA modems" + help +diff --git a/drivers/usb/serial/Makefile b/drivers/usb/serial/Makefile +index 3203614..e54c728 100644 +--- a/drivers/usb/serial/Makefile ++++ b/drivers/usb/serial/Makefile +@@ -52,6 +52,7 @@ obj-$(CONFIG_USB_SERIAL_SIEMENS_MPI) += siemens_mpi.o + obj-$(CONFIG_USB_SERIAL_SIERRAWIRELESS) += sierra.o + obj-$(CONFIG_USB_SERIAL_SPCP8X5) += spcp8x5.o + obj-$(CONFIG_USB_SERIAL_SYMBOL) += symbolserial.o ++obj-$(CONFIG_USB_SERIAL_WWAN) += usb_wwan.o + obj-$(CONFIG_USB_SERIAL_TI) += ti_usb_3410_5052.o + obj-$(CONFIG_USB_SERIAL_VISOR) += visor.o + obj-$(CONFIG_USB_SERIAL_WHITEHEAT) += whiteheat.o +diff --git a/drivers/usb/serial/usb-wwan.h b/drivers/usb/serial/usb-wwan.h +new file mode 100644 +index 0000000..2be298a +--- /dev/null ++++ b/drivers/usb/serial/usb-wwan.h +@@ -0,0 +1,67 @@ ++/* ++ * Definitions for USB serial mobile broadband cards ++ */ ++ ++#ifndef __LINUX_USB_USB_WWAN ++#define __LINUX_USB_USB_WWAN ++ ++extern void usb_wwan_dtr_rts(struct usb_serial_port *port, int on); ++extern int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port); ++extern void usb_wwan_close(struct usb_serial_port *port); ++extern int usb_wwan_startup(struct usb_serial *serial); ++extern void usb_wwan_disconnect(struct usb_serial *serial); ++extern void usb_wwan_release(struct usb_serial *serial); ++extern int usb_wwan_write_room(struct tty_struct *tty); ++extern void usb_wwan_set_termios(struct tty_struct *tty, ++ struct usb_serial_port *port, ++ struct ktermios *old); ++extern int usb_wwan_tiocmget(struct tty_struct *tty, struct file *file); ++extern int usb_wwan_tiocmset(struct tty_struct *tty, struct file *file, ++ unsigned int set, unsigned int clear); ++extern int usb_wwan_send_setup(struct usb_serial_port *port); ++extern int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, ++ const unsigned char *buf, int count); ++extern int usb_wwan_chars_in_buffer(struct tty_struct *tty); ++#ifdef CONFIG_PM ++extern int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message); ++extern int usb_wwan_resume(struct usb_serial *serial); ++#endif ++ ++/* per port private data */ ++ ++#define N_IN_URB 4 ++#define N_OUT_URB 4 ++#define IN_BUFLEN 4096 ++#define OUT_BUFLEN 4096 ++ ++struct usb_wwan_intf_private { ++ spinlock_t susp_lock; ++ unsigned int suspended:1; ++ int in_flight; ++ int (*send_setup) (struct usb_serial_port *port); ++ void *private; ++}; ++ ++struct usb_wwan_port_private { ++ /* Input endpoints and buffer for this port */ ++ struct urb *in_urbs[N_IN_URB]; ++ u8 *in_buffer[N_IN_URB]; ++ /* Output endpoints and buffer for this port */ ++ struct urb *out_urbs[N_OUT_URB]; ++ u8 *out_buffer[N_OUT_URB]; ++ unsigned long out_busy; /* Bit vector of URBs in use */ ++ int opened; ++ struct usb_anchor delayed; ++ ++ /* Settings for the port */ ++ int rts_state; /* Handshaking pins (outputs) */ ++ int dtr_state; ++ int cts_state; /* Handshaking pins (inputs) */ ++ int dsr_state; ++ int dcd_state; ++ int ri_state; ++ ++ unsigned long tx_start_time[N_OUT_URB]; ++}; ++ ++#endif /* __LINUX_USB_USB_WWAN */ +diff --git a/drivers/usb/serial/usb_wwan.c b/drivers/usb/serial/usb_wwan.c +new file mode 100644 +index 0000000..0c70b4a +--- /dev/null ++++ b/drivers/usb/serial/usb_wwan.c +@@ -0,0 +1,665 @@ ++/* ++ USB Driver layer for GSM modems ++ ++ Copyright (C) 2005 Matthias Urlichs ++ ++ This driver is free software; you can redistribute it and/or modify ++ it under the terms of Version 2 of the GNU General Public License as ++ published by the Free Software Foundation. ++ ++ Portions copied from the Keyspan driver by Hugh Blemings ++ ++ History: see the git log. ++ ++ Work sponsored by: Sigos GmbH, Germany ++ ++ This driver exists because the "normal" serial driver doesn't work too well ++ with GSM modems. Issues: ++ - data loss -- one single Receive URB is not nearly enough ++ - controlling the baud rate doesn't make sense ++*/ ++ ++#define DRIVER_VERSION "v0.7.2" ++#define DRIVER_AUTHOR "Matthias Urlichs " ++#define DRIVER_DESC "USB Driver for GSM modems" ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include "usb-wwan.h" ++ ++static int debug; ++ ++void usb_wwan_dtr_rts(struct usb_serial_port *port, int on) ++{ ++ struct usb_serial *serial = port->serial; ++ struct usb_wwan_port_private *portdata; ++ ++ struct usb_wwan_intf_private *intfdata; ++ ++ dbg("%s", __func__); ++ ++ intfdata = port->serial->private; ++ ++ if (!intfdata->send_setup) ++ return; ++ ++ portdata = usb_get_serial_port_data(port); ++ mutex_lock(&serial->disc_mutex); ++ portdata->rts_state = on; ++ portdata->dtr_state = on; ++ if (serial->dev) ++ intfdata->send_setup(port); ++ mutex_unlock(&serial->disc_mutex); ++} ++EXPORT_SYMBOL(usb_wwan_dtr_rts); ++ ++void usb_wwan_set_termios(struct tty_struct *tty, ++ struct usb_serial_port *port, ++ struct ktermios *old_termios) ++{ ++ struct usb_wwan_intf_private *intfdata = port->serial->private; ++ ++ dbg("%s", __func__); ++ ++ /* Doesn't support option setting */ ++ tty_termios_copy_hw(tty->termios, old_termios); ++ ++ if (intfdata->send_setup) ++ intfdata->send_setup(port); ++} ++EXPORT_SYMBOL(usb_wwan_set_termios); ++ ++int usb_wwan_tiocmget(struct tty_struct *tty, struct file *file) ++{ ++ struct usb_serial_port *port = tty->driver_data; ++ unsigned int value; ++ struct usb_wwan_port_private *portdata; ++ ++ portdata = usb_get_serial_port_data(port); ++ ++ value = ((portdata->rts_state) ? TIOCM_RTS : 0) | ++ ((portdata->dtr_state) ? TIOCM_DTR : 0) | ++ ((portdata->cts_state) ? TIOCM_CTS : 0) | ++ ((portdata->dsr_state) ? TIOCM_DSR : 0) | ++ ((portdata->dcd_state) ? TIOCM_CAR : 0) | ++ ((portdata->ri_state) ? TIOCM_RNG : 0); ++ ++ return value; ++} ++EXPORT_SYMBOL(usb_wwan_tiocmget); ++ ++int usb_wwan_tiocmset(struct tty_struct *tty, struct file *file, ++ unsigned int set, unsigned int clear) ++{ ++ struct usb_serial_port *port = tty->driver_data; ++ struct usb_wwan_port_private *portdata; ++ struct usb_wwan_intf_private *intfdata; ++ ++ portdata = usb_get_serial_port_data(port); ++ intfdata = port->serial->private; ++ ++ if (!intfdata->send_setup) ++ return -EINVAL; ++ ++ /* FIXME: what locks portdata fields ? */ ++ if (set & TIOCM_RTS) ++ portdata->rts_state = 1; ++ if (set & TIOCM_DTR) ++ portdata->dtr_state = 1; ++ ++ if (clear & TIOCM_RTS) ++ portdata->rts_state = 0; ++ if (clear & TIOCM_DTR) ++ portdata->dtr_state = 0; ++ return intfdata->send_setup(port); ++} ++EXPORT_SYMBOL(usb_wwan_tiocmset); ++ ++/* Write */ ++int usb_wwan_write(struct tty_struct *tty, struct usb_serial_port *port, ++ const unsigned char *buf, int count) ++{ ++ struct usb_wwan_port_private *portdata; ++ struct usb_wwan_intf_private *intfdata; ++ int i; ++ int left, todo; ++ struct urb *this_urb = NULL; /* spurious */ ++ int err; ++ unsigned long flags; ++ ++ portdata = usb_get_serial_port_data(port); ++ intfdata = port->serial->private; ++ ++ dbg("%s: write (%d chars)", __func__, count); ++ ++ i = 0; ++ left = count; ++ for (i = 0; left > 0 && i < N_OUT_URB; i++) { ++ todo = left; ++ if (todo > OUT_BUFLEN) ++ todo = OUT_BUFLEN; ++ ++ this_urb = portdata->out_urbs[i]; ++ if (test_and_set_bit(i, &portdata->out_busy)) { ++ if (time_before(jiffies, ++ portdata->tx_start_time[i] + 10 * HZ)) ++ continue; ++ usb_unlink_urb(this_urb); ++ continue; ++ } ++ dbg("%s: endpoint %d buf %d", __func__, ++ usb_pipeendpoint(this_urb->pipe), i); ++ ++ err = usb_autopm_get_interface_async(port->serial->interface); ++ if (err < 0) ++ break; ++ ++ /* send the data */ ++ memcpy(this_urb->transfer_buffer, buf, todo); ++ this_urb->transfer_buffer_length = todo; ++ ++ spin_lock_irqsave(&intfdata->susp_lock, flags); ++ if (intfdata->suspended) { ++ usb_anchor_urb(this_urb, &portdata->delayed); ++ spin_unlock_irqrestore(&intfdata->susp_lock, flags); ++ } else { ++ intfdata->in_flight++; ++ spin_unlock_irqrestore(&intfdata->susp_lock, flags); ++ err = usb_submit_urb(this_urb, GFP_ATOMIC); ++ if (err) { ++ dbg("usb_submit_urb %p (write bulk) failed " ++ "(%d)", this_urb, err); ++ clear_bit(i, &portdata->out_busy); ++ spin_lock_irqsave(&intfdata->susp_lock, flags); ++ intfdata->in_flight--; ++ spin_unlock_irqrestore(&intfdata->susp_lock, ++ flags); ++ continue; ++ } ++ } ++ ++ portdata->tx_start_time[i] = jiffies; ++ buf += todo; ++ left -= todo; ++ } ++ ++ count -= left; ++ dbg("%s: wrote (did %d)", __func__, count); ++ return count; ++} ++EXPORT_SYMBOL(usb_wwan_write); ++ ++static void usb_wwan_indat_callback(struct urb *urb) ++{ ++ int err; ++ int endpoint; ++ struct usb_serial_port *port; ++ struct tty_struct *tty; ++ unsigned char *data = urb->transfer_buffer; ++ int status = urb->status; ++ ++ dbg("%s: %p", __func__, urb); ++ ++ endpoint = usb_pipeendpoint(urb->pipe); ++ port = urb->context; ++ ++ if (status) { ++ dbg("%s: nonzero status: %d on endpoint %02x.", ++ __func__, status, endpoint); ++ } else { ++ tty = tty_port_tty_get(&port->port); ++ if (urb->actual_length) { ++ tty_insert_flip_string(tty, data, urb->actual_length); ++ tty_flip_buffer_push(tty); ++ } else ++ dbg("%s: empty read urb received", __func__); ++ tty_kref_put(tty); ++ ++ /* Resubmit urb so we continue receiving */ ++ if (status != -ESHUTDOWN) { ++ err = usb_submit_urb(urb, GFP_ATOMIC); ++ if (err && err != -EPERM) ++ printk(KERN_ERR "%s: resubmit read urb failed. " ++ "(%d)", __func__, err); ++ else ++ usb_mark_last_busy(port->serial->dev); ++ } ++ ++ } ++ return; ++} ++ ++static void usb_wwan_outdat_callback(struct urb *urb) ++{ ++ struct usb_serial_port *port; ++ struct usb_wwan_port_private *portdata; ++ struct usb_wwan_intf_private *intfdata; ++ int i; ++ ++ dbg("%s", __func__); ++ ++ port = urb->context; ++ intfdata = port->serial->private; ++ ++ usb_serial_port_softint(port); ++ usb_autopm_put_interface_async(port->serial->interface); ++ portdata = usb_get_serial_port_data(port); ++ spin_lock(&intfdata->susp_lock); ++ intfdata->in_flight--; ++ spin_unlock(&intfdata->susp_lock); ++ ++ for (i = 0; i < N_OUT_URB; ++i) { ++ if (portdata->out_urbs[i] == urb) { ++ smp_mb__before_clear_bit(); ++ clear_bit(i, &portdata->out_busy); ++ break; ++ } ++ } ++} ++ ++int usb_wwan_write_room(struct tty_struct *tty) ++{ ++ struct usb_serial_port *port = tty->driver_data; ++ struct usb_wwan_port_private *portdata; ++ int i; ++ int data_len = 0; ++ struct urb *this_urb; ++ ++ portdata = usb_get_serial_port_data(port); ++ ++ for (i = 0; i < N_OUT_URB; i++) { ++ this_urb = portdata->out_urbs[i]; ++ if (this_urb && !test_bit(i, &portdata->out_busy)) ++ data_len += OUT_BUFLEN; ++ } ++ ++ dbg("%s: %d", __func__, data_len); ++ return data_len; ++} ++EXPORT_SYMBOL(usb_wwan_write_room); ++ ++int usb_wwan_chars_in_buffer(struct tty_struct *tty) ++{ ++ struct usb_serial_port *port = tty->driver_data; ++ struct usb_wwan_port_private *portdata; ++ int i; ++ int data_len = 0; ++ struct urb *this_urb; ++ ++ portdata = usb_get_serial_port_data(port); ++ ++ for (i = 0; i < N_OUT_URB; i++) { ++ this_urb = portdata->out_urbs[i]; ++ /* FIXME: This locking is insufficient as this_urb may ++ go unused during the test */ ++ if (this_urb && test_bit(i, &portdata->out_busy)) ++ data_len += this_urb->transfer_buffer_length; ++ } ++ dbg("%s: %d", __func__, data_len); ++ return data_len; ++} ++EXPORT_SYMBOL(usb_wwan_chars_in_buffer); ++ ++int usb_wwan_open(struct tty_struct *tty, struct usb_serial_port *port) ++{ ++ struct usb_wwan_port_private *portdata; ++ struct usb_wwan_intf_private *intfdata; ++ struct usb_serial *serial = port->serial; ++ int i, err; ++ struct urb *urb; ++ ++ portdata = usb_get_serial_port_data(port); ++ intfdata = serial->private; ++ ++ dbg("%s", __func__); ++ ++ /* Start reading from the IN endpoint */ ++ for (i = 0; i < N_IN_URB; i++) { ++ urb = portdata->in_urbs[i]; ++ if (!urb) ++ continue; ++ err = usb_submit_urb(urb, GFP_KERNEL); ++ if (err) { ++ dbg("%s: submit urb %d failed (%d) %d", ++ __func__, i, err, urb->transfer_buffer_length); ++ } ++ } ++ ++ if (intfdata->send_setup) ++ intfdata->send_setup(port); ++ ++ serial->interface->needs_remote_wakeup = 1; ++ spin_lock_irq(&intfdata->susp_lock); ++ portdata->opened = 1; ++ spin_unlock_irq(&intfdata->susp_lock); ++ usb_autopm_put_interface(serial->interface); ++ ++ return 0; ++} ++EXPORT_SYMBOL(usb_wwan_open); ++ ++void usb_wwan_close(struct usb_serial_port *port) ++{ ++ int i; ++ struct usb_serial *serial = port->serial; ++ struct usb_wwan_port_private *portdata; ++ struct usb_wwan_intf_private *intfdata = port->serial->private; ++ ++ dbg("%s", __func__); ++ portdata = usb_get_serial_port_data(port); ++ ++ if (serial->dev) { ++ /* Stop reading/writing urbs */ ++ spin_lock_irq(&intfdata->susp_lock); ++ portdata->opened = 0; ++ spin_unlock_irq(&intfdata->susp_lock); ++ ++ for (i = 0; i < N_IN_URB; i++) ++ usb_kill_urb(portdata->in_urbs[i]); ++ for (i = 0; i < N_OUT_URB; i++) ++ usb_kill_urb(portdata->out_urbs[i]); ++ usb_autopm_get_interface(serial->interface); ++ serial->interface->needs_remote_wakeup = 0; ++ } ++} ++EXPORT_SYMBOL(usb_wwan_close); ++ ++/* Helper functions used by usb_wwan_setup_urbs */ ++static struct urb *usb_wwan_setup_urb(struct usb_serial *serial, int endpoint, ++ int dir, void *ctx, char *buf, int len, ++ void (*callback) (struct urb *)) ++{ ++ struct urb *urb; ++ ++ if (endpoint == -1) ++ return NULL; /* endpoint not needed */ ++ ++ urb = usb_alloc_urb(0, GFP_KERNEL); /* No ISO */ ++ if (urb == NULL) { ++ dbg("%s: alloc for endpoint %d failed.", __func__, endpoint); ++ return NULL; ++ } ++ ++ /* Fill URB using supplied data. */ ++ usb_fill_bulk_urb(urb, serial->dev, ++ usb_sndbulkpipe(serial->dev, endpoint) | dir, ++ buf, len, callback, ctx); ++ ++ return urb; ++} ++ ++/* Setup urbs */ ++static void usb_wwan_setup_urbs(struct usb_serial *serial) ++{ ++ int i, j; ++ struct usb_serial_port *port; ++ struct usb_wwan_port_private *portdata; ++ ++ dbg("%s", __func__); ++ ++ for (i = 0; i < serial->num_ports; i++) { ++ port = serial->port[i]; ++ portdata = usb_get_serial_port_data(port); ++ ++ /* Do indat endpoints first */ ++ for (j = 0; j < N_IN_URB; ++j) { ++ portdata->in_urbs[j] = usb_wwan_setup_urb(serial, ++ port-> ++ bulk_in_endpointAddress, ++ USB_DIR_IN, ++ port, ++ portdata-> ++ in_buffer[j], ++ IN_BUFLEN, ++ usb_wwan_indat_callback); ++ } ++ ++ /* outdat endpoints */ ++ for (j = 0; j < N_OUT_URB; ++j) { ++ portdata->out_urbs[j] = usb_wwan_setup_urb(serial, ++ port-> ++ bulk_out_endpointAddress, ++ USB_DIR_OUT, ++ port, ++ portdata-> ++ out_buffer ++ [j], ++ OUT_BUFLEN, ++ usb_wwan_outdat_callback); ++ } ++ } ++} ++ ++int usb_wwan_startup(struct usb_serial *serial) ++{ ++ int i, j, err; ++ struct usb_serial_port *port; ++ struct usb_wwan_port_private *portdata; ++ u8 *buffer; ++ ++ dbg("%s", __func__); ++ ++ /* Now setup per port private data */ ++ for (i = 0; i < serial->num_ports; i++) { ++ port = serial->port[i]; ++ portdata = kzalloc(sizeof(*portdata), GFP_KERNEL); ++ if (!portdata) { ++ dbg("%s: kmalloc for usb_wwan_port_private (%d) failed!.", ++ __func__, i); ++ return 1; ++ } ++ init_usb_anchor(&portdata->delayed); ++ ++ for (j = 0; j < N_IN_URB; j++) { ++ buffer = (u8 *) __get_free_page(GFP_KERNEL); ++ if (!buffer) ++ goto bail_out_error; ++ portdata->in_buffer[j] = buffer; ++ } ++ ++ for (j = 0; j < N_OUT_URB; j++) { ++ buffer = kmalloc(OUT_BUFLEN, GFP_KERNEL); ++ if (!buffer) ++ goto bail_out_error2; ++ portdata->out_buffer[j] = buffer; ++ } ++ ++ usb_set_serial_port_data(port, portdata); ++ ++ if (!port->interrupt_in_urb) ++ continue; ++ err = usb_submit_urb(port->interrupt_in_urb, GFP_KERNEL); ++ if (err) ++ dbg("%s: submit irq_in urb failed %d", __func__, err); ++ } ++ usb_wwan_setup_urbs(serial); ++ return 0; ++ ++bail_out_error2: ++ for (j = 0; j < N_OUT_URB; j++) ++ kfree(portdata->out_buffer[j]); ++bail_out_error: ++ for (j = 0; j < N_IN_URB; j++) ++ if (portdata->in_buffer[j]) ++ free_page((unsigned long)portdata->in_buffer[j]); ++ kfree(portdata); ++ return 1; ++} ++EXPORT_SYMBOL(usb_wwan_startup); ++ ++static void stop_read_write_urbs(struct usb_serial *serial) ++{ ++ int i, j; ++ struct usb_serial_port *port; ++ struct usb_wwan_port_private *portdata; ++ ++ /* Stop reading/writing urbs */ ++ for (i = 0; i < serial->num_ports; ++i) { ++ port = serial->port[i]; ++ portdata = usb_get_serial_port_data(port); ++ for (j = 0; j < N_IN_URB; j++) ++ usb_kill_urb(portdata->in_urbs[j]); ++ for (j = 0; j < N_OUT_URB; j++) ++ usb_kill_urb(portdata->out_urbs[j]); ++ } ++} ++ ++void usb_wwan_disconnect(struct usb_serial *serial) ++{ ++ dbg("%s", __func__); ++ ++ stop_read_write_urbs(serial); ++} ++EXPORT_SYMBOL(usb_wwan_disconnect); ++ ++void usb_wwan_release(struct usb_serial *serial) ++{ ++ int i, j; ++ struct usb_serial_port *port; ++ struct usb_wwan_port_private *portdata; ++ ++ dbg("%s", __func__); ++ ++ /* Now free them */ ++ for (i = 0; i < serial->num_ports; ++i) { ++ port = serial->port[i]; ++ portdata = usb_get_serial_port_data(port); ++ ++ for (j = 0; j < N_IN_URB; j++) { ++ usb_free_urb(portdata->in_urbs[j]); ++ free_page((unsigned long) ++ portdata->in_buffer[j]); ++ portdata->in_urbs[j] = NULL; ++ } ++ for (j = 0; j < N_OUT_URB; j++) { ++ usb_free_urb(portdata->out_urbs[j]); ++ kfree(portdata->out_buffer[j]); ++ portdata->out_urbs[j] = NULL; ++ } ++ } ++ ++ /* Now free per port private data */ ++ for (i = 0; i < serial->num_ports; i++) { ++ port = serial->port[i]; ++ kfree(usb_get_serial_port_data(port)); ++ } ++} ++EXPORT_SYMBOL(usb_wwan_release); ++ ++#ifdef CONFIG_PM ++int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message) ++{ ++ struct usb_wwan_intf_private *intfdata = serial->private; ++ int b; ++ ++ dbg("%s entered", __func__); ++ ++ if (message.event & PM_EVENT_AUTO) { ++ spin_lock_irq(&intfdata->susp_lock); ++ b = intfdata->in_flight; ++ spin_unlock_irq(&intfdata->susp_lock); ++ ++ if (b) ++ return -EBUSY; ++ } ++ ++ spin_lock_irq(&intfdata->susp_lock); ++ intfdata->suspended = 1; ++ spin_unlock_irq(&intfdata->susp_lock); ++ stop_read_write_urbs(serial); ++ ++ return 0; ++} ++EXPORT_SYMBOL(usb_wwan_suspend); ++ ++static void play_delayed(struct usb_serial_port *port) ++{ ++ struct usb_wwan_intf_private *data; ++ struct usb_wwan_port_private *portdata; ++ struct urb *urb; ++ int err; ++ ++ portdata = usb_get_serial_port_data(port); ++ data = port->serial->private; ++ while ((urb = usb_get_from_anchor(&portdata->delayed))) { ++ err = usb_submit_urb(urb, GFP_ATOMIC); ++ if (!err) ++ data->in_flight++; ++ } ++} ++ ++int usb_wwan_resume(struct usb_serial *serial) ++{ ++ int i, j; ++ struct usb_serial_port *port; ++ struct usb_wwan_intf_private *intfdata = serial->private; ++ struct usb_wwan_port_private *portdata; ++ struct urb *urb; ++ int err = 0; ++ ++ dbg("%s entered", __func__); ++ /* get the interrupt URBs resubmitted unconditionally */ ++ for (i = 0; i < serial->num_ports; i++) { ++ port = serial->port[i]; ++ if (!port->interrupt_in_urb) { ++ dbg("%s: No interrupt URB for port %d", __func__, i); ++ continue; ++ } ++ err = usb_submit_urb(port->interrupt_in_urb, GFP_NOIO); ++ dbg("Submitted interrupt URB for port %d (result %d)", i, err); ++ if (err < 0) { ++ err("%s: Error %d for interrupt URB of port%d", ++ __func__, err, i); ++ goto err_out; ++ } ++ } ++ ++ for (i = 0; i < serial->num_ports; i++) { ++ /* walk all ports */ ++ port = serial->port[i]; ++ portdata = usb_get_serial_port_data(port); ++ ++ /* skip closed ports */ ++ spin_lock_irq(&intfdata->susp_lock); ++ if (!portdata->opened) { ++ spin_unlock_irq(&intfdata->susp_lock); ++ continue; ++ } ++ ++ for (j = 0; j < N_IN_URB; j++) { ++ urb = portdata->in_urbs[j]; ++ err = usb_submit_urb(urb, GFP_ATOMIC); ++ if (err < 0) { ++ err("%s: Error %d for bulk URB %d", ++ __func__, err, i); ++ spin_unlock_irq(&intfdata->susp_lock); ++ goto err_out; ++ } ++ } ++ play_delayed(port); ++ spin_unlock_irq(&intfdata->susp_lock); ++ } ++ spin_lock_irq(&intfdata->susp_lock); ++ intfdata->suspended = 0; ++ spin_unlock_irq(&intfdata->susp_lock); ++err_out: ++ return err; ++} ++EXPORT_SYMBOL(usb_wwan_resume); ++#endif ++ ++MODULE_AUTHOR(DRIVER_AUTHOR); ++MODULE_DESCRIPTION(DRIVER_DESC); ++MODULE_VERSION(DRIVER_VERSION); ++MODULE_LICENSE("GPL"); ++ ++module_param(debug, bool, S_IRUGO | S_IWUSR); ++MODULE_PARM_DESC(debug, "Debug messages"); +-- +1.7.1 + diff --git a/debian/patches/series/16 b/debian/patches/series/16 index a4847ca4d..3795a7f64 100644 --- a/debian/patches/series/16 +++ b/debian/patches/series/16 @@ -138,3 +138,7 @@ + bugfix/mips/mips-Set-io_map_base-for-several-PCI-bridges-lacking.patch - bugfix/all/vlan-macvlan-propagate-transmission-state-to-upper-layer.patch + features/sh4/sh-optimize-runtime-disabling-of-trapped-IO.patch ++ features/all/usb-serial-Add-generic-USB-wwan-support.patch ++ features/all/USB-option-Use-generic-USB-wwan-code.patch ++ features/all/USB-qcserial-Use-generic-USB-wwan-code.patch ++ features/all/USB-qcserial-Add-support-for-Qualcomm-Gobi-2000.patch From 5db6cefd82c47a8c02c3c01669fafca744c0fc52 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Wed, 16 Jun 2010 01:06:19 +0000 Subject: [PATCH 26/63] radeon: Fix MacBook Pro connector quirk (Closes: #585943) svn path=/dists/sid/linux-2.6/; revision=15879 --- debian/changelog | 1 + ...n-kms-fix-macbookpro-connector-quirk.patch | 28 +++++++++++++++++++ debian/patches/series/16 | 1 + 3 files changed, 30 insertions(+) create mode 100644 debian/patches/bugfix/x86/drm-radeon-kms-fix-macbookpro-connector-quirk.patch diff --git a/debian/changelog b/debian/changelog index b2b42ad49..b898cedf7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -29,6 +29,7 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low (Closes: #585661) - option, qcserial: Use generic USB WWAN code - qcserial: Add support for Qualcomm Gobi 2000 devices + * radeon: Fix MacBook Pro connector quirk (Closes: #585943) [ Aurelien Jarno ] * [sh4] fix sh_tmu clocksource following recent nohz changes. diff --git a/debian/patches/bugfix/x86/drm-radeon-kms-fix-macbookpro-connector-quirk.patch b/debian/patches/bugfix/x86/drm-radeon-kms-fix-macbookpro-connector-quirk.patch new file mode 100644 index 000000000..32c8bfb21 --- /dev/null +++ b/debian/patches/bugfix/x86/drm-radeon-kms-fix-macbookpro-connector-quirk.patch @@ -0,0 +1,28 @@ +From: Alex Deucher +Date: Fri, 26 Mar 2010 17:14:37 -0400 +Subject: [PATCH] drm/radeon/kms: fix macbookpro connector quirk + +commit e1e8a5dd4faf356b5d31c620c5787eaa83ee831d upstream. + +Signed-off-by: Alex Deucher +Signed-off-by: Dave Airlie +--- + drivers/gpu/drm/radeon/radeon_atombios.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c +index f0ea7f8..1fff955 100644 +--- a/drivers/gpu/drm/radeon/radeon_atombios.c ++++ b/drivers/gpu/drm/radeon/radeon_atombios.c +@@ -264,6 +264,8 @@ static bool radeon_atom_apply_quirks(struct drm_device *dev, + if ((supported_device == ATOM_DEVICE_CRT1_SUPPORT) || + (supported_device == ATOM_DEVICE_DFP2_SUPPORT)) + return false; ++ if (supported_device == ATOM_DEVICE_CRT2_SUPPORT) ++ *line_mux = 0x90; + } + + /* ASUS HD 3600 XT board lists the DVI port as HDMI */ +-- +1.7.1 + diff --git a/debian/patches/series/16 b/debian/patches/series/16 index 3795a7f64..ba4839642 100644 --- a/debian/patches/series/16 +++ b/debian/patches/series/16 @@ -142,3 +142,4 @@ + features/all/USB-option-Use-generic-USB-wwan-code.patch + features/all/USB-qcserial-Use-generic-USB-wwan-code.patch + features/all/USB-qcserial-Add-support-for-Qualcomm-Gobi-2000.patch ++ bugfix/x86/drm-radeon-kms-fix-macbookpro-connector-quirk.patch From b3cd19634757ace992d9ec8aa81caa1cc1a990c2 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Wed, 16 Jun 2010 02:04:02 +0000 Subject: [PATCH 27/63] r8169: Fix MDIO timing (Closes: #583139) svn path=/dists/sid/linux-2.6/; revision=15880 --- debian/changelog | 1 + ...-fix-mdio_read-and-update-mdio_write.patch | 51 +++++++++++++++++++ ...r8169-fix-random-mdio_write-failures.patch | 46 +++++++++++++++++ debian/patches/series/16 | 2 + 4 files changed, 100 insertions(+) create mode 100644 debian/patches/bugfix/all/r8169-fix-mdio_read-and-update-mdio_write.patch create mode 100644 debian/patches/bugfix/all/r8169-fix-random-mdio_write-failures.patch diff --git a/debian/changelog b/debian/changelog index b898cedf7..0d380dc54 100644 --- a/debian/changelog +++ b/debian/changelog @@ -30,6 +30,7 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low - option, qcserial: Use generic USB WWAN code - qcserial: Add support for Qualcomm Gobi 2000 devices * radeon: Fix MacBook Pro connector quirk (Closes: #585943) + * r8169: Fix MDIO timing (Closes: #583139) [ Aurelien Jarno ] * [sh4] fix sh_tmu clocksource following recent nohz changes. diff --git a/debian/patches/bugfix/all/r8169-fix-mdio_read-and-update-mdio_write.patch b/debian/patches/bugfix/all/r8169-fix-mdio_read-and-update-mdio_write.patch new file mode 100644 index 000000000..8d061ae8a --- /dev/null +++ b/debian/patches/bugfix/all/r8169-fix-mdio_read-and-update-mdio_write.patch @@ -0,0 +1,51 @@ +From: Timo Teräs +Date: Wed, 9 Jun 2010 17:31:48 -0700 +Subject: [PATCH] r8169: fix mdio_read and update mdio_write according to hw specs + +commit 81a95f049962ec20a9aed888e676208b206f0f2e upstream. + +Realtek confirmed that a 20us delay is needed after mdio_read and +mdio_write operations. Reduce the delay in mdio_write, and add it +to mdio_read too. Also add a comment that the 20us is from hw specs. + +Signed-off-by: Timo Teräs +Acked-by: Francois Romieu +Signed-off-by: David S. Miller +--- + drivers/net/r8169.c | 12 +++++++++--- + 1 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c +index 03a8318..96b6cfb 100644 +--- a/drivers/net/r8169.c ++++ b/drivers/net/r8169.c +@@ -560,10 +560,10 @@ static void mdio_write(void __iomem *ioaddr, int reg_addr, int value) + udelay(25); + } + /* +- * Some configurations require a small delay even after the write +- * completed indication or the next write might fail. ++ * According to hardware specs a 20us delay is required after write ++ * complete indication, but before sending next command. + */ +- udelay(25); ++ udelay(20); + } + + static int mdio_read(void __iomem *ioaddr, int reg_addr) +@@ -583,6 +583,12 @@ static int mdio_read(void __iomem *ioaddr, int reg_addr) + } + udelay(25); + } ++ /* ++ * According to hardware specs a 20us delay is required after read ++ * complete indication, but before sending next command. ++ */ ++ udelay(20); ++ + return value; + } + +-- +1.7.1 + diff --git a/debian/patches/bugfix/all/r8169-fix-random-mdio_write-failures.patch b/debian/patches/bugfix/all/r8169-fix-random-mdio_write-failures.patch new file mode 100644 index 000000000..5e4f30c58 --- /dev/null +++ b/debian/patches/bugfix/all/r8169-fix-random-mdio_write-failures.patch @@ -0,0 +1,46 @@ +From: Timo Teräs +Date: Sun, 6 Jun 2010 15:38:47 -0700 +Subject: [PATCH] r8169: fix random mdio_write failures + +commit 024a07bacf8287a6ddfa83e9d5b951c5e8b4070e upstream. + +Some configurations need delay between the "write completed" indication +and new write to work reliably. + +Realtek driver seems to use longer delay when polling the "write complete" +bit, so it waits long enough between writes with high probability (but +could probably break too). This patch adds a new udelay to make sure we +wait unconditionally some time after the write complete indication. + +This caused a regression with XID 18000000 boards when the board specific +phy configuration writing many mdio registers was added in commit +2e955856ff (r8169: phy init for the 8169scd). Some of the configration +mdio writes would almost always fail, and depending on failure might leave +the PHY in non-working state. + +Signed-off-by: Timo Teräs +Acked-off-by: Francois Romieu +Signed-off-by: David S. Miller +--- + drivers/net/r8169.c | 5 +++++ + 1 files changed, 5 insertions(+), 0 deletions(-) + +diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c +index 217e709..03a8318 100644 +--- a/drivers/net/r8169.c ++++ b/drivers/net/r8169.c +@@ -559,6 +559,11 @@ static void mdio_write(void __iomem *ioaddr, int reg_addr, int value) + break; + udelay(25); + } ++ /* ++ * Some configurations require a small delay even after the write ++ * completed indication or the next write might fail. ++ */ ++ udelay(25); + } + + static int mdio_read(void __iomem *ioaddr, int reg_addr) +-- +1.7.1 + diff --git a/debian/patches/series/16 b/debian/patches/series/16 index ba4839642..adfd4d985 100644 --- a/debian/patches/series/16 +++ b/debian/patches/series/16 @@ -143,3 +143,5 @@ + features/all/USB-qcserial-Use-generic-USB-wwan-code.patch + features/all/USB-qcserial-Add-support-for-Qualcomm-Gobi-2000.patch + bugfix/x86/drm-radeon-kms-fix-macbookpro-connector-quirk.patch ++ bugfix/all/r8169-fix-random-mdio_write-failures.patch ++ bugfix/all/r8169-fix-mdio_read-and-update-mdio_write.patch From 2c6587bd9ec0cb7a1895ee7246a2f4a25d8ec04e Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Fri, 18 Jun 2010 03:21:47 +0000 Subject: [PATCH 28/63] debian_linux.abi: Consider symbols equal regardless of the module they are in svn path=/dists/sid/linux-2.6/; revision=15883 --- debian/lib/python/debian_linux/abi.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/debian/lib/python/debian_linux/abi.py b/debian/lib/python/debian_linux/abi.py index 61e8a666c..eae7a8380 100644 --- a/debian/lib/python/debian_linux/abi.py +++ b/debian/lib/python/debian_linux/abi.py @@ -7,8 +7,10 @@ class Symbol(object): if not isinstance(other, Symbol): return NotImplemented + # Symbols are resolved to modules by depmod at installation/ + # upgrade time, not compile time, so moving a symbol between + # modules is not an ABI change. Compare everything else. if self.name != other.name: return False - if self.module != other.module: return False if self.version != other.version: return False if self.export != other.export: return False From b57f84c58a725dcee0fde63a4174837141714153 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Fri, 18 Jun 2010 03:35:05 +0000 Subject: [PATCH 29/63] Get rid of the stem template variable (=ST) We're not going to rename back to 'kernel' any time soon. svn path=/dists/sid/linux-2.6/; revision=15884 --- debian/po/cs.po | 4 ++-- debian/po/da.po | 4 ++-- debian/po/de.po | 4 ++-- debian/po/es.po | 4 ++-- debian/po/et.po | 4 ++-- debian/po/fr.po | 4 ++-- debian/po/ja.po | 4 ++-- debian/po/pt.po | 4 ++-- debian/po/ru.po | 4 ++-- debian/po/sv.po | 4 ++-- debian/po/templates.pot | 2 +- debian/po/vi.po | 4 ++-- debian/rules.real | 2 -- debian/templates/temp.image.plain/postinst | 10 +++++----- debian/templates/temp.image.plain/postrm | 4 ++-- debian/templates/temp.image.plain/preinst | 4 ++-- debian/templates/temp.image.plain/prerm | 10 +++++----- debian/templates/temp.image.plain/templates | 14 +++++++------- 18 files changed, 44 insertions(+), 46 deletions(-) diff --git a/debian/po/cs.po b/debian/po/cs.po index cae8d5326..9a12662d0 100644 --- a/debian/po/cs.po +++ b/debian/po/cs.po @@ -304,10 +304,10 @@ msgstr "" #: ../templates/temp.image.plain/templates:7001 msgid "" "This system uses a valid /etc/${loader}.conf file that mentions ${kimage}-" -"=V. Removing =ST-image-=V will invalidate that file." +"=V. Removing linux-image-=V will invalidate that file." msgstr "" "Tento systém používá platný soubor /etc/${loader}.conf, který obsahuje " -"${kimage}-=V. Odstranění =ST-image-=V tento soubor zneplatní." +"${kimage}-=V. Odstranění linux-image-=V tento soubor zneplatní." #. Type: boolean #. Description diff --git a/debian/po/da.po b/debian/po/da.po index c78f9d736..a496ab7a6 100644 --- a/debian/po/da.po +++ b/debian/po/da.po @@ -313,10 +313,10 @@ msgstr "" #: ../templates/temp.image.plain/templates:7001 msgid "" "This system uses a valid /etc/${loader}.conf file that mentions ${kimage}-" -"=V. Removing =ST-image-=V will invalidate that file." +"=V. Removing linux-image-=V will invalidate that file." msgstr "" "Dette system bruger en gyldig /etc/${loader}.conf-fil som nævner ${kimage}-" -"=V. Fjernelse af =ST-image-=V vil invalidere den fil." +"=V. Fjernelse af linux-image-=V vil invalidere den fil." #. Type: boolean #. Description diff --git a/debian/po/de.po b/debian/po/de.po index 71b267882..45e15565e 100644 --- a/debian/po/de.po +++ b/debian/po/de.po @@ -323,10 +323,10 @@ msgstr "" #: ../templates/temp.image.plain/templates:7001 msgid "" "This system uses a valid /etc/${loader}.conf file that mentions ${kimage}-" -"=V. Removing =ST-image-=V will invalidate that file." +"=V. Removing linux-image-=V will invalidate that file." msgstr "" "Dieses System nutzt eine gültige /etc/${loader}.conf-Datei, in der ${kimage}-" -"=V enthalten ist. Durch das Entfernen von =ST-image-=V wird diese Datei " +"=V enthalten ist. Durch das Entfernen von linux-image-=V wird diese Datei " "ungültig." #. Type: boolean diff --git a/debian/po/es.po b/debian/po/es.po index 04efe0bdf..15f414708 100644 --- a/debian/po/es.po +++ b/debian/po/es.po @@ -352,10 +352,10 @@ msgstr "" #: ../templates/temp.image.plain/templates:7001 msgid "" "This system uses a valid /etc/${loader}.conf file that mentions ${kimage}-" -"=V. Removing =ST-image-=V will invalidate that file." +"=V. Removing linux-image-=V will invalidate that file." msgstr "" "Este sistema usa un fichero «/etc/${loader}.conf» válido que menciona " -"«${kimage}-=V». Eliminar «=ST-image-=V» invalidará ese fichero." +"«${kimage}-=V». Eliminar «linux-image-=V» invalidará ese fichero." #. Type: boolean #. Description diff --git a/debian/po/et.po b/debian/po/et.po index a3c2ff4a1..3c4a5f5ca 100644 --- a/debian/po/et.po +++ b/debian/po/et.po @@ -311,10 +311,10 @@ msgstr "" #: ../templates/temp.image.plain/templates:7001 msgid "" "This system uses a valid /etc/${loader}.conf file that mentions ${kimage}-" -"=V. Removing =ST-image-=V will invalidate that file." +"=V. Removing linux-image-=V will invalidate that file." msgstr "" "See süsteem kasutab kehtivat /etc/${loader}.conf faili, mis mainib ${kimage}-" -"=V. Eemaldades =ST-image-=V muudab selle faili kehtetuks." +"=V. Eemaldades linux-image-=V muudab selle faili kehtetuks." #. Type: boolean #. Description diff --git a/debian/po/fr.po b/debian/po/fr.po index 52f0e962f..333123f33 100644 --- a/debian/po/fr.po +++ b/debian/po/fr.po @@ -332,10 +332,10 @@ msgstr "" #: ../templates/temp.image.plain/templates:7001 msgid "" "This system uses a valid /etc/${loader}.conf file that mentions ${kimage}-" -"=V. Removing =ST-image-=V will invalidate that file." +"=V. Removing linux-image-=V will invalidate that file." msgstr "" "Le fichier /etc/${loader}.conf contenant la mention « ${kimage}-=V » est " -"valable. Enlever « =ST-image-=V » rendra ce fichier non valable." +"valable. Enlever « linux-image-=V » rendra ce fichier non valable." #. Type: boolean #. Description diff --git a/debian/po/ja.po b/debian/po/ja.po index 472d36c09..14c07de29 100644 --- a/debian/po/ja.po +++ b/debian/po/ja.po @@ -312,10 +312,10 @@ msgstr "" #: ../templates/temp.image.plain/templates:7001 msgid "" "This system uses a valid /etc/${loader}.conf file that mentions ${kimage}-" -"=V. Removing =ST-image-=V will invalidate that file." +"=V. Removing linux-image-=V will invalidate that file." msgstr "" "このシステムは、${kimage}-=V について記述した有効な /etc/${loader}.conf ファ" -"イルを使用しています。=ST-image-=V の削除はこのファイルを無効化することになり" +"イルを使用しています。linux-image-=V の削除はこのファイルを無効化することになり" "ます。" #. Type: boolean diff --git a/debian/po/pt.po b/debian/po/pt.po index ebe12d484..913e0f14d 100644 --- a/debian/po/pt.po +++ b/debian/po/pt.po @@ -321,10 +321,10 @@ msgstr "" #: ../templates/temp.image.plain/templates:7001 msgid "" "This system uses a valid /etc/${loader}.conf file that mentions ${kimage}-" -"=V. Removing =ST-image-=V will invalidate that file." +"=V. Removing linux-image-=V will invalidate that file." msgstr "" "Este sistema usa um ficheiro /etc/${loader}.conf válido que menciona " -"${kimage}-=V. Remover =ST-image-=V irá invalidar esse ficheiro." +"${kimage}-=V. Remover linux-image-=V irá invalidar esse ficheiro." #. Type: boolean #. Description diff --git a/debian/po/ru.po b/debian/po/ru.po index 1bcf52a83..034c94699 100644 --- a/debian/po/ru.po +++ b/debian/po/ru.po @@ -316,10 +316,10 @@ msgstr "" #: ../templates/temp.image.plain/templates:7001 msgid "" "This system uses a valid /etc/${loader}.conf file that mentions ${kimage}-" -"=V. Removing =ST-image-=V will invalidate that file." +"=V. Removing linux-image-=V will invalidate that file." msgstr "" "В данной системе используется корректный файл /etc/${loader}.conf, в котором " -"указано ${kimage}-=V. Удаление =ST-image-=V сделает файл некорректным." +"указано ${kimage}-=V. Удаление linux-image-=V сделает файл некорректным." #. Type: boolean #. Description diff --git a/debian/po/sv.po b/debian/po/sv.po index 3d51f20e9..f59164f66 100644 --- a/debian/po/sv.po +++ b/debian/po/sv.po @@ -314,10 +314,10 @@ msgstr "" #: ../templates/temp.image.plain/templates:7001 msgid "" "This system uses a valid /etc/${loader}.conf file that mentions ${kimage}-" -"=V. Removing =ST-image-=V will invalidate that file." +"=V. Removing linux-image-=V will invalidate that file." msgstr "" "Detta system använder en korrekt /etc/${loader}.conf-fil som pekar ut " -"${kimage}-=V. Att ta bort =ST-image-=V kommer göra filen inaktuell." +"${kimage}-=V. Att ta bort linux-image-=V kommer göra filen inaktuell." #. Type: boolean #. Description diff --git a/debian/po/templates.pot b/debian/po/templates.pot index d7664e133..5f09d21d3 100644 --- a/debian/po/templates.pot +++ b/debian/po/templates.pot @@ -270,7 +270,7 @@ msgstr "" #: ../templates/temp.image.plain/templates:7001 msgid "" "This system uses a valid /etc/${loader}.conf file that mentions ${kimage}-" -"=V. Removing =ST-image-=V will invalidate that file." +"=V. Removing linux-image-=V will invalidate that file." msgstr "" #. Type: boolean diff --git a/debian/po/vi.po b/debian/po/vi.po index 3a93e0b64..12622db61 100644 --- a/debian/po/vi.po +++ b/debian/po/vi.po @@ -309,10 +309,10 @@ msgstr "" #: ../templates/temp.image.plain/templates:7001 msgid "" "This system uses a valid /etc/${loader}.conf file that mentions ${kimage}-" -"=V. Removing =ST-image-=V will invalidate that file." +"=V. Removing linux-image-=V will invalidate that file." msgstr "" "Hệ thống này sử dụng một tập tin cấu hình « /etc/${loader}.conf » mà xác định " -"« ${kimage}-=V ». Gỡ bỏ mục « =ST-image-=V » thì làm cho tập tin đó không có " +"« ${kimage}-=V ». Gỡ bỏ mục « linux-image-=V » thì làm cho tập tin đó không có " "hiệu lực." #. Type: boolean diff --git a/debian/rules.real b/debian/rules.real index 82a25e359..e34aac962 100644 --- a/debian/rules.real +++ b/debian/rules.real @@ -396,7 +396,6 @@ install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_templates: for i in $(wildcard debian/templates/temp.image.plain/*); do \ sed \ -e 's,=D,/boot,g' \ - -e 's/=ST/linux/g' \ -e 's@=A@$(DEB_HOST_ARCH)@g' \ -e 's@=B@$(KERNEL_ARCH)@g' \ -e 's/=IB//g' \ @@ -412,7 +411,6 @@ install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_templates: mkdir -p debian/$(PACKAGE_NAME).po for i in $(wildcard debian/po/*.po); do \ sed \ - -e 's/=ST/linux/g' \ -e 's/=V/$(REAL_VERSION)/g' \ $$i > debian/$(PACKAGE_NAME).po/$$(basename $$i); \ done diff --git a/debian/templates/temp.image.plain/postinst b/debian/templates/temp.image.plain/postinst index 586ef14ce..6b6128d5a 100755 --- a/debian/templates/temp.image.plain/postinst +++ b/debian/templates/temp.image.plain/postinst @@ -31,7 +31,7 @@ my $force_build_link = ''; # There is no harm in checking the link my $arch = "=A"; # should be same as dpkg --print-architecture my $kernel_arch = "=B"; my $ramdisk = "=MK"; # List of tools to create initial ram fs. -my $package_name = "=ST-image-$version"; +my $package_name = "linux-image-$version"; my $explicit_do_loader = ''; my $Loader = "NoLOADER"; # @@ -196,11 +196,11 @@ sub fix_build_link { if ($num != 1) { warn "error unlinking $modules_base/$version/build"; } else { - if ($force_build_link || -d "/usr/src/=ST-headers-$version") { - my $result = symlink ("/usr/src/=ST-headers-$version", + if ($force_build_link || -d "/usr/src/linux-headers-$version") { + my $result = symlink ("/usr/src/linux-headers-$version", "$modules_base/$version/build"); if (! $result) { - warn "Could not link /usr/src/=ST-headers-$version to $modules_base/$version/build:$!" + warn "Could not link /usr/src/linux-headers-$version to $modules_base/$version/build:$!" } } } @@ -828,7 +828,7 @@ else { } # set the env var stem -$ENV{'STEM'} = "=ST"; +$ENV{'STEM'} = "linux"; sub run_hook { my $type = shift; my $script = shift; diff --git a/debian/templates/temp.image.plain/postrm b/debian/templates/temp.image.plain/postrm index 912b4d06c..a2eb84dcb 100755 --- a/debian/templates/temp.image.plain/postrm +++ b/debian/templates/temp.image.plain/postrm @@ -37,7 +37,7 @@ my $force_build_link = ''; # we shall not create a dangling link my $arch = "=A"; # should be same as dpkg --print-architecture my $kernel_arch = "=B"; my $ramdisk = "=MK"; # List of tools to create initial ram fs. -my $package_name = "=ST-image-$version"; +my $package_name = "linux-image-$version"; my $Loader = "NoLOADER"; # $Loader = "LILO" if $loader =~ /^lilo/io; @@ -209,7 +209,7 @@ sub image_magic { } # set the env var stem -$ENV{'STEM'} = "=ST"; +$ENV{'STEM'} = "linux"; sub exec_script { my $type = shift; diff --git a/debian/templates/temp.image.plain/preinst b/debian/templates/temp.image.plain/preinst index 1b9ddbc4b..f27ca268b 100755 --- a/debian/templates/temp.image.plain/preinst +++ b/debian/templates/temp.image.plain/preinst @@ -25,7 +25,7 @@ my $force_build_link = ''; # There is no harm in checking the link my $arch = "=A"; # should be same as dpkg --print-architecture my $kernel_arch = "=B"; my $ramdisk = "=MK"; # List of tools to create initial ram fs. -my $package_name = "=ST-image-$version"; +my $package_name = "linux-image-$version"; #known variables my $image_dest = "/"; @@ -135,7 +135,7 @@ if (-d "$modules_base/$version" && -l "$modules_base/$version/build" ) { } # set the env var stem -$ENV{'STEM'} = "=ST"; +$ENV{'STEM'} = "linux"; sub exec_script { my $type = shift; diff --git a/debian/templates/temp.image.plain/prerm b/debian/templates/temp.image.plain/prerm index 5db52c940..24f94af4d 100755 --- a/debian/templates/temp.image.plain/prerm +++ b/debian/templates/temp.image.plain/prerm @@ -24,7 +24,7 @@ my $relink_build_link = 'YES'; # There is no harm in checking the link my $force_build_link = ''; # There is no harm in checking the link my $arch = "=A"; # should be same as dpkg --print-architecture my $kernel_arch = "=B"; -my $package_name = "=ST-image-$version"; +my $package_name = "linux-image-$version"; my $Loader = "NoLOADER"; # $Loader = "LILO" if $loader =~ /^lilo/io; @@ -59,8 +59,8 @@ my $running = ''; my $WouldInvalidate = 0; if ($ARGV[0] && ($ARGV[0] =~ /remove/ || $ARGV[0] =~ /upgrade/)) { - if (-l "/usr/doc/=ST-image-$version") { - unlink "/usr/doc/=ST-image-$version"; + if (-l "/usr/doc/linux-image-$version") { + unlink "/usr/doc/linux-image-$version"; } } @@ -204,7 +204,7 @@ if (-f "/etc/$loader.conf") { #I know, could be a link, but .. die "Error retreiving answer for $question: $answer" if $ret; if ($answer =~ /^(y|t)/i) { - print STDERR "\nNot removing =ST-image-$version.\n"; + print STDERR "\nNot removing linux-image-$version.\n"; exit 1; #Operation not permitted } else { @@ -215,7 +215,7 @@ if (-f "/etc/$loader.conf") { #I know, could be a link, but .. # set the env var stem -$ENV{'STEM'} = "=ST"; +$ENV{'STEM'} = "linux"; sub exec_script { my $type = shift; diff --git a/debian/templates/temp.image.plain/templates b/debian/templates/temp.image.plain/templates index c3ec75ea2..10a273cdc 100644 --- a/debian/templates/temp.image.plain/templates +++ b/debian/templates/temp.image.plain/templates @@ -7,7 +7,7 @@ # Even minor modifications require translation updates and such # changes should be coordinated with translators and reviewers. -Template: =ST-image-=V/postinst/depmod-error-initrd-=V +Template: linux-image-=V/postinst/depmod-error-initrd-=V Type: boolean Default: false _Description: Abort installation after depmod error? @@ -39,7 +39,7 @@ _Description: Run the default boot loader? Please choose which should run: the default boot loader now, or the GRUB update later. -Template: =ST-image-=V/postinst/bootloader-test-error-=V +Template: linux-image-=V/postinst/bootloader-test-error-=V Type: note _Description: Error running the boot loader in test mode An error occurred while running the ${loader} boot loader in test mode. @@ -48,7 +48,7 @@ _Description: Error running the boot loader in test mode manually and re-run ${loader} to fix that issue and keep this system bootable. -Template: =ST-image-=V/postinst/bootloader-error-=V +Template: linux-image-=V/postinst/bootloader-error-=V Type: note _Description: Error running the boot loader An error occurred while running the ${loader} boot loader. @@ -57,7 +57,7 @@ _Description: Error running the boot loader manually and re-run ${loader} to fix that issue and keep this system bootable. -Template: =ST-image-=V/prerm/removing-running-kernel-=V +Template: linux-image-=V/prerm/removing-running-kernel-=V Type: boolean Default: true _Description: Abort kernel removal? @@ -72,12 +72,12 @@ _Description: Abort kernel removal? It is highly recommended to abort the kernel removal unless you are prepared to fix the system after removal. -Template: =ST-image-=V/prerm/would-invalidate-boot-loader-=V +Template: linux-image-=V/prerm/would-invalidate-boot-loader-=V Type: boolean Default: true _Description: Abort kernel removal? This system uses a valid /etc/${loader}.conf file that mentions - ${kimage}-=V. Removing =ST-image-=V will invalidate + ${kimage}-=V. Removing linux-image-=V will invalidate that file. . You will need to edit /etc/${loader}.conf or re-target @@ -87,7 +87,7 @@ _Description: Abort kernel removal? It is highly recommended to abort the kernel removal unless you are prepared to fix the system after removal. -Template: =ST-image-=V/postinst/missing-firmware-=V +Template: linux-image-=V/postinst/missing-firmware-=V Type: note #flag:translate!:3 _Description: Required firmware files may be missing From 967fd2f2801483d96fdf443823c87f4343c43c3a Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Fri, 18 Jun 2010 03:46:24 +0000 Subject: [PATCH 30/63] Get rid of the installation directory template variable (=D) This is always '/boot'. We can also stop manipulating this constant in the maintainer scripts. svn path=/dists/sid/linux-2.6/; revision=15885 --- debian/rules.real | 1 - debian/templates/temp.image.plain/postinst | 11 ++--------- debian/templates/temp.image.plain/postrm | 9 ++------- debian/templates/temp.image.plain/preinst | 7 +------ debian/templates/temp.image.plain/prerm | 7 +------ 5 files changed, 6 insertions(+), 29 deletions(-) diff --git a/debian/rules.real b/debian/rules.real index e34aac962..3cfc4580e 100644 --- a/debian/rules.real +++ b/debian/rules.real @@ -395,7 +395,6 @@ install-image_s390_$(FEATURESET)_$(FLAVOUR)_plain_templates: ARG_BOOTLOADER = zi install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_templates: for i in $(wildcard debian/templates/temp.image.plain/*); do \ sed \ - -e 's,=D,/boot,g' \ -e 's@=A@$(DEB_HOST_ARCH)@g' \ -e 's@=B@$(KERNEL_ARCH)@g' \ -e 's/=IB//g' \ diff --git a/debian/templates/temp.image.plain/postinst b/debian/templates/temp.image.plain/postinst index 6b6128d5a..fcc15fee5 100755 --- a/debian/templates/temp.image.plain/postinst +++ b/debian/templates/temp.image.plain/postinst @@ -18,7 +18,6 @@ my $do_boot_enable = "Yes"; # target machine defined my $do_bootloader = "Yes"; # target machine defined my $kimage = "=K"; # Should be empty, mostly my $loader = "=L"; # lilo, silo, quik, palo, vmelilo, nettrom, arcboot or delo -my $image_dir = "=D"; # where the image is located my $initrd = "=I"; # initrd kernel my $mkimage = "=M"; # command to generate the initrd image my $use_hard_links = ''; # hardlinks do not work across fs boundaries @@ -52,7 +51,7 @@ my $temp_file_name = "/var/log/$loader" . "_log.$$"; #known variables my $image_dest = "/"; -my $realimageloc = "/$image_dir/"; +my $realimageloc = "/boot/"; my $have_conffile = ""; my $modules_base = '/lib/modules'; @@ -66,12 +65,6 @@ my $DEBUG = 0; # Do some preliminary sanity checks here to ensure we actually have an # valid image dir chdir('/') or die "could not chdir to /:$!\n"; -die "Internal Error: ($image_dir) is not a directory!\n" - unless -d $image_dir; - -# remove multiple leading slashes; make sure there is at least one. -$realimageloc =~ s|^/*|/|o; -$realimageloc =~ s|/+|/|o; die "Internal Error: ($realimageloc) is not a directory!\n" unless -d $realimageloc; @@ -125,7 +118,7 @@ my $pattern = "=" . "I"; $initrd=~ s/^$pattern$//; if ($link_in_boot) { - $image_dest = "/$image_dir/"; # same as realimageloc + $image_dest = $realimageloc; } # Tack on at least one trainling / diff --git a/debian/templates/temp.image.plain/postrm b/debian/templates/temp.image.plain/postrm index a2eb84dcb..2c575b080 100755 --- a/debian/templates/temp.image.plain/postrm +++ b/debian/templates/temp.image.plain/postrm @@ -26,7 +26,6 @@ my $do_boot_enable = "Yes"; # target machine defined my $do_bootloader = "Yes"; # target machine defined my $kimage = "=K"; # Should be empty, mostly my $loader = "=L"; # lilo, silo, quik, palo, vmelilo, or nettrom -my $image_dir = "=D"; # where the image is located my $initrd = "=I"; # initrd kernel my $use_hard_links = ''; # hardlinks do not work across fs boundaries my $postrm_hook = ''; #Normally we do not @@ -56,13 +55,10 @@ my $temp_file_name = "/var/log/$loader" . "_log.$$"; #known variables my $image_dest = "/"; -my $realimageloc = "/$image_dir/"; +my $realimageloc = "/boot/"; my $CONF_LOC = '/etc/kernel-img.conf'; chdir('/') or die "could not chdir to /:$!\n"; -# remove multiple leading slashes; make sure there is at least one. -$realimageloc =~ s|^/*|/|o; -$realimageloc =~ s|/+|/|o; if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { @@ -102,8 +98,7 @@ if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { } if ($link_in_boot) { - $image_dest = "/$image_dir/"; - $image_dest =~ s|^/*|/|o; + $image_dest = $realimageloc; } $image_dest = "$image_dest/"; diff --git a/debian/templates/temp.image.plain/preinst b/debian/templates/temp.image.plain/preinst index f27ca268b..c0a77e5db 100755 --- a/debian/templates/temp.image.plain/preinst +++ b/debian/templates/temp.image.plain/preinst @@ -14,7 +14,6 @@ my $link_in_boot = "=IB"; # Should be empty, mostly my $no_symlink = "=S"; # Should be empty, mostly my $do_symlink = "Yes"; # target machine defined my $kimage = "=K"; # Should be empty, mostly -my $image_dir = "=D"; # where the image is located my $use_hard_links = ''; # hardlinks do not wirk across fs boundaries my $preinst_hook = ''; #Normally we do not my $minimal_swap = ''; # Do not swap symlinks @@ -29,7 +28,7 @@ my $package_name = "linux-image-$version"; #known variables my $image_dest = "/"; -my $realimageloc = "/$image_dir/"; +my $realimageloc = "/boot/"; my $CONF_LOC = '/etc/kernel-img.conf'; my $modules_base = '/lib/modules'; @@ -39,10 +38,6 @@ die "Pre inst Internal error. Aborting." unless $version; exit 0 if $ARGV[0] =~ /abort-upgrade/; exit 1 unless $ARGV[0] =~ /(install|upgrade)/; -# remove multiple leading slashes; make sure there is at least one. -$realimageloc =~ s|^/*|/|o; -$realimageloc =~ s|/+|/|o; - if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { if (open(CONF, "$CONF_LOC")) { while () { diff --git a/debian/templates/temp.image.plain/prerm b/debian/templates/temp.image.plain/prerm index 24f94af4d..2a053203b 100755 --- a/debian/templates/temp.image.plain/prerm +++ b/debian/templates/temp.image.plain/prerm @@ -15,7 +15,6 @@ my $do_boot_enable = "Yes"; # target machine defined my $do_bootloader = "Yes"; # target machine defined my $kimage = "=K"; # Should be empty, mostly my $loader = "=L"; # lilo, silo, quik, palo, vmelilo, or nettrom -my $image_dir = "=D"; # where the image is located my $use_hard_links = ''; # hardlinks do not wirk across fs boundaries my $prerm_hook = ''; #Normally we do not my $minimal_swap = ''; # Do not swap symlinks @@ -43,13 +42,9 @@ my $temp_file_name = "/var/log/$loader" . "_log.$$"; #known variables my $image_dest = "/"; -my $realimageloc = "/$image_dir/"; +my $realimageloc = "/boot/"; my $CONF_LOC = '/etc/kernel-img.conf'; -# remove multiple leading slashes; make sure there is at least one. -$realimageloc =~ s|^/*|/|o; -$realimageloc =~ s|/+|/|o; - # Variables used my $image=''; my $ret=0; From b511ef33680b83ae5a1091fb18efaf2ebb2d7b9e Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Fri, 18 Jun 2010 03:53:48 +0000 Subject: [PATCH 31/63] Get rid of some flag template variables (=IB, =M, =S) These are always empty now. svn path=/dists/sid/linux-2.6/; revision=15886 --- debian/rules.real | 3 --- debian/templates/temp.image.plain/postinst | 6 +++--- debian/templates/temp.image.plain/postrm | 4 ++-- debian/templates/temp.image.plain/preinst | 4 ++-- debian/templates/temp.image.plain/prerm | 4 ++-- 5 files changed, 9 insertions(+), 12 deletions(-) diff --git a/debian/rules.real b/debian/rules.real index 3cfc4580e..f7da5b13e 100644 --- a/debian/rules.real +++ b/debian/rules.real @@ -397,14 +397,11 @@ install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_templates: sed \ -e 's@=A@$(DEB_HOST_ARCH)@g' \ -e 's@=B@$(KERNEL_ARCH)@g' \ - -e 's/=IB//g' \ -e 's/=I/$(ARG_INITRD)/g' \ -e 's/=K/$(ARG_KIMAGE)/g' \ -e 's/=L/$(ARG_BOOTLOADER)/g' \ -e 's@=MK@$(INITRD_CMD)@g' \ -e 's/=V/$(REAL_VERSION)/g' \ - -e 's/=M//g' \ - -e 's/=S//g' \ $$i > debian/$(PACKAGE_NAME).$$(basename $$i); \ done mkdir -p debian/$(PACKAGE_NAME).po diff --git a/debian/templates/temp.image.plain/postinst b/debian/templates/temp.image.plain/postinst index fcc15fee5..aa36f9b94 100755 --- a/debian/templates/temp.image.plain/postinst +++ b/debian/templates/temp.image.plain/postinst @@ -11,15 +11,15 @@ $|=1; # Predefined values: my $version = "=V"; -my $link_in_boot = "=IB"; # Should be empty, mostly -my $no_symlink = "=S"; # Should be empty, mostly +my $link_in_boot = ""; +my $no_symlink = ""; my $do_symlink = "Yes"; # target machine defined my $do_boot_enable = "Yes"; # target machine defined my $do_bootloader = "Yes"; # target machine defined my $kimage = "=K"; # Should be empty, mostly my $loader = "=L"; # lilo, silo, quik, palo, vmelilo, nettrom, arcboot or delo my $initrd = "=I"; # initrd kernel -my $mkimage = "=M"; # command to generate the initrd image +my $mkimage = ""; # command to generate the initrd image my $use_hard_links = ''; # hardlinks do not work across fs boundaries my $postinst_hook = ''; #Normally we do not my $minimal_swap = ''; # Do not swap symlinks diff --git a/debian/templates/temp.image.plain/postrm b/debian/templates/temp.image.plain/postrm index 2c575b080..4acd90cc7 100755 --- a/debian/templates/temp.image.plain/postrm +++ b/debian/templates/temp.image.plain/postrm @@ -19,8 +19,8 @@ if ( ! $@ ) $|=1; # Predefined values: my $version = "=V"; -my $link_in_boot = "=IB"; # Should be empty, mostly -my $no_symlink = "=S"; # Should be empty, mostly +my $link_in_boot = ""; +my $no_symlink = ""; my $do_symlink = "Yes"; # target machine defined my $do_boot_enable = "Yes"; # target machine defined my $do_bootloader = "Yes"; # target machine defined diff --git a/debian/templates/temp.image.plain/preinst b/debian/templates/temp.image.plain/preinst index c0a77e5db..f609776f5 100755 --- a/debian/templates/temp.image.plain/preinst +++ b/debian/templates/temp.image.plain/preinst @@ -10,8 +10,8 @@ $|=1; # Predefined values: my $version = "=V"; -my $link_in_boot = "=IB"; # Should be empty, mostly -my $no_symlink = "=S"; # Should be empty, mostly +my $link_in_boot = ""; +my $no_symlink = ""; my $do_symlink = "Yes"; # target machine defined my $kimage = "=K"; # Should be empty, mostly my $use_hard_links = ''; # hardlinks do not wirk across fs boundaries diff --git a/debian/templates/temp.image.plain/prerm b/debian/templates/temp.image.plain/prerm index 2a053203b..d0ca3091f 100755 --- a/debian/templates/temp.image.plain/prerm +++ b/debian/templates/temp.image.plain/prerm @@ -8,8 +8,8 @@ my $capb=capb("backup"); $|=1; # Predefined values: my $version = "=V"; -my $link_in_boot = "=IB"; # Should be empty, mostly -my $no_symlink = "=S"; # Should be empty, mostly +my $link_in_boot = ""; +my $no_symlink = ""; my $do_symlinks = "Yes"; # target machine defined my $do_boot_enable = "Yes"; # target machine defined my $do_bootloader = "Yes"; # target machine defined From cd81f49164de1766aea1c85fcb485487d7d88d9e Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Fri, 18 Jun 2010 04:30:46 +0000 Subject: [PATCH 32/63] Update debconf template translations Update metadata and source strings with debconf-updatepo. Fill in missing Language fields. Delete non-translations of variable references that are now marked not-for-translation. svn path=/dists/sid/linux-2.6/; revision=15887 --- debian/po/cs.po | 11 +++-------- debian/po/da.po | 15 ++++----------- debian/po/de.po | 13 ++++--------- debian/po/es.po | 10 ++-------- debian/po/et.po | 11 +++-------- debian/po/fr.po | 11 +++-------- debian/po/ja.po | 11 +++-------- debian/po/pt.po | 28 +++------------------------- debian/po/ru.po | 11 +++-------- debian/po/sv.po | 11 +++-------- debian/po/templates.pot | 11 +++-------- debian/po/vi.po | 12 +++--------- 12 files changed, 37 insertions(+), 118 deletions(-) diff --git a/debian/po/cs.po b/debian/po/cs.po index 9a12662d0..e22f6aff6 100644 --- a/debian/po/cs.po +++ b/debian/po/cs.po @@ -6,11 +6,12 @@ msgid "" msgstr "" "Project-Id-Version: linux-2.6\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-23 22:14+0200\n" +"Report-Msgid-Bugs-To: linux-2.6@packages.debian.org\n" +"POT-Creation-Date: 2010-06-18 05:20+0100\n" "PO-Revision-Date: 2010-05-12 18:02+0200\n" "Last-Translator: Michal Simunek \n" "Language-Team: Czech \n" +"Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -339,12 +340,6 @@ msgstr "" "${version}. V nové verzi mohou některé ovladače používané v tomto systému, " "vyžadovat dodatečné soubory s firmwarem:" -#. Type: note -#. Description -#: ../templates/temp.image.plain/templates:8001 -msgid "${missing}" -msgstr "${missing}" - #. Type: note #. Description #: ../templates/temp.image.plain/templates:8001 diff --git a/debian/po/da.po b/debian/po/da.po index a496ab7a6..c95dba9ce 100644 --- a/debian/po/da.po +++ b/debian/po/da.po @@ -6,11 +6,12 @@ msgid "" msgstr "" "Project-Id-Version: linux-2.6\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-23 22:14+0200\n" -"PO-Revision-Date: 2010-05-13 17:30+01:00\n" +"Report-Msgid-Bugs-To: linux-2.6@packages.debian.org\n" +"POT-Creation-Date: 2010-06-18 05:20+0100\n" +"PO-Revision-Date: 2010-06-18 05:26+0100\n" "Last-Translator: Joe Hansen \n" "Language-Team: Danish \n" +"Language: da\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -348,12 +349,6 @@ msgstr "" "${version}. I den nye version kræver nogle af driverne på dette system måske " "yderligere firmwarefiler:" -#. Type: note -#. Description -#: ../templates/temp.image.plain/templates:8001 -msgid "${missing}" -msgstr "${missing}" - #. Type: note #. Description #: ../templates/temp.image.plain/templates:8001 @@ -367,5 +362,3 @@ msgstr "" "ikke overholder Debian Free Softwares retningslinjer. Du skal måske " "rekonfigurere pakkehåndteringen for at inkludere contrib og det ikke " "frie afsnit af Debianarkivet, før du kan installere disse firmwarefiler." - - diff --git a/debian/po/de.po b/debian/po/de.po index 45e15565e..5d0e1bc50 100644 --- a/debian/po/de.po +++ b/debian/po/de.po @@ -6,11 +6,12 @@ msgid "" msgstr "" "Project-Id-Version: linux-2.6 2.6.32-11\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-23 22:14+0200\n" -"PO-Revision-Date: 2010-05-08 11:40+0200\n" +"Report-Msgid-Bugs-To: linux-2.6@packages.debian.org\n" +"POT-Creation-Date: 2010-06-18 05:20+0100\n" +"PO-Revision-Date: 2010-06-18 05:27+0100\n" "Last-Translator: Holger Wansing \n" "Language-Team: Debian German \n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -360,12 +361,6 @@ msgstr "" "gerade Linux ${version}. In der neuen Version könnten einige Treiber, die " "auf diesem System verwendet werden, zusätzliche Firmware-Dateien benötigen:" -#. Type: note -#. Description -#: ../templates/temp.image.plain/templates:8001 -msgid "${missing}" -msgstr "${missing}" - #. Type: note #. Description #: ../templates/temp.image.plain/templates:8001 diff --git a/debian/po/es.po b/debian/po/es.po index 15f414708..206d37fb7 100644 --- a/debian/po/es.po +++ b/debian/po/es.po @@ -28,8 +28,8 @@ msgid "" msgstr "" "Project-Id-Version: linux-2.6 2.6.32+5\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-23 22:14+0200\n" +"Report-Msgid-Bugs-To: linux-2.6@packages.debian.org\n" +"POT-Creation-Date: 2010-06-18 05:20+0100\n" "PO-Revision-Date: 2010-06-06 19:04+0200\n" "Last-Translator: Omar Campagne \n" "Language-Team: Debian l10n Spanish \n" @@ -388,12 +388,6 @@ msgstr "" "está instalando la versión ${version}. Puede que los controladores incluidos " "en la nueva versión requieran ficheros de firmware adicionales." -#. Type: note -#. Description -#: ../templates/temp.image.plain/templates:8001 -msgid "${missing}" -msgstr "${missing}" - #. Type: note #. Description #: ../templates/temp.image.plain/templates:8001 diff --git a/debian/po/et.po b/debian/po/et.po index 3c4a5f5ca..8b6e6da29 100644 --- a/debian/po/et.po +++ b/debian/po/et.po @@ -8,11 +8,12 @@ msgid "" msgstr "" "Project-Id-Version: linux-2.6 2.6.32-11\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-23 22:14+0200\n" +"Report-Msgid-Bugs-To: linux-2.6@packages.debian.org\n" +"POT-Creation-Date: 2010-06-18 05:20+0100\n" "PO-Revision-Date: 2010-04-24 14:20+0300\n" "Last-Translator: mihkel \n" "Language-Team: Estonian \n" +"Language: et\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -346,12 +347,6 @@ msgstr "" "paigaldad versiooni ${version}. Uues versionis võivad mõned ajurid vajada " "lisaks püsivara faile:" -#. Type: note -#. Description -#: ../templates/temp.image.plain/templates:8001 -msgid "${missing}" -msgstr "${missing}" - #. Type: note #. Description #: ../templates/temp.image.plain/templates:8001 diff --git a/debian/po/fr.po b/debian/po/fr.po index 333123f33..db3638641 100644 --- a/debian/po/fr.po +++ b/debian/po/fr.po @@ -6,11 +6,12 @@ msgid "" msgstr "" "Project-Id-Version: linux-2.6 2.6.32-11\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-23 22:14+0200\n" +"Report-Msgid-Bugs-To: linux-2.6@packages.debian.org\n" +"POT-Creation-Date: 2010-06-18 05:20+0100\n" "PO-Revision-Date: 2010-04-30 05:35-0400\n" "Last-Translator: David Prévot \n" "Language-Team: French \n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -368,12 +369,6 @@ msgstr "" "va être installé. Dans la nouvelle version, certains pilotes utilisés par ce " "système peuvent avoir besoin des microprogrammes additionnels :" -#. Type: note -#. Description -#: ../templates/temp.image.plain/templates:8001 -msgid "${missing}" -msgstr "${missing}" - #. Type: note #. Description #: ../templates/temp.image.plain/templates:8001 diff --git a/debian/po/ja.po b/debian/po/ja.po index 14c07de29..e35f884c1 100644 --- a/debian/po/ja.po +++ b/debian/po/ja.po @@ -6,11 +6,12 @@ msgid "" msgstr "" "Project-Id-Version: linux-2.6\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-23 22:14+0200\n" +"Report-Msgid-Bugs-To: linux-2.6@packages.debian.org\n" +"POT-Creation-Date: 2010-06-18 05:20+0100\n" "PO-Revision-Date: 2010-05-09 19:10+0900\n" "Last-Translator: Kenshi Muto \n" "Language-Team: Japanese \n" +"Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -348,12 +349,6 @@ msgstr "" "をインストールしようとしています。新しいバージョンでは、このシステムで使われ" "るドライバのいくつかは追加のファームウェアファイルを必要とするかもしれません:" -#. Type: note -#. Description -#: ../templates/temp.image.plain/templates:8001 -msgid "${missing}" -msgstr "${missing}" - #. Type: note #. Description #: ../templates/temp.image.plain/templates:8001 diff --git a/debian/po/pt.po b/debian/po/pt.po index 913e0f14d..f9a6ae868 100644 --- a/debian/po/pt.po +++ b/debian/po/pt.po @@ -6,11 +6,12 @@ msgid "" msgstr "" "Project-Id-Version: linux-2.6 2.6.32-11\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-23 22:14+0200\n" +"Report-Msgid-Bugs-To: linux-2.6@packages.debian.org\n" +"POT-Creation-Date: 2010-06-18 05:20+0100\n" "PO-Revision-Date: 2010-04-23 22:12+0100\n" "Last-Translator: Américo Monteiro \n" "Language-Team: Portuguese \n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -356,12 +357,6 @@ msgstr "" "instalar Linux ${version}. Na nova versão algumas das drivers usadas neste " "sistema podem necessitar dos ficheiros de firmware adicionais:" -#. Type: note -#. Description -#: ../templates/temp.image.plain/templates:8001 -msgid "${missing}" -msgstr "${missing}" - #. Type: note #. Description #: ../templates/temp.image.plain/templates:8001 @@ -375,20 +370,3 @@ msgstr "" "não respeitam as Guidelines da Debian Free Software. Você pode precisar de " "reconfigurar o gestor de pacotes para incluir as secções contrib e non-free " "do arquivo de pacotes antes de poder instalar estes ficheiros de firmware." - -#~ msgid "${relabel}" -#~ msgstr "${relabel}" - -#~ msgid "${files}" -#~ msgstr "${files}" - -#~ msgid "${id_map}" -#~ msgstr "${id_map}" - -#~ msgid "Please check these configuration files before rebooting" -#~ msgstr "" -#~ "Por favor verifique estes ficheiros de configuração antes de reiniciar o " -#~ "sistema" - -#~ msgid "${unconverted}" -#~ msgstr "${unconverted}" diff --git a/debian/po/ru.po b/debian/po/ru.po index 034c94699..2c8afe06c 100644 --- a/debian/po/ru.po +++ b/debian/po/ru.po @@ -6,11 +6,12 @@ msgid "" msgstr "" "Project-Id-Version: linux-2.6 new\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-23 22:14+0200\n" +"Report-Msgid-Bugs-To: linux-2.6@packages.debian.org\n" +"POT-Creation-Date: 2010-06-18 05:20+0100\n" "PO-Revision-Date: 2010-04-24 10:31+0400\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -351,12 +352,6 @@ msgstr "" "установка Linux ${version}. В новой версии некоторым драйверам, используемым " "в данной системе, могут потребоваться дополнительные файлы микропрограмм:" -#. Type: note -#. Description -#: ../templates/temp.image.plain/templates:8001 -msgid "${missing}" -msgstr "${missing}" - #. Type: note #. Description #: ../templates/temp.image.plain/templates:8001 diff --git a/debian/po/sv.po b/debian/po/sv.po index f59164f66..1b5b35a09 100644 --- a/debian/po/sv.po +++ b/debian/po/sv.po @@ -6,11 +6,12 @@ msgid "" msgstr "" "Project-Id-Version: linux-2.6\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-23 22:14+0200\n" +"Report-Msgid-Bugs-To: linux-2.6@packages.debian.org\n" +"POT-Creation-Date: 2010-06-18 05:20+0100\n" "PO-Revision-Date: 2010-04-26 23:37+0100\n" "Last-Translator: Martin Bagge \n" "Language-Team: Swedish \n" +"Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -349,12 +350,6 @@ msgstr "" "${version}. I den nya versionen kan vissa drivrutiner behöva ytterligare " "firmware-filer:" -#. Type: note -#. Description -#: ../templates/temp.image.plain/templates:8001 -msgid "${missing}" -msgstr "${missing}" - #. Type: note #. Description #: ../templates/temp.image.plain/templates:8001 diff --git a/debian/po/templates.pot b/debian/po/templates.pot index 5f09d21d3..f7f22a54f 100644 --- a/debian/po/templates.pot +++ b/debian/po/templates.pot @@ -7,11 +7,12 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-23 22:14+0200\n" +"Report-Msgid-Bugs-To: linux-2.6@packages.debian.org\n" +"POT-Creation-Date: 2010-06-18 05:20+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" @@ -297,12 +298,6 @@ msgid "" "this system may require additional firmware files:" msgstr "" -#. Type: note -#. Description -#: ../templates/temp.image.plain/templates:8001 -msgid "${missing}" -msgstr "" - #. Type: note #. Description #: ../templates/temp.image.plain/templates:8001 diff --git a/debian/po/vi.po b/debian/po/vi.po index 12622db61..c214d172e 100644 --- a/debian/po/vi.po +++ b/debian/po/vi.po @@ -5,11 +5,12 @@ msgid "" msgstr "" "Project-Id-Version: linux-2.6\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-23 22:14+0200\n" +"Report-Msgid-Bugs-To: linux-2.6@packages.debian.org\n" +"POT-Creation-Date: 2010-06-18 05:20+0100\n" "PO-Revision-Date: 2010-04-26 21:53+0930\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" +"Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -346,13 +347,6 @@ msgstr "" "Linux ${version}. Trong phiên bản mới, một số trình điều khiển dùng trên hệ " "thống này có thể yêu cầu tập tin phần vững bổ sung:" -# Biến: đừng dịch -#. Type: note -#. Description -#: ../templates/temp.image.plain/templates:8001 -msgid "${missing}" -msgstr "${missing}" - #. Type: note #. Description #: ../templates/temp.image.plain/templates:8001 From 58501618829fbee5834fd7b3f3c5d29da1a89bb0 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 19 Jun 2010 00:27:37 +0000 Subject: [PATCH 33/63] Get rid of Debian architecture template variable (=A) This is only used to initialise a variable which is itself not used. svn path=/dists/sid/linux-2.6/; revision=15888 --- debian/rules.real | 1 - debian/templates/temp.image.plain/postinst | 1 - debian/templates/temp.image.plain/postrm | 1 - debian/templates/temp.image.plain/preinst | 1 - debian/templates/temp.image.plain/prerm | 1 - 5 files changed, 5 deletions(-) diff --git a/debian/rules.real b/debian/rules.real index f7da5b13e..956967f66 100644 --- a/debian/rules.real +++ b/debian/rules.real @@ -395,7 +395,6 @@ install-image_s390_$(FEATURESET)_$(FLAVOUR)_plain_templates: ARG_BOOTLOADER = zi install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_templates: for i in $(wildcard debian/templates/temp.image.plain/*); do \ sed \ - -e 's@=A@$(DEB_HOST_ARCH)@g' \ -e 's@=B@$(KERNEL_ARCH)@g' \ -e 's/=I/$(ARG_INITRD)/g' \ -e 's/=K/$(ARG_KIMAGE)/g' \ diff --git a/debian/templates/temp.image.plain/postinst b/debian/templates/temp.image.plain/postinst index aa36f9b94..abcab7f5d 100755 --- a/debian/templates/temp.image.plain/postinst +++ b/debian/templates/temp.image.plain/postinst @@ -27,7 +27,6 @@ my $ignore_depmod_err = ''; # normally we do not my $relink_src_link = 'YES'; # There is no harm in checking the link my $relink_build_link = 'YES'; # There is no harm in checking the link my $force_build_link = ''; # There is no harm in checking the link -my $arch = "=A"; # should be same as dpkg --print-architecture my $kernel_arch = "=B"; my $ramdisk = "=MK"; # List of tools to create initial ram fs. my $package_name = "linux-image-$version"; diff --git a/debian/templates/temp.image.plain/postrm b/debian/templates/temp.image.plain/postrm index 4acd90cc7..72d7aa604 100755 --- a/debian/templates/temp.image.plain/postrm +++ b/debian/templates/temp.image.plain/postrm @@ -33,7 +33,6 @@ my $minimal_swap = ''; # Do not swap symlinks my $ignore_depmod_err = ''; # normally we do not my $relink_build_link = 'YES'; # There is no harm in checking the link my $force_build_link = ''; # we shall not create a dangling link -my $arch = "=A"; # should be same as dpkg --print-architecture my $kernel_arch = "=B"; my $ramdisk = "=MK"; # List of tools to create initial ram fs. my $package_name = "linux-image-$version"; diff --git a/debian/templates/temp.image.plain/preinst b/debian/templates/temp.image.plain/preinst index f609776f5..7862e6bd4 100755 --- a/debian/templates/temp.image.plain/preinst +++ b/debian/templates/temp.image.plain/preinst @@ -21,7 +21,6 @@ my $ignore_depmod_err = ''; # normally we do not my $relink_src_link = 'YES'; # There is no harm in checking the link my $relink_build_link = 'YES'; # There is no harm in checking the link my $force_build_link = ''; # There is no harm in checking the link -my $arch = "=A"; # should be same as dpkg --print-architecture my $kernel_arch = "=B"; my $ramdisk = "=MK"; # List of tools to create initial ram fs. my $package_name = "linux-image-$version"; diff --git a/debian/templates/temp.image.plain/prerm b/debian/templates/temp.image.plain/prerm index d0ca3091f..e52a23820 100755 --- a/debian/templates/temp.image.plain/prerm +++ b/debian/templates/temp.image.plain/prerm @@ -21,7 +21,6 @@ my $minimal_swap = ''; # Do not swap symlinks my $ignore_depmod_err = ''; # normally we do not my $relink_build_link = 'YES'; # There is no harm in checking the link my $force_build_link = ''; # There is no harm in checking the link -my $arch = "=A"; # should be same as dpkg --print-architecture my $kernel_arch = "=B"; my $package_name = "linux-image-$version"; From 38a95ae7841b9e9e23fcb012762f3314ee9687b9 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 19 Jun 2010 00:32:23 +0000 Subject: [PATCH 34/63] Remove obsolete check for kernel-package bug svn path=/dists/sid/linux-2.6/; revision=15889 --- debian/templates/temp.image.plain/postinst | 6 ------ 1 file changed, 6 deletions(-) diff --git a/debian/templates/temp.image.plain/postinst b/debian/templates/temp.image.plain/postinst index abcab7f5d..10a816d70 100755 --- a/debian/templates/temp.image.plain/postinst +++ b/debian/templates/temp.image.plain/postinst @@ -110,12 +110,6 @@ if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { } -# For some versions of kernel-package, we had this warning in the -# postinst, but the rules did not really interpolate the value in. -# Here is a sanity check. -my $pattern = "=" . "I"; -$initrd=~ s/^$pattern$//; - if ($link_in_boot) { $image_dest = $realimageloc; } From 8203cf8518800eae46516c281a61aec1a78f1a05 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 19 Jun 2010 00:41:27 +0000 Subject: [PATCH 35/63] Always set kernel image basename template variable (=K) Instead of setting an empty value, then fixing that to 'vmlinuz', set the correct value to start with and remove the install-time fixups. svn path=/dists/sid/linux-2.6/; revision=15890 --- debian/rules.real | 1 + debian/templates/temp.image.plain/postinst | 9 +-------- debian/templates/temp.image.plain/postrm | 9 +-------- debian/templates/temp.image.plain/preinst | 2 +- debian/templates/temp.image.plain/prerm | 9 +-------- 5 files changed, 5 insertions(+), 25 deletions(-) diff --git a/debian/rules.real b/debian/rules.real index 956967f66..11e85298a 100644 --- a/debian/rules.real +++ b/debian/rules.real @@ -382,6 +382,7 @@ ifneq ($(INITRAMFS),False) install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_templates: ARG_INITRD = YES endif +ARG_KIMAGE = vmlinuz install-image_hppa_$(FEATURESET)_$(FLAVOUR)_plain_templates \ install-image_mips_$(FEATURESET)_$(FLAVOUR)_plain_templates \ install-image_mipsel_$(FEATURESET)_$(FLAVOUR)_plain_templates \ diff --git a/debian/templates/temp.image.plain/postinst b/debian/templates/temp.image.plain/postinst index 10a816d70..019b8a3e0 100755 --- a/debian/templates/temp.image.plain/postinst +++ b/debian/templates/temp.image.plain/postinst @@ -16,7 +16,7 @@ my $no_symlink = ""; my $do_symlink = "Yes"; # target machine defined my $do_boot_enable = "Yes"; # target machine defined my $do_bootloader = "Yes"; # target machine defined -my $kimage = "=K"; # Should be empty, mostly +my $kimage = "=K"; my $loader = "=L"; # lilo, silo, quik, palo, vmelilo, nettrom, arcboot or delo my $initrd = "=I"; # initrd kernel my $mkimage = ""; # command to generate the initrd image @@ -135,13 +135,6 @@ if ($do_symlink && $no_symlink) { # most of our work is done in $image_dest (nominally /) chdir("$image_dest") or die "could not chdir to $image_dest:$!\n"; -# Paranoid check to make sure that the correct value is put in there -if (! $kimage) { $kimage = "vmlinuz"; } # Hmm. empty -elsif ($kimage =~ m/^b?zImage$/o) { $kimage = "vmlinuz"; } # these produce vmlinuz -elsif ($kimage =~ m/^[iI]mage$/o) { my $nop = $kimage; } -elsif ($kimage =~ m/^vmlinux$/o) { my $nop = $kimage; } -else { $kimage = "vmlinuz"; } # Default - $ENV{KERNEL_ARCH}=$kernel_arch if $kernel_arch; diff --git a/debian/templates/temp.image.plain/postrm b/debian/templates/temp.image.plain/postrm index 72d7aa604..0b55b5d9b 100755 --- a/debian/templates/temp.image.plain/postrm +++ b/debian/templates/temp.image.plain/postrm @@ -24,7 +24,7 @@ my $no_symlink = ""; my $do_symlink = "Yes"; # target machine defined my $do_boot_enable = "Yes"; # target machine defined my $do_bootloader = "Yes"; # target machine defined -my $kimage = "=K"; # Should be empty, mostly +my $kimage = "=K"; my $loader = "=L"; # lilo, silo, quik, palo, vmelilo, or nettrom my $initrd = "=I"; # initrd kernel my $use_hard_links = ''; # hardlinks do not work across fs boundaries @@ -108,13 +108,6 @@ if (-d "$image_dest") { chdir("$image_dest") or die "could not chdir to $image_dest:$!\n"; } -# Paranoid check to make sure that the correct value is put in there -if (! $kimage) {$kimage = "vmlinuz"} # Hmm. empty -elsif ($kimage =~ m/^b?zImage$/o) {$kimage = "vmlinuz"} # these produce vmlinuz -elsif ($kimage =~ m/^[iI]mage$/o) { my $nop = $kimage;} -elsif ($kimage =~ m/^vmlinux$/o) { my $nop = $kimage;} -else {$kimage = "vmlinuz"} # default - $ENV{KERNEL_ARCH}=$kernel_arch if $kernel_arch; diff --git a/debian/templates/temp.image.plain/preinst b/debian/templates/temp.image.plain/preinst index 7862e6bd4..49bd58142 100755 --- a/debian/templates/temp.image.plain/preinst +++ b/debian/templates/temp.image.plain/preinst @@ -13,7 +13,7 @@ my $version = "=V"; my $link_in_boot = ""; my $no_symlink = ""; my $do_symlink = "Yes"; # target machine defined -my $kimage = "=K"; # Should be empty, mostly +my $kimage = "=K"; my $use_hard_links = ''; # hardlinks do not wirk across fs boundaries my $preinst_hook = ''; #Normally we do not my $minimal_swap = ''; # Do not swap symlinks diff --git a/debian/templates/temp.image.plain/prerm b/debian/templates/temp.image.plain/prerm index e52a23820..3931c93f3 100755 --- a/debian/templates/temp.image.plain/prerm +++ b/debian/templates/temp.image.plain/prerm @@ -13,7 +13,7 @@ my $no_symlink = ""; my $do_symlinks = "Yes"; # target machine defined my $do_boot_enable = "Yes"; # target machine defined my $do_bootloader = "Yes"; # target machine defined -my $kimage = "=K"; # Should be empty, mostly +my $kimage = "=K"; my $loader = "=L"; # lilo, silo, quik, palo, vmelilo, or nettrom my $use_hard_links = ''; # hardlinks do not wirk across fs boundaries my $prerm_hook = ''; #Normally we do not @@ -61,13 +61,6 @@ if ($ARGV[0] && ($ARGV[0] =~ /remove/ || $ARGV[0] =~ /upgrade/)) { # Ignore all invocations uxcept when called on to remove exit 0 unless ($ARGV[0] && $ARGV[0] =~ /remove/) ; -# Paranoid check to make sure that the correct value is put in there -if (! $kimage) { $kimage = "vmlinuz";} # Hmm. empty -elsif ($kimage =~ m/^b?zImage$/o) { $kimage = "vmlinuz";} # these produce vmlinuz -elsif ($kimage =~ m/^[iI]mage$/o) { my $nop = $kimage; } -elsif ($kimage =~ m/^vmlinux$/o) { my $nop = $kimage; } -else { $kimage = "vmlinuz";} # Default - if (-r "$CONF_LOC" && -f "$CONF_LOC" ) { if (open(CONF, "$CONF_LOC")) { while () { From 55bb1e0e05b585610df779fcaf49ac3684c2826f Mon Sep 17 00:00:00 2001 From: Martin Michlmayr Date: Sat, 19 Jun 2010 10:49:23 +0000 Subject: [PATCH 36/63] m25p80: Add support for Macronix 25L8005. svn path=/dists/sid/linux-2.6/; revision=15891 --- debian/changelog | 1 + .../all/m25p80-add-support-mx25l8005.patch | 19 +++++++++++++++++++ debian/patches/series/16 | 1 + 3 files changed, 21 insertions(+) create mode 100644 debian/patches/features/all/m25p80-add-support-mx25l8005.patch diff --git a/debian/changelog b/debian/changelog index 0d380dc54..2cfadb2e9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -47,6 +47,7 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low * Add support for OpenRD-Ultimate. * QNAP TS-11x/TS-21x: Add MPP36 (RAM) and MPP44 (board ID). * Add support for the HP t5325 Thin Client. + * m25p80: Add support for Macronix 25L8005. [ Bastian Blank ] * Disable mISDN support for NETJet cards. The driver binds a generic PCI diff --git a/debian/patches/features/all/m25p80-add-support-mx25l8005.patch b/debian/patches/features/all/m25p80-add-support-mx25l8005.patch new file mode 100644 index 000000000..f0db3eee8 --- /dev/null +++ b/debian/patches/features/all/m25p80-add-support-mx25l8005.patch @@ -0,0 +1,19 @@ +mtd: m25p80: Add support for Macronix 25L8005 + +Add support for Macronix 25L8005. Tested on a HP t5325 Thin Client. + +Signed-off-by: Martin Michlmayr + +[backported to 2.6.32 -- tbm] + +--- a/drivers/mtd/devices/m25p80.c 2010-06-19 10:37:08.000000000 +0000 ++++ b/drivers/mtd/devices/m25p80.c 2010-06-19 10:37:54.000000000 +0000 +@@ -621,6 +621,7 @@ + { "at26df321", 0x1f4701, 0, 64 * 1024, 64, SECT_4K, }, + + /* Macronix */ ++ { "mx25l8005", 0xc22014, 0, 64 * 1024, 16, }, + { "mx25l3205d", 0xc22016, 0, 64 * 1024, 64, }, + { "mx25l6405d", 0xc22017, 0, 64 * 1024, 128, }, + { "mx25l12805d", 0xc22018, 0, 64 * 1024, 256, }, + diff --git a/debian/patches/series/16 b/debian/patches/series/16 index adfd4d985..8e39d3066 100644 --- a/debian/patches/series/16 +++ b/debian/patches/series/16 @@ -135,6 +135,7 @@ + features/arm/ts219-mpp36.patch + features/arm/ts219-mpp44.patch + features/arm/hp-t5325.patch ++ features/all/m25p80-add-support-mx25l8005.patch + bugfix/mips/mips-Set-io_map_base-for-several-PCI-bridges-lacking.patch - bugfix/all/vlan-macvlan-propagate-transmission-state-to-upper-layer.patch + features/sh4/sh-optimize-runtime-disabling-of-trapped-IO.patch From 17bd26784493a636c1d7c68f5515cc3f1c41c3be Mon Sep 17 00:00:00 2001 From: Martin Michlmayr Date: Sat, 19 Jun 2010 17:49:48 +0000 Subject: [PATCH 37/63] Add framebuffer driver for XGI chipsets. svn path=/dists/sid/linux-2.6/; revision=15892 --- debian/changelog | 2 + debian/config/armel/config.kirkwood | 6 + .../patches/features/all/xgifb-driver.patch | 28673 ++++++++++++++++ debian/patches/series/16 | 1 + 4 files changed, 28682 insertions(+) create mode 100644 debian/patches/features/all/xgifb-driver.patch diff --git a/debian/changelog b/debian/changelog index 2cfadb2e9..166a6a13f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -48,6 +48,8 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low * QNAP TS-11x/TS-21x: Add MPP36 (RAM) and MPP44 (board ID). * Add support for the HP t5325 Thin Client. * m25p80: Add support for Macronix 25L8005. + * Add framebuffer driver for XGI chipsets. + * [armel/kirkwood] Enable FB_XGI and FRAMEBUFFER_CONSOLE. [ Bastian Blank ] * Disable mISDN support for NETJet cards. The driver binds a generic PCI diff --git a/debian/config/armel/config.kirkwood b/debian/config/armel/config.kirkwood index b7f159e4e..6451a206d 100644 --- a/debian/config/armel/config.kirkwood +++ b/debian/config/armel/config.kirkwood @@ -541,6 +541,7 @@ CONFIG_FB=m ## file: drivers/video/console/Kconfig ## # CONFIG_VGA_CONSOLE is not set +CONFIG_FRAMEBUFFER_CONSOLE=m ## ## file: drivers/watchdog/Kconfig @@ -626,3 +627,8 @@ CONFIG_WAN_ROUTER=m ## CONFIG_X25=m +## +### file: drivers/staging/xgifb/Kconfig +## +CONFIG_FB_XGI=m + diff --git a/debian/patches/features/all/xgifb-driver.patch b/debian/patches/features/all/xgifb-driver.patch new file mode 100644 index 000000000..b4e7dfef8 --- /dev/null +++ b/debian/patches/features/all/xgifb-driver.patch @@ -0,0 +1,28673 @@ +From: apatard@mandriva.com +Date: Wed, 19 May 2010 08:44:14 +0000 (+0200) +Subject: staging: Add framebuffer driver for XGI chipsets +X-Git-Tag: v2.6.35-rc2~14^2~26 +X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=d7636e0b0769e0f4f437ff33168d723f86e7c080 + +staging: Add framebuffer driver for XGI chipsets + +This driver handles XG20, XG21, XG40, XG42 chipsets from XGI. They're +also known as Z7,Z9,Z11 chipsets. It's based on the SiS fb driver but +has been heavily modified by XGI to support their newer chipsets. + + +Signed-off-by: Arnaud Patard +Signed-off-by: Greg Kroah-Hartman + +[adapted Kconfig and Makefile --tbm] + +--- + +diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig +index b5c3b30..2a1a7c2 100644 +--- a/drivers/staging/Kconfig ++++ b/drivers/staging/Kconfig +@@ -129,5 +129,7 @@ + + source "drivers/staging/speakup/Kconfig" + ++source "drivers/staging/xgifb/Kconfig" ++ + endif # !STAGING_EXCLUDE_BUILD + endif # STAGING +diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile +index e330dd5..4a02c0d 100644 +--- a/drivers/staging/Makefile ++++ b/drivers/staging/Makefile +@@ -45,3 +45,4 @@ + obj-$(CONFIG_IIO) += iio/ + obj-$(CONFIG_RAMZSWAP) += ramzswap/ + obj-$(CONFIG_SPEAKUP) += speakup/ ++obj-$(CONFIG_FB_XGI) += xgifb/ +diff --git a/drivers/staging/xgifb/Kconfig b/drivers/staging/xgifb/Kconfig +new file mode 100644 +index 0000000..bb0ca59 +--- /dev/null ++++ b/drivers/staging/xgifb/Kconfig +@@ -0,0 +1,11 @@ ++config FB_XGI ++ tristate "XGI display support" ++ depends on FB && PCI ++ select FB_CFB_FILLRECT ++ select FB_CFB_COPYAREA ++ select FB_CFB_IMAGEBLIT ++ help ++ This driver supports notebooks with XGI Z7,Z9,Z11 PCI chips. ++ Say Y if you have such a graphics card. ++ To compile this driver as a module, choose M here: the ++ module will be called xgifb.ko +diff --git a/drivers/staging/xgifb/Makefile b/drivers/staging/xgifb/Makefile +new file mode 100644 +index 0000000..2a31770 +--- /dev/null ++++ b/drivers/staging/xgifb/Makefile +@@ -0,0 +1,4 @@ ++obj-$(CONFIG_FB_XGI) += xgifb.o ++ ++xgifb-objs := XGI_main_26.o XGI_accel.o vb_init.o vb_setmode.o vb_util.o vb_ext.o ++ +diff --git a/drivers/staging/xgifb/TODO b/drivers/staging/xgifb/TODO +new file mode 100644 +index 0000000..7d71019 +--- /dev/null ++++ b/drivers/staging/xgifb/TODO +@@ -0,0 +1,15 @@ ++This drivers still need a lot of work. I can list all cleanups to do but it's ++going to be long. So, I'm writing "cleanups" and not the list. ++ ++Arnaud ++ ++TODO: ++- clean ups ++- fix build warnings when module ++- sort out dup ids with SiS driver ++- remove useless/wrong/unused #ifdef/code/... ++- fix printk usages ++- get rid of non-linux related stuff ++ ++Please send patches to: ++Arnaud Patard +diff --git a/drivers/staging/xgifb/XGI.h b/drivers/staging/xgifb/XGI.h +new file mode 100644 +index 0000000..87803dd +--- /dev/null ++++ b/drivers/staging/xgifb/XGI.h +@@ -0,0 +1,10 @@ ++#ifndef _XGI_H ++#define _XGI_H ++ ++#if 1 ++#define TWDEBUG(x) ++#else ++#define TWDEBUG(x) printk(KERN_INFO x "\n"); ++#endif ++ ++#endif +diff --git a/drivers/staging/xgifb/XGI_accel.c b/drivers/staging/xgifb/XGI_accel.c +new file mode 100644 +index 0000000..86ec342 +--- /dev/null ++++ b/drivers/staging/xgifb/XGI_accel.c +@@ -0,0 +1,596 @@ ++/* ++ * XGI 300/630/730/540/315/550/650/740 frame buffer driver ++ * for Linux kernels 2.4.x and 2.5.x ++ * ++ * 2D acceleration part ++ * ++ * Based on the X driver's XGI300_accel.c which is ++ * Copyright Xavier Ducoin ++ * Copyright 2002 by Thomas Winischhofer, Vienna, Austria ++ * and XGI310_accel.c which is ++ * Copyright 2002 by Thomas Winischhofer, Vienna, Austria ++ * ++ * Author: Thomas Winischhofer ++ * (see http://www.winischhofer.net/ ++ * for more information and updates) ++ */ ++ ++//#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++/* ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) ++#include ++#else ++#include