Merge changes from 2.6.32-16

Add patches that were added in 2.6.32-16 and are not in 2.6.35-rc3.
Update configuration.
Update maintainer scripts and debconf templates.
Add linux-tools-<version> package.

svn path=/dists/trunk/linux-2.6/; revision=15934
This commit is contained in:
Ben Hutchings 2010-07-04 21:07:52 +00:00
commit 04b38ec92d
70 changed files with 2372 additions and 932 deletions

35
debian/NEWS vendored
View File

@ -1,35 +0,0 @@
linux-2.6 (2.6.32-11) unstable; urgency=low
* This release replaces the old IDE (PATA) drivers with new drivers
using 'libata' on all architectures. This change was previously made
for the i386 and amd64 architectures.
The automatic upgrade code does not support the configuration files
of many of the boot loaders used on other architectures, so you may
be prompted to make changes manually.
-- Ben Hutchings <ben@decadent.org.uk> Sat, 20 Mar 2010 05:48:31 +0000
linux-2.6 (2.6.32-10) unstable; urgency=low
* The old IDE (PATA) drivers are no longer developed. Most PATA
controllers used in PCs (i386 and amd64 architectures) can be handled
by new drivers using 'libata', which is already used for SATA
controllers. This release enables all the new drivers that are
considered stable and disables the old drivers that they replace.
Other architectures should not be affected.
While the old drivers presented device names beginning with 'hd',
libata makes PATA drives appear as SCSI devices and presents device
names beginning with 'sd' (hard drive), 'sr' (optical) or 'st' (tape).
In a system that already has other SCSI or SCSI-like devices, names
may change unpredictably.
During the upgrade from earlier versions, you will be prompted to
update configuration files which refer to device names that may
change. You can choose to do this yourself or to follow an automatic
upgrade process. Unfortunately the automatic upgrade process does not
cover tape drives. All changed configuration files are backed up with
a suffix of '.old' (or '^old' in one case).
-- Ben Hutchings <ben@decadent.org.uk> Tue, 16 Mar 2010 04:15:37 +0000

View File

@ -17,6 +17,14 @@ class CheckAbi(object):
self.symbol = symbol
self.symbol_ref = symbol_ref or symbol
@property
def module(self):
return self.symbol.module
@property
def name(self):
return self.symbol.name
def write(self, out, ignored):
info = []
if ignored:
@ -116,6 +124,17 @@ class CheckAbi(object):
return symbols, add, change, remove
def _ignore_pattern(self, pattern):
ret = []
for i in re.split(r'(\*\*?)', pattern):
if i == '*':
ret.append(r'[^!]+')
elif i == '**':
ret.append(r'.+')
elif i:
ret.append(re.escape(i))
return re.compile('^' + ''.join(ret) + '$')
def _ignore(self, symbols):
# TODO: let config merge this lists
configs = []
@ -132,18 +151,17 @@ class CheckAbi(object):
filtered = set()
for ignore in ignores:
type = 'symbolmatch'
type = 'name'
if ':' in ignore:
type, ignore = ignore.split(':')
if type == 'symbolmatch':
filtered.update(fnmatch.filter(symbols.iterkeys(), ignore))
elif type == 'module':
if type in ('name', 'module'):
p = self._ignore_pattern(ignore)
for symbol in symbols.itervalues():
symbol = symbol.symbol
if symbol.module == ignore:
if p.match(getattr(symbol, type)):
filtered.add(symbol.name)
else:
raise NotImplementedError
return filtered

54
debian/changelog vendored
View File

@ -1,6 +1,17 @@
linux-2.6 (2.6.35~rc3-1~experimental.1) UNRELEASED; urgency=low
* New upstream snapshot
- [hppa] clear floating point exception flag on SIGFPE signal
(Closes: #559406)
- Add mantis and hopper DVB drivers (Closes: #577264)
- eeepc-laptop: Disable wireless hotplug on more models where the
controller is not at the expected address (Closes: #576199)
- qcserial: Add support for Qualcomm Gobi 2000 devices
(Closes: #585661)
- radeon: Fix MacBook Pro connector quirk (Closes: #585943)
- r8169: Fix MDIO timing (Closes: #583139)
- asix: fix setting mac address for AX88772 (Closes: #587580)
- Update Marvell CESA (mv_cesa) driver (Closes: #585790):
[ Ben Hutchings ]
* ipr: add writeq definition if needed (Closes: #584840)
@ -8,14 +19,49 @@ linux-2.6 (2.6.35~rc3-1~experimental.1) 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
* [x86] Fix confusion between rtl8192u_usb and rtl8192s_usb drivers
(Closes: #584945):
- Enable rtl8192u_usb driver
- Fix and update device ID table in rtl8192s_usb driver
* Update Spanish debconf templates, thanks to Omar Campagne
(Closes: #580538)
* [powerpc] Enable pata_amd driver, replacing amd74xx
* linux-base: Don't identify LVM2 PVs by UUID (Closes: #585852)
* Move NEWS to linux-latest-2.6 (Closes: #586401)
* 3c59x: Change locking to avoid use of disable_irq() (Closes: #586967)
* Enable IPv6 support for IPVS (IP_VS_IPV6) (Closes: #584549)
* linux-base: If the disk ID update process fails, give the user a
chance to retry or change their answers (Closes: #585609)
* ipv6: Clamp reported valid_lft to a minimum of 0 (Closes: #514644)
* ipv6: Use interface max_desync_factor instead of static default
(Closes: #514646)
* [ia64, powerpc, sparc, x86] Enable KPROBES and KRETPROBES
(Closes: #584130)
* r8192s_usb: Fix various bugs:
- Clean up in case of an error in module initialisation
- Rename and remove proc directories correctly if an interface is
not called wlan0 (Closes: #582972)
- Correct device ID table (Closes: #584945, #587985)
* [x86] Enable r8192u_usb driver
* Add linux-tools-<version> package containing the perf tool
(Closes: #548715)
[ maximilian attems ]
* Enable DRM_RADEON_KMS.
[ Martin Michlmayr ]
* OpenRD-Base: revert patch "allow SD/UART1 selection" since it
never made it upstream.
* ARM: update mach types.
* Add support for OpenRD-Ultimate.
* QNAP TS-11x/TS-21x: Add MPP44 (board ID).
* Add support for the HP t5325 Thin Client.
* m25p80: Add support for Macronix 25L8005.
* [armel/kirkwood] Enable FB_XGI and FRAMEBUFFER_CONSOLE.
* [armel] Make MOUSE_PS2 modular.
* [armel] Build INPUT_UINPUT for all flavours.
[ Bastian Blank ]
* Disable mISDN support for NETJet cards. The driver binds a generic PCI
bridge.
* Disable ISDN4Linux drivers.
-- Ben Hutchings <ben@decadent.org.uk> Wed, 09 Jun 2010 23:03:38 +0100
linux-2.6 (2.6.34-1~experimental.2) experimental; urgency=low

View File

@ -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
##

View File

@ -87,3 +87,16 @@ CONFIG_KERNEL_LZMA=y
CONFIG_ECONET_AUNUDP=y
CONFIG_ECONET_NATIVE=y
##
### file: drivers/input/mouse/Kconfig
##
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_APPLETOUCH=m
##
## file: drivers/input/misc/Kconfig
##
CONFIG_INPUT_MISC=y
CONFIG_INPUT_UINPUT=m

View File

@ -276,20 +276,6 @@ CONFIG_KEYBOARD_ATKBD=m
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
##
## file: drivers/input/misc/Kconfig
##
CONFIG_INPUT_UINPUT=m
##
## file: drivers/input/mouse/Kconfig
##
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
# CONFIG_MOUSE_SERIAL is not set
CONFIG_MOUSE_APPLETOUCH=m
# CONFIG_MOUSE_VSXXXAA is not set
##
## file: drivers/input/serio/Kconfig
##
@ -314,11 +300,6 @@ CONFIG_TABLET_USB_WACOM=m
##
CONFIG_INPUT_TOUCHSCREEN=y
##
## file: drivers/isdn/Kconfig
##
# CONFIG_ISDN is not set
##
## file: drivers/leds/Kconfig
##

View File

@ -279,18 +279,7 @@ CONFIG_KEYBOARD_ATKBD=m
##
## file: drivers/input/misc/Kconfig
##
CONFIG_INPUT_MISC=y
CONFIG_INPUT_IXP4XX_BEEPER=m
CONFIG_INPUT_UINPUT=m
##
## file: drivers/input/mouse/Kconfig
##
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
# CONFIG_MOUSE_SERIAL is not set
CONFIG_MOUSE_APPLETOUCH=m
# CONFIG_MOUSE_VSXXXAA is not set
##
## file: drivers/input/serio/Kconfig
@ -316,11 +305,6 @@ CONFIG_TABLET_USB_WACOM=m
##
CONFIG_INPUT_TOUCHSCREEN=y
##
## file: drivers/isdn/Kconfig
##
# CONFIG_ISDN is not set
##
## file: drivers/leds/Kconfig
##

View File

@ -65,6 +65,8 @@ CONFIG_MACH_TS41X=y
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
@ -207,7 +209,6 @@ CONFIG_INPUT_TOUCHSCREEN=y
## file: drivers/isdn/Kconfig
##
CONFIG_ISDN=y
CONFIG_ISDN_I4L=m
CONFIG_ISDN_CAPI=m
##
@ -241,59 +242,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
##
@ -594,6 +542,7 @@ CONFIG_FB=m
## file: drivers/video/console/Kconfig
##
# CONFIG_VGA_CONSOLE is not set
CONFIG_FRAMEBUFFER_CONSOLE=m
##
## file: drivers/watchdog/Kconfig
@ -679,3 +628,8 @@ CONFIG_WAN_ROUTER=m
##
CONFIG_X25=m
##
### file: drivers/staging/xgifb/Kconfig
##
CONFIG_FB_XGI=m

View File

@ -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
##

View File

@ -168,32 +168,6 @@ CONFIG_KEYBOARD_STOWAWAY=m
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
##
## file: drivers/input/misc/Kconfig
##
CONFIG_INPUT_MISC=y
CONFIG_INPUT_ATI_REMOTE=m
CONFIG_INPUT_ATI_REMOTE2=m
CONFIG_INPUT_KEYSPAN_REMOTE=m
CONFIG_INPUT_POWERMATE=m
CONFIG_INPUT_YEALINK=m
CONFIG_INPUT_UINPUT=m
##
## file: drivers/input/mouse/Kconfig
##
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_SERIAL=m
# CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_VSXXXAA is not set
##
## file: drivers/input/serio/Kconfig
##
@ -219,11 +193,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
##

11
debian/config/config vendored
View File

@ -681,6 +681,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
##
@ -706,7 +712,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
@ -3867,7 +3874,7 @@ CONFIG_NETFILTER_XT_MATCH_OSF=m
## file: net/netfilter/ipvs/Kconfig
##
CONFIG_IP_VS=m
# CONFIG_IP_VS_IPV6 is not set
CONFIG_IP_VS_IPV6=y
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12
CONFIG_IP_VS_PROTO_TCP=y

View File

@ -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
##

View File

@ -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
##

View File

@ -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
##

View File

@ -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
##

View File

@ -2,6 +2,8 @@
## file: arch/Kconfig
##
CONFIG_OPROFILE=m
CONFIG_KPROBES=y
CONFIG_KRETPROBES=y
##
## file: arch/ia64/Kconfig

View File

@ -4,7 +4,8 @@
CONFIG_OPROFILE=m
CONFIG_OPROFILE_IBS=y
# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
# CONFIG_KPROBES is not set
CONFIG_KPROBES=y
CONFIG_KRETPROBES=y
##
## file: arch/x86/Kconfig
@ -603,7 +604,6 @@ CONFIG_INPUT_TOUCHSCREEN=y
## file: drivers/isdn/Kconfig
##
CONFIG_ISDN=y
CONFIG_ISDN_I4L=m
CONFIG_ISDN_CAPI=m
##
@ -637,58 +637,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
##

View File

@ -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
##

View File

@ -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
##

View File

@ -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
##

View File

@ -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
##

View File

@ -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
##

View File

@ -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
##

View File

@ -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
##

View File

@ -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
##

View File

@ -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
##

View File

@ -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
##

View File

@ -2,6 +2,8 @@
## file: arch/Kconfig
##
CONFIG_OPROFILE=m
CONFIG_KPROBES=y
CONFIG_KRETPROBES=y
##
## file: arch/powerpc/Kconfig
@ -368,7 +370,6 @@ CONFIG_INPUT_TOUCHSCREEN=y
## file: drivers/isdn/Kconfig
##
CONFIG_ISDN=y
# CONFIG_ISDN_I4L is not set
CONFIG_ISDN_CAPI=m
##

View File

@ -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
##

View File

@ -1,3 +1,9 @@
##
## file: arch/Kconfig
##
CONFIG_KPROBES=y
CONFIG_KRETPROBES=y
##
## file: arch/sparc/Kconfig
##
@ -228,11 +234,6 @@ CONFIG_SERIO_LIBPS2=y
##
# CONFIG_INPUT_TOUCHSCREEN is not set
##
## file: drivers/isdn/Kconfig
##
# CONFIG_ISDN is not set
##
## file: drivers/media/Kconfig
##

View File

@ -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

View File

@ -24,38 +24,10 @@ use FileHandle;
use POSIX ();
use UUID;
# Since debconf clients get their standard input and output redirected
# to the debconf front-end, we need to redirect them again before
# running any other program.
sub _system {
my $pid = fork();
die "$!" unless defined($pid);
if ($pid == 0) {
# </dev/null
POSIX::close(0);
POSIX::open('/dev/null', POSIX::O_RDONLY) or die "$!";
# >&2
POSIX::dup2(2, 1) or die "$!";
exec(@_);
exit(255); # usual exit code for failed exec
} else {
waitpid($pid, 0);
# The built-in system() function does this substitution
if (POSIX::WIFEXITED($?) && POSIX::WEXITSTATUS($?) == 255) {
return -1;
} else {
return $?;
}
}
}
package DebianKernel::DiskId;
### utility
# Import _system() function
*_system = \&main::_system;
sub id_to_path {
my ($id) = @_;
$id =~ m|^/|
@ -347,7 +319,7 @@ sub grub1_update {
}
sub grub1_post {
_system('update-grub');
system('update-grub');
}
### GRUB 2 config
@ -384,7 +356,7 @@ sub grub2_update {
}
sub grub2_post {
_system('grub-mkconfig', '-o', '/boot/grub/grub.cfg');
system('grub-mkconfig', '-o', '/boot/grub/grub.cfg');
}
### LILO
@ -553,13 +525,13 @@ sub lilo_update {
}
sub lilo_post {
_system('lilo');
system('lilo');
}
### SILO
sub silo_post {
_system('silo');
system('silo');
}
### ELILO
@ -576,7 +548,7 @@ sub elilo_update {
}
sub elilo_post {
_system('elilo');
system('elilo');
}
### extlinux
@ -639,7 +611,7 @@ sub extlinux_new_update {
}
sub extlinux_post {
_system('update-extlinux');
system('update-extlinux');
}
# udev persistent-cd
@ -1038,40 +1010,40 @@ my @config_files = ({packages => 'mount',
sub ext2_set_label {
my ($bdev, $label) = @_;
_system('tune2fs', '-L', $label, $bdev) == 0 or die "tune2fs failed: $?";
system('tune2fs', '-L', $label, $bdev) == 0 or die "tune2fs failed: $?";
}
sub ext2_set_uuid {
my ($bdev, $uuid) = @_;
_system('tune2fs', '-U', $uuid, $bdev) == 0 or die "tune2fs failed: $?";
system('tune2fs', '-U', $uuid, $bdev) == 0 or die "tune2fs failed: $?";
}
sub jfs_set_label {
my ($bdev, $label) = @_;
_system('jfs_tune', '-L', $label, $bdev) == 0 or die "jfs_tune failed: $?";
system('jfs_tune', '-L', $label, $bdev) == 0 or die "jfs_tune failed: $?";
}
sub jfs_set_uuid {
my ($bdev, $uuid) = @_;
_system('jfs_tune', '-U', $uuid, $bdev) == 0 or die "jfs_tune failed: $?";
system('jfs_tune', '-U', $uuid, $bdev) == 0 or die "jfs_tune failed: $?";
}
sub fat_set_label {
my ($bdev, $label) = @_;
_system('dosfslabel', $bdev, $label) == 0 or die "dosfslabel failed: $?";
system('dosfslabel', $bdev, $label) == 0 or die "dosfslabel failed: $?";
}
sub ntfs_set_label {
my ($bdev, $label) = @_;
_system('ntfslabel', $bdev, $label) == 0 or die "ntfslabel failed: $?";
system('ntfslabel', $bdev, $label) == 0 or die "ntfslabel failed: $?";
}
sub reiserfs_set_label {
my ($bdev, $label) = @_;
_system('reiserfstune', '--label', $label, $bdev)
system('reiserfstune', '--label', $label, $bdev)
or die "reiserfstune failed: $?";
}
sub reiserfs_set_uuid {
my ($bdev, $uuid) = @_;
_system('reiserfstune', '--uuid', $uuid, $bdev)
system('reiserfstune', '--uuid', $uuid, $bdev)
or die "reiserfstune failed: $?";
}
@ -1135,16 +1107,16 @@ sub swap_set_uuid {
sub ufs_set_label {
my ($bdev, $label) = @_;
_system('tunefs.ufs', '-L', $label, $bdev) or die "tunefs.ufs failed: $?";
system('tunefs.ufs', '-L', $label, $bdev) or die "tunefs.ufs failed: $?";
}
sub xfs_set_label {
my ($bdev, $label) = @_;
_system('xfs_admin', '-L', $label, $bdev) or die "xfs_admin failed: $?";
system('xfs_admin', '-L', $label, $bdev) or die "xfs_admin failed: $?";
}
sub xfs_set_uuid {
my ($bdev, $uuid) = @_;
_system('xfs_admin', '-U', $uuid, $bdev) or die "xfs_admin failed: $?";
system('xfs_admin', '-U', $uuid, $bdev) or die "xfs_admin failed: $?";
}
my %filesystem_types = (
@ -1267,7 +1239,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 +1247,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 +1262,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
@ -1423,9 +1403,42 @@ sub update_config {
}
}
sub update_all {
# The update process may be aborted if a command fails, but we now
# want to recover and ask the user what to do. We can use 'do' to
# prevent 'die' from exiting the process, but we also need to
# capture and present error messages using debconf as they may
# otherwise be hidden. Therefore, we fork and capture stdout and
# stderr from the update process in the main process.
my $pid = open(PIPE, '-|');
return (-1, '') unless defined $pid;
if ($pid == 0) {
# Complete redirection
# </dev/null
POSIX::close(0);
POSIX::open('/dev/null', POSIX::O_RDONLY) or die "$!";
# 2>&1
POSIX::dup2(1, 2) or die "$!";
# Do the update
set_new_ids();
update_config(@_);
exit;
} else {
my @output = ();
while (<PIPE>) {
push @output, $_;
}
close(PIPE);
return ($?, join('', @output));
}
}
sub transition {
use Debconf::Client::ConfModule ':all';
retry:
%bdev_map = ();
%id_map = ();
@ -1512,8 +1525,30 @@ sub transition {
die "Error retrieving answer for $question: $answer" if $ret;
if ($answer eq 'true') {
set_new_ids();
update_config(\%update_map, @auto_configs);
my ($rc, $output) = update_all(\%update_map, @auto_configs);
if ($rc != 0) {
# Display output of update commands
$question = 'linux-base/disk-id-update-failed';
$output =~ s/\n/\\n/g;
($ret, $seen) = subst($question, 'output', $output);
die "Error setting debconf substitutions in $question: $seen"
if $ret;
($ret, $seen) = input('high', $question);
if ($ret && $ret != 30) {
die "Error setting debconf question $question: $seen";
}
($ret, $seen) = go();
if ($ret && $ret != 30) {
die "Error asking debconf question $question: $seen";
}
# Mark previous questions as unseen
fset('linux-base/disk-id-convert-auto', 'seen', 'false');
fset('linux-base/disk-id-convert-plan', 'seen', 'false');
fset('linux-base/disk-id-convert-plan-no-relabel', 'seen',
'false');
goto retry;
}
}
}

View File

@ -74,3 +74,14 @@ _Description: Boot loader configuration check needed
You should generally identify these devices by UUID or
label. However, on MIPS systems the root device must be identified by
name.
Template: linux-base/disk-id-update-failed
Type: error
# Not yet translated
Description: Failed to update disk device IDs
An error occurred while attempting to update the system configuration:
.
${output}
.
You can either correct this error and retry the automatic update,
or choose to update the system configuration yourself.

View File

@ -0,0 +1,706 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Wed, 23 Jun 2010 13:54:31 +0000
Subject: [PATCH 1/2] 3c59x: Specify window explicitly for access to windowed registers
commit a095cfc40ec7ebe63e9532383c5b5c2a27b14075 upstream.
Currently much of the code assumes that a specific window has been
selected, while a few functions save and restore the window. This
makes it impossible to introduce fine-grained locking.
Make those assumptions explicit by introducing wrapper functions
to set the window and read/write a register. Use these everywhere
except vortex_interrupt(), vortex_start_xmit() and vortex_rx().
These set the window just once, or not at all in the case of
vortex_rx() as it should always be called from vortex_interrupt().
Cache the current window in struct vortex_private to avoid
unnecessary hardware writes.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Tested-by: Arne Nordmark <nordmark@mech.kth.se> [against 2.6.32]
Signed-off-by: David S. Miller <davem@davemloft.net>
---
drivers/net/3c59x.c | 288 +++++++++++++++++++++++++--------------------------
1 files changed, 140 insertions(+), 148 deletions(-)
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c
index d75803e..beddef9 100644
--- a/drivers/net/3c59x.c
+++ b/drivers/net/3c59x.c
@@ -435,7 +435,6 @@ MODULE_DEVICE_TABLE(pci, vortex_pci_tbl);
First the windows. There are eight register windows, with the command
and status registers available in each.
*/
-#define EL3WINDOW(win_num) iowrite16(SelectWindow + (win_num), ioaddr + EL3_CMD)
#define EL3_CMD 0x0e
#define EL3_STATUS 0x0e
@@ -647,8 +646,35 @@ struct vortex_private {
u16 io_size; /* Size of PCI region (for release_region) */
spinlock_t lock; /* Serialise access to device & its vortex_private */
struct mii_if_info mii; /* MII lib hooks/info */
+ int window; /* Register window */
};
+static void window_set(struct vortex_private *vp, int window)
+{
+ if (window != vp->window) {
+ iowrite16(SelectWindow + window, vp->ioaddr + EL3_CMD);
+ vp->window = window;
+ }
+}
+
+#define DEFINE_WINDOW_IO(size) \
+static u ## size \
+window_read ## size(struct vortex_private *vp, int window, int addr) \
+{ \
+ window_set(vp, window); \
+ return ioread ## size(vp->ioaddr + addr); \
+} \
+static void \
+window_write ## size(struct vortex_private *vp, u ## size value, \
+ int window, int addr) \
+{ \
+ window_set(vp, window); \
+ iowrite ## size(value, vp->ioaddr + addr); \
+}
+DEFINE_WINDOW_IO(8)
+DEFINE_WINDOW_IO(16)
+DEFINE_WINDOW_IO(32)
+
#ifdef CONFIG_PCI
#define DEVICE_PCI(dev) (((dev)->bus == &pci_bus_type) ? to_pci_dev((dev)) : NULL)
#else
@@ -711,7 +737,7 @@ static int vortex_probe1(struct device *gendev, void __iomem *ioaddr, int irq,
static int vortex_up(struct net_device *dev);
static void vortex_down(struct net_device *dev, int final);
static int vortex_open(struct net_device *dev);
-static void mdio_sync(void __iomem *ioaddr, int bits);
+static void mdio_sync(struct vortex_private *vp, int bits);
static int mdio_read(struct net_device *dev, int phy_id, int location);
static void mdio_write(struct net_device *vp, int phy_id, int location, int value);
static void vortex_timer(unsigned long arg);
@@ -1119,6 +1145,7 @@ static int __devinit vortex_probe1(struct device *gendev,
vp->has_nway = (vci->drv_flags & HAS_NWAY) ? 1 : 0;
vp->io_size = vci->io_size;
vp->card_idx = card_idx;
+ vp->window = -1;
/* module list only for Compaq device */
if (gendev == NULL) {
@@ -1205,7 +1232,6 @@ static int __devinit vortex_probe1(struct device *gendev,
vp->mii.force_media = vp->full_duplex;
vp->options = option;
/* Read the station address from the EEPROM. */
- EL3WINDOW(0);
{
int base;
@@ -1218,14 +1244,15 @@ static int __devinit vortex_probe1(struct device *gendev,
for (i = 0; i < 0x40; i++) {
int timer;
- iowrite16(base + i, ioaddr + Wn0EepromCmd);
+ window_write16(vp, base + i, 0, Wn0EepromCmd);
/* Pause for at least 162 us. for the read to take place. */
for (timer = 10; timer >= 0; timer--) {
udelay(162);
- if ((ioread16(ioaddr + Wn0EepromCmd) & 0x8000) == 0)
+ if ((window_read16(vp, 0, Wn0EepromCmd) &
+ 0x8000) == 0)
break;
}
- eeprom[i] = ioread16(ioaddr + Wn0EepromData);
+ eeprom[i] = window_read16(vp, 0, Wn0EepromData);
}
}
for (i = 0; i < 0x18; i++)
@@ -1250,9 +1277,8 @@ static int __devinit vortex_probe1(struct device *gendev,
pr_err("*** EEPROM MAC address is invalid.\n");
goto free_ring; /* With every pack */
}
- EL3WINDOW(2);
for (i = 0; i < 6; i++)
- iowrite8(dev->dev_addr[i], ioaddr + i);
+ window_write8(vp, dev->dev_addr[i], 2, i);
if (print_info)
pr_cont(", IRQ %d\n", dev->irq);
@@ -1261,8 +1287,7 @@ static int __devinit vortex_probe1(struct device *gendev,
pr_warning(" *** Warning: IRQ %d is unlikely to work! ***\n",
dev->irq);
- EL3WINDOW(4);
- step = (ioread8(ioaddr + Wn4_NetDiag) & 0x1e) >> 1;
+ step = (window_read8(vp, 4, Wn4_NetDiag) & 0x1e) >> 1;
if (print_info) {
pr_info(" product code %02x%02x rev %02x.%d date %02d-%02d-%02d\n",
eeprom[6]&0xff, eeprom[6]>>8, eeprom[0x14],
@@ -1285,17 +1310,15 @@ static int __devinit vortex_probe1(struct device *gendev,
(unsigned long long)pci_resource_start(pdev, 2),
vp->cb_fn_base);
}
- EL3WINDOW(2);
- n = ioread16(ioaddr + Wn2_ResetOptions) & ~0x4010;
+ n = window_read16(vp, 2, Wn2_ResetOptions) & ~0x4010;
if (vp->drv_flags & INVERT_LED_PWR)
n |= 0x10;
if (vp->drv_flags & INVERT_MII_PWR)
n |= 0x4000;
- iowrite16(n, ioaddr + Wn2_ResetOptions);
+ window_write16(vp, n, 2, Wn2_ResetOptions);
if (vp->drv_flags & WNO_XCVR_PWR) {
- EL3WINDOW(0);
- iowrite16(0x0800, ioaddr);
+ window_write16(vp, 0x0800, 0, 0);
}
}
@@ -1313,14 +1336,13 @@ static int __devinit vortex_probe1(struct device *gendev,
{
static const char * const ram_split[] = {"5:3", "3:1", "1:1", "3:5"};
unsigned int config;
- EL3WINDOW(3);
- vp->available_media = ioread16(ioaddr + Wn3_Options);
+ vp->available_media = window_read16(vp, 3, Wn3_Options);
if ((vp->available_media & 0xff) == 0) /* Broken 3c916 */
vp->available_media = 0x40;
- config = ioread32(ioaddr + Wn3_Config);
+ config = window_read32(vp, 3, Wn3_Config);
if (print_info) {
pr_debug(" Internal config register is %4.4x, transceivers %#x.\n",
- config, ioread16(ioaddr + Wn3_Options));
+ config, window_read16(vp, 3, Wn3_Options));
pr_info(" %dK %s-wide RAM %s Rx:Tx split, %s%s interface.\n",
8 << RAM_SIZE(config),
RAM_WIDTH(config) ? "word" : "byte",
@@ -1346,7 +1368,6 @@ static int __devinit vortex_probe1(struct device *gendev,
if ((vp->available_media & 0x40) || (vci->drv_flags & HAS_NWAY) ||
dev->if_port == XCVR_MII || dev->if_port == XCVR_NWAY) {
int phy, phy_idx = 0;
- EL3WINDOW(4);
mii_preamble_required++;
if (vp->drv_flags & EXTRA_PREAMBLE)
mii_preamble_required++;
@@ -1478,18 +1499,17 @@ static void
vortex_set_duplex(struct net_device *dev)
{
struct vortex_private *vp = netdev_priv(dev);
- void __iomem *ioaddr = vp->ioaddr;
pr_info("%s: setting %s-duplex.\n",
dev->name, (vp->full_duplex) ? "full" : "half");
- EL3WINDOW(3);
/* Set the full-duplex bit. */
- iowrite16(((vp->info1 & 0x8000) || vp->full_duplex ? 0x20 : 0) |
- (vp->large_frames ? 0x40 : 0) |
- ((vp->full_duplex && vp->flow_ctrl && vp->partner_flow_ctrl) ?
- 0x100 : 0),
- ioaddr + Wn3_MAC_Ctrl);
+ window_write16(vp,
+ ((vp->info1 & 0x8000) || vp->full_duplex ? 0x20 : 0) |
+ (vp->large_frames ? 0x40 : 0) |
+ ((vp->full_duplex && vp->flow_ctrl && vp->partner_flow_ctrl) ?
+ 0x100 : 0),
+ 3, Wn3_MAC_Ctrl);
}
static void vortex_check_media(struct net_device *dev, unsigned int init)
@@ -1529,8 +1549,7 @@ vortex_up(struct net_device *dev)
}
/* Before initializing select the active media port. */
- EL3WINDOW(3);
- config = ioread32(ioaddr + Wn3_Config);
+ config = window_read32(vp, 3, Wn3_Config);
if (vp->media_override != 7) {
pr_info("%s: Media override to transceiver %d (%s).\n",
@@ -1577,10 +1596,9 @@ vortex_up(struct net_device *dev)
config = BFINS(config, dev->if_port, 20, 4);
if (vortex_debug > 6)
pr_debug("vortex_up(): writing 0x%x to InternalConfig\n", config);
- iowrite32(config, ioaddr + Wn3_Config);
+ window_write32(vp, config, 3, Wn3_Config);
if (dev->if_port == XCVR_MII || dev->if_port == XCVR_NWAY) {
- EL3WINDOW(4);
mii_reg1 = mdio_read(dev, vp->phys[0], MII_BMSR);
mii_reg5 = mdio_read(dev, vp->phys[0], MII_LPA);
vp->partner_flow_ctrl = ((mii_reg5 & 0x0400) != 0);
@@ -1601,51 +1619,46 @@ vortex_up(struct net_device *dev)
iowrite16(SetStatusEnb | 0x00, ioaddr + EL3_CMD);
if (vortex_debug > 1) {
- EL3WINDOW(4);
pr_debug("%s: vortex_up() irq %d media status %4.4x.\n",
- dev->name, dev->irq, ioread16(ioaddr + Wn4_Media));
+ dev->name, dev->irq, window_read16(vp, 4, Wn4_Media));
}
/* Set the station address and mask in window 2 each time opened. */
- EL3WINDOW(2);
for (i = 0; i < 6; i++)
- iowrite8(dev->dev_addr[i], ioaddr + i);
+ window_write8(vp, dev->dev_addr[i], 2, i);
for (; i < 12; i+=2)
- iowrite16(0, ioaddr + i);
+ window_write16(vp, 0, 2, i);
if (vp->cb_fn_base) {
- unsigned short n = ioread16(ioaddr + Wn2_ResetOptions) & ~0x4010;
+ unsigned short n = window_read16(vp, 2, Wn2_ResetOptions) & ~0x4010;
if (vp->drv_flags & INVERT_LED_PWR)
n |= 0x10;
if (vp->drv_flags & INVERT_MII_PWR)
n |= 0x4000;
- iowrite16(n, ioaddr + Wn2_ResetOptions);
+ window_write16(vp, n, 2, Wn2_ResetOptions);
}
if (dev->if_port == XCVR_10base2)
/* Start the thinnet transceiver. We should really wait 50ms...*/
iowrite16(StartCoax, ioaddr + EL3_CMD);
if (dev->if_port != XCVR_NWAY) {
- EL3WINDOW(4);
- iowrite16((ioread16(ioaddr + Wn4_Media) & ~(Media_10TP|Media_SQE)) |
- media_tbl[dev->if_port].media_bits, ioaddr + Wn4_Media);
+ window_write16(vp,
+ (window_read16(vp, 4, Wn4_Media) &
+ ~(Media_10TP|Media_SQE)) |
+ media_tbl[dev->if_port].media_bits,
+ 4, Wn4_Media);
}
/* Switch to the stats window, and clear all stats by reading. */
iowrite16(StatsDisable, ioaddr + EL3_CMD);
- EL3WINDOW(6);
for (i = 0; i < 10; i++)
- ioread8(ioaddr + i);
- ioread16(ioaddr + 10);
- ioread16(ioaddr + 12);
+ window_read8(vp, 6, i);
+ window_read16(vp, 6, 10);
+ window_read16(vp, 6, 12);
/* New: On the Vortex we must also clear the BadSSD counter. */
- EL3WINDOW(4);
- ioread8(ioaddr + 12);
+ window_read8(vp, 4, 12);
/* ..and on the Boomerang we enable the extra statistics bits. */
- iowrite16(0x0040, ioaddr + Wn4_NetDiag);
-
- /* Switch to register set 7 for normal use. */
- EL3WINDOW(7);
+ window_write16(vp, 0x0040, 4, Wn4_NetDiag);
if (vp->full_bus_master_rx) { /* Boomerang bus master. */
vp->cur_rx = vp->dirty_rx = 0;
@@ -1763,7 +1776,7 @@ vortex_timer(unsigned long data)
void __iomem *ioaddr = vp->ioaddr;
int next_tick = 60*HZ;
int ok = 0;
- int media_status, old_window;
+ int media_status;
if (vortex_debug > 2) {
pr_debug("%s: Media selection timer tick happened, %s.\n",
@@ -1772,9 +1785,7 @@ vortex_timer(unsigned long data)
}
disable_irq_lockdep(dev->irq);
- old_window = ioread16(ioaddr + EL3_CMD) >> 13;
- EL3WINDOW(4);
- media_status = ioread16(ioaddr + Wn4_Media);
+ media_status = window_read16(vp, 4, Wn4_Media);
switch (dev->if_port) {
case XCVR_10baseT: case XCVR_100baseTx: case XCVR_100baseFx:
if (media_status & Media_LnkBeat) {
@@ -1830,13 +1841,14 @@ vortex_timer(unsigned long data)
dev->name, media_tbl[dev->if_port].name);
next_tick = media_tbl[dev->if_port].wait;
}
- iowrite16((media_status & ~(Media_10TP|Media_SQE)) |
- media_tbl[dev->if_port].media_bits, ioaddr + Wn4_Media);
+ window_write16(vp,
+ (media_status & ~(Media_10TP|Media_SQE)) |
+ media_tbl[dev->if_port].media_bits,
+ 4, Wn4_Media);
- EL3WINDOW(3);
- config = ioread32(ioaddr + Wn3_Config);
+ config = window_read32(vp, 3, Wn3_Config);
config = BFINS(config, dev->if_port, 20, 4);
- iowrite32(config, ioaddr + Wn3_Config);
+ window_write32(vp, config, 3, Wn3_Config);
iowrite16(dev->if_port == XCVR_10base2 ? StartCoax : StopCoax,
ioaddr + EL3_CMD);
@@ -1850,7 +1862,6 @@ leave_media_alone:
pr_debug("%s: Media selection timer finished, %s.\n",
dev->name, media_tbl[dev->if_port].name);
- EL3WINDOW(old_window);
enable_irq_lockdep(dev->irq);
mod_timer(&vp->timer, RUN_AT(next_tick));
if (vp->deferred)
@@ -1865,12 +1876,11 @@ static void vortex_tx_timeout(struct net_device *dev)
pr_err("%s: transmit timed out, tx_status %2.2x status %4.4x.\n",
dev->name, ioread8(ioaddr + TxStatus),
ioread16(ioaddr + EL3_STATUS));
- EL3WINDOW(4);
pr_err(" diagnostics: net %04x media %04x dma %08x fifo %04x\n",
- ioread16(ioaddr + Wn4_NetDiag),
- ioread16(ioaddr + Wn4_Media),
+ window_read16(vp, 4, Wn4_NetDiag),
+ window_read16(vp, 4, Wn4_Media),
ioread32(ioaddr + PktStatus),
- ioread16(ioaddr + Wn4_FIFODiag));
+ window_read16(vp, 4, Wn4_FIFODiag));
/* Slight code bloat to be user friendly. */
if ((ioread8(ioaddr + TxStatus) & 0x88) == 0x88)
pr_err("%s: Transmitter encountered 16 collisions --"
@@ -1917,9 +1927,6 @@ static void vortex_tx_timeout(struct net_device *dev)
/* Issue Tx Enable */
iowrite16(TxEnable, ioaddr + EL3_CMD);
dev->trans_start = jiffies; /* prevent tx timeout */
-
- /* Switch to register set 7 for normal use. */
- EL3WINDOW(7);
}
/*
@@ -1980,10 +1987,10 @@ vortex_error(struct net_device *dev, int status)
ioread16(ioaddr + EL3_STATUS) & StatsFull) {
pr_warning("%s: Updating statistics failed, disabling "
"stats as an interrupt source.\n", dev->name);
- EL3WINDOW(5);
- iowrite16(SetIntrEnb | (ioread16(ioaddr + 10) & ~StatsFull), ioaddr + EL3_CMD);
+ iowrite16(SetIntrEnb |
+ (window_read16(vp, 5, 10) & ~StatsFull),
+ ioaddr + EL3_CMD);
vp->intr_enable &= ~StatsFull;
- EL3WINDOW(7);
DoneDidThat++;
}
}
@@ -1993,8 +2000,7 @@ vortex_error(struct net_device *dev, int status)
}
if (status & HostError) {
u16 fifo_diag;
- EL3WINDOW(4);
- fifo_diag = ioread16(ioaddr + Wn4_FIFODiag);
+ fifo_diag = window_read16(vp, 4, Wn4_FIFODiag);
pr_err("%s: Host error, FIFO diagnostic register %4.4x.\n",
dev->name, fifo_diag);
/* Adapter failure requires Tx/Rx reset and reinit. */
@@ -2043,8 +2049,10 @@ vortex_start_xmit(struct sk_buff *skb, struct net_device *dev)
if (vp->bus_master) {
/* Set the bus-master controller to transfer the packet. */
int len = (skb->len + 3) & ~3;
- iowrite32(vp->tx_skb_dma = pci_map_single(VORTEX_PCI(vp), skb->data, len, PCI_DMA_TODEVICE),
- ioaddr + Wn7_MasterAddr);
+ vp->tx_skb_dma = pci_map_single(VORTEX_PCI(vp), skb->data, len,
+ PCI_DMA_TODEVICE);
+ window_set(vp, 7);
+ iowrite32(vp->tx_skb_dma, ioaddr + Wn7_MasterAddr);
iowrite16(len, ioaddr + Wn7_MasterLen);
vp->tx_skb = skb;
iowrite16(StartDMADown, ioaddr + EL3_CMD);
@@ -2217,6 +2225,8 @@ vortex_interrupt(int irq, void *dev_id)
pr_debug("%s: interrupt, status %4.4x, latency %d ticks.\n",
dev->name, status, ioread8(ioaddr + Timer));
+ window_set(vp, 7);
+
do {
if (vortex_debug > 5)
pr_debug("%s: In interrupt loop, status %4.4x.\n",
@@ -2760,54 +2770,46 @@ static struct net_device_stats *vortex_get_stats(struct net_device *dev)
static void update_stats(void __iomem *ioaddr, struct net_device *dev)
{
struct vortex_private *vp = netdev_priv(dev);
- int old_window = ioread16(ioaddr + EL3_CMD);
- if (old_window == 0xffff) /* Chip suspended or ejected. */
- return;
/* Unlike the 3c5x9 we need not turn off stats updates while reading. */
/* Switch to the stats window, and read everything. */
- EL3WINDOW(6);
- dev->stats.tx_carrier_errors += ioread8(ioaddr + 0);
- dev->stats.tx_heartbeat_errors += ioread8(ioaddr + 1);
- dev->stats.tx_window_errors += ioread8(ioaddr + 4);
- dev->stats.rx_fifo_errors += ioread8(ioaddr + 5);
- dev->stats.tx_packets += ioread8(ioaddr + 6);
- dev->stats.tx_packets += (ioread8(ioaddr + 9)&0x30) << 4;
- /* Rx packets */ ioread8(ioaddr + 7); /* Must read to clear */
+ dev->stats.tx_carrier_errors += window_read8(vp, 6, 0);
+ dev->stats.tx_heartbeat_errors += window_read8(vp, 6, 1);
+ dev->stats.tx_window_errors += window_read8(vp, 6, 4);
+ dev->stats.rx_fifo_errors += window_read8(vp, 6, 5);
+ dev->stats.tx_packets += window_read8(vp, 6, 6);
+ dev->stats.tx_packets += (window_read8(vp, 6, 9) &
+ 0x30) << 4;
+ /* Rx packets */ window_read8(vp, 6, 7); /* Must read to clear */
/* Don't bother with register 9, an extension of registers 6&7.
If we do use the 6&7 values the atomic update assumption above
is invalid. */
- dev->stats.rx_bytes += ioread16(ioaddr + 10);
- dev->stats.tx_bytes += ioread16(ioaddr + 12);
+ dev->stats.rx_bytes += window_read16(vp, 6, 10);
+ dev->stats.tx_bytes += window_read16(vp, 6, 12);
/* Extra stats for get_ethtool_stats() */
- vp->xstats.tx_multiple_collisions += ioread8(ioaddr + 2);
- vp->xstats.tx_single_collisions += ioread8(ioaddr + 3);
- vp->xstats.tx_deferred += ioread8(ioaddr + 8);
- EL3WINDOW(4);
- vp->xstats.rx_bad_ssd += ioread8(ioaddr + 12);
+ vp->xstats.tx_multiple_collisions += window_read8(vp, 6, 2);
+ vp->xstats.tx_single_collisions += window_read8(vp, 6, 3);
+ vp->xstats.tx_deferred += window_read8(vp, 6, 8);
+ vp->xstats.rx_bad_ssd += window_read8(vp, 4, 12);
dev->stats.collisions = vp->xstats.tx_multiple_collisions
+ vp->xstats.tx_single_collisions
+ vp->xstats.tx_max_collisions;
{
- u8 up = ioread8(ioaddr + 13);
+ u8 up = window_read8(vp, 4, 13);
dev->stats.rx_bytes += (up & 0x0f) << 16;
dev->stats.tx_bytes += (up & 0xf0) << 12;
}
-
- EL3WINDOW(old_window >> 13);
}
static int vortex_nway_reset(struct net_device *dev)
{
struct vortex_private *vp = netdev_priv(dev);
- void __iomem *ioaddr = vp->ioaddr;
unsigned long flags;
int rc;
spin_lock_irqsave(&vp->lock, flags);
- EL3WINDOW(4);
rc = mii_nway_restart(&vp->mii);
spin_unlock_irqrestore(&vp->lock, flags);
return rc;
@@ -2816,12 +2818,10 @@ static int vortex_nway_reset(struct net_device *dev)
static int vortex_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct vortex_private *vp = netdev_priv(dev);
- void __iomem *ioaddr = vp->ioaddr;
unsigned long flags;
int rc;
spin_lock_irqsave(&vp->lock, flags);
- EL3WINDOW(4);
rc = mii_ethtool_gset(&vp->mii, cmd);
spin_unlock_irqrestore(&vp->lock, flags);
return rc;
@@ -2830,12 +2830,10 @@ static int vortex_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
static int vortex_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct vortex_private *vp = netdev_priv(dev);
- void __iomem *ioaddr = vp->ioaddr;
unsigned long flags;
int rc;
spin_lock_irqsave(&vp->lock, flags);
- EL3WINDOW(4);
rc = mii_ethtool_sset(&vp->mii, cmd);
spin_unlock_irqrestore(&vp->lock, flags);
return rc;
@@ -2930,7 +2928,6 @@ static int vortex_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
{
int err;
struct vortex_private *vp = netdev_priv(dev);
- void __iomem *ioaddr = vp->ioaddr;
unsigned long flags;
pci_power_t state = 0;
@@ -2942,7 +2939,6 @@ static int vortex_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
if(state != 0)
pci_set_power_state(VORTEX_PCI(vp), PCI_D0);
spin_lock_irqsave(&vp->lock, flags);
- EL3WINDOW(4);
err = generic_mii_ioctl(&vp->mii, if_mii(rq), cmd, NULL);
spin_unlock_irqrestore(&vp->lock, flags);
if(state != 0)
@@ -2985,8 +2981,6 @@ static void set_rx_mode(struct net_device *dev)
static void set_8021q_mode(struct net_device *dev, int enable)
{
struct vortex_private *vp = netdev_priv(dev);
- void __iomem *ioaddr = vp->ioaddr;
- int old_window = ioread16(ioaddr + EL3_CMD);
int mac_ctrl;
if ((vp->drv_flags&IS_CYCLONE) || (vp->drv_flags&IS_TORNADO)) {
@@ -2997,28 +2991,23 @@ static void set_8021q_mode(struct net_device *dev, int enable)
if (enable)
max_pkt_size += 4; /* 802.1Q VLAN tag */
- EL3WINDOW(3);
- iowrite16(max_pkt_size, ioaddr+Wn3_MaxPktSize);
+ window_write16(vp, max_pkt_size, 3, Wn3_MaxPktSize);
/* set VlanEtherType to let the hardware checksumming
treat tagged frames correctly */
- EL3WINDOW(7);
- iowrite16(VLAN_ETHER_TYPE, ioaddr+Wn7_VlanEtherType);
+ window_write16(vp, VLAN_ETHER_TYPE, 7, Wn7_VlanEtherType);
} else {
/* on older cards we have to enable large frames */
vp->large_frames = dev->mtu > 1500 || enable;
- EL3WINDOW(3);
- mac_ctrl = ioread16(ioaddr+Wn3_MAC_Ctrl);
+ mac_ctrl = window_read16(vp, 3, Wn3_MAC_Ctrl);
if (vp->large_frames)
mac_ctrl |= 0x40;
else
mac_ctrl &= ~0x40;
- iowrite16(mac_ctrl, ioaddr+Wn3_MAC_Ctrl);
+ window_write16(vp, mac_ctrl, 3, Wn3_MAC_Ctrl);
}
-
- EL3WINDOW(old_window);
}
#else
@@ -3037,7 +3026,10 @@ static void set_8021q_mode(struct net_device *dev, int enable)
/* The maximum data clock rate is 2.5 Mhz. The minimum timing is usually
met by back-to-back PCI I/O cycles, but we insert a delay to avoid
"overclocking" issues. */
-#define mdio_delay() ioread32(mdio_addr)
+static void mdio_delay(struct vortex_private *vp)
+{
+ window_read32(vp, 4, Wn4_PhysicalMgmt);
+}
#define MDIO_SHIFT_CLK 0x01
#define MDIO_DIR_WRITE 0x04
@@ -3048,16 +3040,15 @@ static void set_8021q_mode(struct net_device *dev, int enable)
/* Generate the preamble required for initial synchronization and
a few older transceivers. */
-static void mdio_sync(void __iomem *ioaddr, int bits)
+static void mdio_sync(struct vortex_private *vp, int bits)
{
- void __iomem *mdio_addr = ioaddr + Wn4_PhysicalMgmt;
-
/* Establish sync by sending at least 32 logic ones. */
while (-- bits >= 0) {
- iowrite16(MDIO_DATA_WRITE1, mdio_addr);
- mdio_delay();
- iowrite16(MDIO_DATA_WRITE1 | MDIO_SHIFT_CLK, mdio_addr);
- mdio_delay();
+ window_write16(vp, MDIO_DATA_WRITE1, 4, Wn4_PhysicalMgmt);
+ mdio_delay(vp);
+ window_write16(vp, MDIO_DATA_WRITE1 | MDIO_SHIFT_CLK,
+ 4, Wn4_PhysicalMgmt);
+ mdio_delay(vp);
}
}
@@ -3065,29 +3056,31 @@ static int mdio_read(struct net_device *dev, int phy_id, int location)
{
int i;
struct vortex_private *vp = netdev_priv(dev);
- void __iomem *ioaddr = vp->ioaddr;
int read_cmd = (0xf6 << 10) | (phy_id << 5) | location;
unsigned int retval = 0;
- void __iomem *mdio_addr = ioaddr + Wn4_PhysicalMgmt;
if (mii_preamble_required)
- mdio_sync(ioaddr, 32);
+ mdio_sync(vp, 32);
/* Shift the read command bits out. */
for (i = 14; i >= 0; i--) {
int dataval = (read_cmd&(1<<i)) ? MDIO_DATA_WRITE1 : MDIO_DATA_WRITE0;
- iowrite16(dataval, mdio_addr);
- mdio_delay();
- iowrite16(dataval | MDIO_SHIFT_CLK, mdio_addr);
- mdio_delay();
+ window_write16(vp, dataval, 4, Wn4_PhysicalMgmt);
+ mdio_delay(vp);
+ window_write16(vp, dataval | MDIO_SHIFT_CLK,
+ 4, Wn4_PhysicalMgmt);
+ mdio_delay(vp);
}
/* Read the two transition, 16 data, and wire-idle bits. */
for (i = 19; i > 0; i--) {
- iowrite16(MDIO_ENB_IN, mdio_addr);
- mdio_delay();
- retval = (retval << 1) | ((ioread16(mdio_addr) & MDIO_DATA_READ) ? 1 : 0);
- iowrite16(MDIO_ENB_IN | MDIO_SHIFT_CLK, mdio_addr);
- mdio_delay();
+ window_write16(vp, MDIO_ENB_IN, 4, Wn4_PhysicalMgmt);
+ mdio_delay(vp);
+ retval = (retval << 1) |
+ ((window_read16(vp, 4, Wn4_PhysicalMgmt) &
+ MDIO_DATA_READ) ? 1 : 0);
+ window_write16(vp, MDIO_ENB_IN | MDIO_SHIFT_CLK,
+ 4, Wn4_PhysicalMgmt);
+ mdio_delay(vp);
}
return retval & 0x20000 ? 0xffff : retval>>1 & 0xffff;
}
@@ -3095,28 +3088,28 @@ static int mdio_read(struct net_device *dev, int phy_id, int location)
static void mdio_write(struct net_device *dev, int phy_id, int location, int value)
{
struct vortex_private *vp = netdev_priv(dev);
- void __iomem *ioaddr = vp->ioaddr;
int write_cmd = 0x50020000 | (phy_id << 23) | (location << 18) | value;
- void __iomem *mdio_addr = ioaddr + Wn4_PhysicalMgmt;
int i;
if (mii_preamble_required)
- mdio_sync(ioaddr, 32);
+ mdio_sync(vp, 32);
/* Shift the command bits out. */
for (i = 31; i >= 0; i--) {
int dataval = (write_cmd&(1<<i)) ? MDIO_DATA_WRITE1 : MDIO_DATA_WRITE0;
- iowrite16(dataval, mdio_addr);
- mdio_delay();
- iowrite16(dataval | MDIO_SHIFT_CLK, mdio_addr);
- mdio_delay();
+ window_write16(vp, dataval, 4, Wn4_PhysicalMgmt);
+ mdio_delay(vp);
+ window_write16(vp, dataval | MDIO_SHIFT_CLK,
+ 4, Wn4_PhysicalMgmt);
+ mdio_delay(vp);
}
/* Leave the interface idle. */
for (i = 1; i >= 0; i--) {
- iowrite16(MDIO_ENB_IN, mdio_addr);
- mdio_delay();
- iowrite16(MDIO_ENB_IN | MDIO_SHIFT_CLK, mdio_addr);
- mdio_delay();
+ window_write16(vp, MDIO_ENB_IN, 4, Wn4_PhysicalMgmt);
+ mdio_delay(vp);
+ window_write16(vp, MDIO_ENB_IN | MDIO_SHIFT_CLK,
+ 4, Wn4_PhysicalMgmt);
+ mdio_delay(vp);
}
}
@@ -3131,8 +3124,7 @@ static void acpi_set_WOL(struct net_device *dev)
if (vp->enable_wol) {
/* Power up on: 1==Downloaded Filter, 2==Magic Packets, 4==Link Status. */
- EL3WINDOW(7);
- iowrite16(2, ioaddr + 0x0c);
+ window_write16(vp, 2, 7, 0x0c);
/* The RxFilter must accept the WOL frames. */
iowrite16(SetRxFilter|RxStation|RxMulticast|RxBroadcast, ioaddr + EL3_CMD);
iowrite16(RxEnable, ioaddr + EL3_CMD);
--
1.7.1

View File

@ -0,0 +1,231 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Tue, 29 Jun 2010 15:26:56 +0000
Subject: [PATCH 2/2] 3c59x: Use fine-grained locks for MII and windowed register access
commit de847272149365363a6043a963a6f42fb91566e2 upstream.
This avoids scheduling in atomic context and also means that IRQs
will only be deferred for relatively short periods of time.
Previously discussed in:
http://article.gmane.org/gmane.linux.network/155024
Reported-by: Arne Nordmark <nordmark@mech.kth.se>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
drivers/net/3c59x.c | 68 ++++++++++++++++++++++++++++++--------------------
1 files changed, 41 insertions(+), 27 deletions(-)
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c
index beddef9..069a03f 100644
--- a/drivers/net/3c59x.c
+++ b/drivers/net/3c59x.c
@@ -644,9 +644,15 @@ struct vortex_private {
u16 deferred; /* Resend these interrupts when we
* bale from the ISR */
u16 io_size; /* Size of PCI region (for release_region) */
- spinlock_t lock; /* Serialise access to device & its vortex_private */
- struct mii_if_info mii; /* MII lib hooks/info */
- int window; /* Register window */
+
+ /* Serialises access to hardware other than MII and variables below.
+ * The lock hierarchy is rtnl_lock > lock > mii_lock > window_lock. */
+ spinlock_t lock;
+
+ spinlock_t mii_lock; /* Serialises access to MII */
+ struct mii_if_info mii; /* MII lib hooks/info */
+ spinlock_t window_lock; /* Serialises access to windowed regs */
+ int window; /* Register window */
};
static void window_set(struct vortex_private *vp, int window)
@@ -661,15 +667,23 @@ static void window_set(struct vortex_private *vp, int window)
static u ## size \
window_read ## size(struct vortex_private *vp, int window, int addr) \
{ \
+ unsigned long flags; \
+ u ## size ret; \
+ spin_lock_irqsave(&vp->window_lock, flags); \
window_set(vp, window); \
- return ioread ## size(vp->ioaddr + addr); \
+ ret = ioread ## size(vp->ioaddr + addr); \
+ spin_unlock_irqrestore(&vp->window_lock, flags); \
+ return ret; \
} \
static void \
window_write ## size(struct vortex_private *vp, u ## size value, \
int window, int addr) \
{ \
+ unsigned long flags; \
+ spin_lock_irqsave(&vp->window_lock, flags); \
window_set(vp, window); \
iowrite ## size(value, vp->ioaddr + addr); \
+ spin_unlock_irqrestore(&vp->window_lock, flags); \
}
DEFINE_WINDOW_IO(8)
DEFINE_WINDOW_IO(16)
@@ -1181,6 +1195,8 @@ static int __devinit vortex_probe1(struct device *gendev,
}
spin_lock_init(&vp->lock);
+ spin_lock_init(&vp->mii_lock);
+ spin_lock_init(&vp->window_lock);
vp->gendev = gendev;
vp->mii.dev = dev;
vp->mii.mdio_read = mdio_read;
@@ -1784,7 +1800,6 @@ vortex_timer(unsigned long data)
pr_debug("dev->watchdog_timeo=%d\n", dev->watchdog_timeo);
}
- disable_irq_lockdep(dev->irq);
media_status = window_read16(vp, 4, Wn4_Media);
switch (dev->if_port) {
case XCVR_10baseT: case XCVR_100baseTx: case XCVR_100baseFx:
@@ -1805,10 +1820,7 @@ vortex_timer(unsigned long data)
case XCVR_MII: case XCVR_NWAY:
{
ok = 1;
- /* Interrupts are already disabled */
- spin_lock(&vp->lock);
vortex_check_media(dev, 0);
- spin_unlock(&vp->lock);
}
break;
default: /* Other media types handled by Tx timeouts. */
@@ -1827,6 +1839,8 @@ vortex_timer(unsigned long data)
if (!ok) {
unsigned int config;
+ spin_lock_irq(&vp->lock);
+
do {
dev->if_port = media_tbl[dev->if_port].next;
} while ( ! (vp->available_media & media_tbl[dev->if_port].mask));
@@ -1855,6 +1869,8 @@ vortex_timer(unsigned long data)
if (vortex_debug > 1)
pr_debug("wrote 0x%08x to Wn3_Config\n", config);
/* AKPM: FIXME: Should reset Rx & Tx here. P60 of 3c90xc.pdf */
+
+ spin_unlock_irq(&vp->lock);
}
leave_media_alone:
@@ -1862,7 +1878,6 @@ leave_media_alone:
pr_debug("%s: Media selection timer finished, %s.\n",
dev->name, media_tbl[dev->if_port].name);
- enable_irq_lockdep(dev->irq);
mod_timer(&vp->timer, RUN_AT(next_tick));
if (vp->deferred)
iowrite16(FakeIntr, ioaddr + EL3_CMD);
@@ -2051,9 +2066,11 @@ vortex_start_xmit(struct sk_buff *skb, struct net_device *dev)
int len = (skb->len + 3) & ~3;
vp->tx_skb_dma = pci_map_single(VORTEX_PCI(vp), skb->data, len,
PCI_DMA_TODEVICE);
+ spin_lock_irq(&vp->window_lock);
window_set(vp, 7);
iowrite32(vp->tx_skb_dma, ioaddr + Wn7_MasterAddr);
iowrite16(len, ioaddr + Wn7_MasterLen);
+ spin_unlock_irq(&vp->window_lock);
vp->tx_skb = skb;
iowrite16(StartDMADown, ioaddr + EL3_CMD);
/* netif_wake_queue() will be called at the DMADone interrupt. */
@@ -2225,6 +2242,7 @@ vortex_interrupt(int irq, void *dev_id)
pr_debug("%s: interrupt, status %4.4x, latency %d ticks.\n",
dev->name, status, ioread8(ioaddr + Timer));
+ spin_lock(&vp->window_lock);
window_set(vp, 7);
do {
@@ -2285,6 +2303,8 @@ vortex_interrupt(int irq, void *dev_id)
iowrite16(AckIntr | IntReq | IntLatch, ioaddr + EL3_CMD);
} while ((status = ioread16(ioaddr + EL3_STATUS)) & (IntLatch | RxComplete));
+ spin_unlock(&vp->window_lock);
+
if (vortex_debug > 4)
pr_debug("%s: exiting interrupt, status %4.4x.\n",
dev->name, status);
@@ -2806,37 +2826,22 @@ static void update_stats(void __iomem *ioaddr, struct net_device *dev)
static int vortex_nway_reset(struct net_device *dev)
{
struct vortex_private *vp = netdev_priv(dev);
- unsigned long flags;
- int rc;
- spin_lock_irqsave(&vp->lock, flags);
- rc = mii_nway_restart(&vp->mii);
- spin_unlock_irqrestore(&vp->lock, flags);
- return rc;
+ return mii_nway_restart(&vp->mii);
}
static int vortex_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct vortex_private *vp = netdev_priv(dev);
- unsigned long flags;
- int rc;
- spin_lock_irqsave(&vp->lock, flags);
- rc = mii_ethtool_gset(&vp->mii, cmd);
- spin_unlock_irqrestore(&vp->lock, flags);
- return rc;
+ return mii_ethtool_gset(&vp->mii, cmd);
}
static int vortex_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct vortex_private *vp = netdev_priv(dev);
- unsigned long flags;
- int rc;
- spin_lock_irqsave(&vp->lock, flags);
- rc = mii_ethtool_sset(&vp->mii, cmd);
- spin_unlock_irqrestore(&vp->lock, flags);
- return rc;
+ return mii_ethtool_sset(&vp->mii, cmd);
}
static u32 vortex_get_msglevel(struct net_device *dev)
@@ -3059,6 +3064,8 @@ static int mdio_read(struct net_device *dev, int phy_id, int location)
int read_cmd = (0xf6 << 10) | (phy_id << 5) | location;
unsigned int retval = 0;
+ spin_lock_bh(&vp->mii_lock);
+
if (mii_preamble_required)
mdio_sync(vp, 32);
@@ -3082,6 +3089,9 @@ static int mdio_read(struct net_device *dev, int phy_id, int location)
4, Wn4_PhysicalMgmt);
mdio_delay(vp);
}
+
+ spin_unlock_bh(&vp->mii_lock);
+
return retval & 0x20000 ? 0xffff : retval>>1 & 0xffff;
}
@@ -3091,6 +3101,8 @@ static void mdio_write(struct net_device *dev, int phy_id, int location, int val
int write_cmd = 0x50020000 | (phy_id << 23) | (location << 18) | value;
int i;
+ spin_lock_bh(&vp->mii_lock);
+
if (mii_preamble_required)
mdio_sync(vp, 32);
@@ -3111,6 +3123,8 @@ static void mdio_write(struct net_device *dev, int phy_id, int location, int val
4, Wn4_PhysicalMgmt);
mdio_delay(vp);
}
+
+ spin_unlock_bh(&vp->mii_lock);
}
/* ACPI: Advanced Configuration and Power Interface. */
--
1.7.1

View File

@ -1,64 +0,0 @@
From d89c48638f8a91b9df06d00f41a683591c7f3469 Mon Sep 17 00:00:00 2001
From: Ben Hutchings <ben@decadent.org.uk>
Date: Mon, 7 Jun 2010 22:37:20 +0100
Subject: [PATCH 1/2] Staging: rtl8192s_usb: Fix device ID table
The rtl8192s_usb driver was claiming a number of device IDs which are
actually supported by the code in the rtl8192u_usb driver. Remove
them from rtl8192s_usb, and add more device IDs as listed in the
vendor driver version 0003.0825.2009.
---
drivers/staging/rtl8192su/r8192U_core.c | 28 +++++++++++++++++-----------
1 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/drivers/staging/rtl8192su/r8192U_core.c b/drivers/staging/rtl8192su/r8192U_core.c
index 03f1cf1..a0c28a7 100644
--- a/drivers/staging/rtl8192su/r8192U_core.c
+++ b/drivers/staging/rtl8192su/r8192U_core.c
@@ -114,26 +114,32 @@ u32 rt_global_debug_component = \
static const struct usb_device_id rtl8192_usb_id_tbl[] = {
/* Realtek */
{USB_DEVICE(0x0bda, 0x8171)},
- {USB_DEVICE(0x0bda, 0x8192)},
- {USB_DEVICE(0x0bda, 0x8709)},
+ {USB_DEVICE(0x0bda, 0x8172)}, /* RTL8191S */
+ {USB_DEVICE(0x0bda, 0x8173)},
+ {USB_DEVICE(0x0bda, 0x8174)},
+ {USB_DEVICE(0x0bda, 0x8712)},
+ {USB_DEVICE(0x0bda, 0x8713)},
/* Corega */
- {USB_DEVICE(0x07aa, 0x0043)},
+ {USB_DEVICE(0x07aa, 0x0047)},
/* Belkin */
- {USB_DEVICE(0x050d, 0x805E)},
{USB_DEVICE(0x050d, 0x815F)}, /* Belkin F5D8053 v6 */
/* Sitecom */
- {USB_DEVICE(0x0df6, 0x0031)},
+ {USB_DEVICE(0x0df6, 0x0045)}, /* WL-353 */
{USB_DEVICE(0x0df6, 0x004b)}, /* WL-349 */
/* EnGenius */
- {USB_DEVICE(0x1740, 0x9201)},
+ {USB_DEVICE(0x1740, 0x9603)},
+ {USB_DEVICE(0x1740, 0x9605)},
/* Dlink */
- {USB_DEVICE(0x2001, 0x3301)},
- /* Zinwell */
- {USB_DEVICE(0x5a57, 0x0290)},
+ {USB_DEVICE(0x07d1, 0x3303)},
+ {USB_DEVICE(0x07d1, 0x3302)}, /* DWA-130 rev C2 */
+ {USB_DEVICE(0x07d1, 0x3300)}, /* DWA-130 rev E */
/* Guillemot */
{USB_DEVICE(0x06f8, 0xe031)},
- //92SU
- {USB_DEVICE(0x0bda, 0x8172)},
+ /* Edimax */
+ {USB_DEVICE(0x7392, 0x7612)},
+ /* Hawking */
+ {USB_DEVICE(0x0e66, 0x0015)},
+ {USB_DEVICE(0x0e66, 0x0016)},
{}
};
--
1.7.1

View File

@ -0,0 +1,39 @@
Subject: [PATCH 1/2] ipv6: Clamp reported valid_lft to a minimum of 0
From: Ben Hutchings <ben@decadent.org.uk>
Date: Sat, 26 Jun 2010 22:37:47 +0100
commit f56619fc72407561b00c52244a2caa53d730bc4a upstream.
Since addresses are only revalidated every 2 minutes, the reported
valid_lft can underflow shortly before the address is deleted.
Clamp it to a minimum of 0, as for prefered_lft.
Reported-by: Piotr Lewandowski <piotr.lewandowski@gmail.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
net/ipv6/addrconf.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index b97bb1f..1459eed 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -3492,8 +3492,12 @@ static int inet6_fill_ifaddr(struct sk_buff *skb, struct inet6_ifaddr *ifa,
preferred -= tval;
else
preferred = 0;
- if (valid != INFINITY_LIFE_TIME)
- valid -= tval;
+ if (valid != INFINITY_LIFE_TIME) {
+ if (valid > tval)
+ valid -= tval;
+ else
+ valid = 0;
+ }
}
} else {
preferred = INFINITY_LIFE_TIME;
--
1.7.1

View File

@ -0,0 +1,52 @@
Subject: [PATCH 2/2] ipv6: Use interface max_desync_factor instead of static default
From: Ben Hutchings <ben@decadent.org.uk>
Date: Sat, 26 Jun 2010 22:42:56 +0100
commit 784e2710ce3588d8316dc8efac9ecbebaeaf7c35 upstream.
max_desync_factor can be configured per-interface, but nothing is
using the value.
Reported-by: Piotr Lewandowski <piotr.lewandowski@gmail.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
net/ipv6/addrconf.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 1459eed..ec8c92f 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -121,8 +121,6 @@ static inline void addrconf_sysctl_unregister(struct inet6_dev *idev)
static int __ipv6_regen_rndid(struct inet6_dev *idev);
static int __ipv6_try_regen_rndid(struct inet6_dev *idev, struct in6_addr *tmpaddr);
static void ipv6_regen_rndid(unsigned long data);
-
-static int desync_factor = MAX_DESYNC_FACTOR * HZ;
#endif
static int ipv6_generate_eui64(u8 *eui, struct net_device *dev);
@@ -890,7 +888,8 @@ retry:
idev->cnf.temp_valid_lft);
tmp_prefered_lft = min_t(__u32,
ifp->prefered_lft,
- idev->cnf.temp_prefered_lft - desync_factor / HZ);
+ idev->cnf.temp_prefered_lft -
+ idev->cnf.max_desync_factor);
tmp_plen = ifp->prefix_len;
max_addresses = idev->cnf.max_addresses;
tmp_cstamp = ifp->cstamp;
@@ -1650,7 +1649,8 @@ static void ipv6_regen_rndid(unsigned long data)
expires = jiffies +
idev->cnf.temp_prefered_lft * HZ -
- idev->cnf.regen_max_retry * idev->cnf.dad_transmits * idev->nd_parms->retrans_time - desync_factor;
+ idev->cnf.regen_max_retry * idev->cnf.dad_transmits * idev->nd_parms->retrans_time -
+ idev->cnf.max_desync_factor * HZ;
if (time_before(expires, jiffies)) {
printk(KERN_WARNING
"ipv6_regen_rndid(): too short regeneration interval; timer disabled for %s.\n",
--
1.7.1

View File

@ -0,0 +1,48 @@
From 95387e011a365a5309f6a6d621a215ab776b087a Mon Sep 17 00:00:00 2001
From: Ben Hutchings <ben@decadent.org.uk>
Date: Thu, 3 Jun 2010 01:42:13 +0100
Subject: [PATCH] V4L/DVB: mantis: Select correct frontends
Update the Kconfig selections to match the code.
Add the usual condition of !DVB_FE_CUSTOMISE.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
drivers/media/dvb/mantis/Kconfig | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/drivers/media/dvb/mantis/Kconfig b/drivers/media/dvb/mantis/Kconfig
index f7b72a3..decdeda 100644
--- a/drivers/media/dvb/mantis/Kconfig
+++ b/drivers/media/dvb/mantis/Kconfig
@@ -10,9 +10,15 @@ config MANTIS_CORE
config DVB_MANTIS
tristate "MANTIS based cards"
depends on MANTIS_CORE && DVB_CORE && PCI && I2C
- select DVB_MB86A16
- select DVB_ZL10353
- select DVB_STV0299
+ select DVB_MB86A16 if !DVB_FE_CUSTOMISE
+ select DVB_ZL10353 if !DVB_FE_CUSTOMISE
+ select DVB_STV0299 if !DVB_FE_CUSTOMISE
+ select DVB_LNBP21 if !DVB_FE_CUSTOMISE
+ select DVB_STB0899 if !DVB_FE_CUSTOMISE
+ select DVB_STB6100 if !DVB_FE_CUSTOMISE
+ select DVB_TDA665x if !DVB_FE_CUSTOMISE
+ select DVB_TDA10021 if !DVB_FE_CUSTOMISE
+ select DVB_TDA10023 if !DVB_FE_CUSTOMISE
select DVB_PLL
help
Support for PCI cards based on the Mantis PCI bridge.
@@ -23,7 +29,7 @@ config DVB_MANTIS
config DVB_HOPPER
tristate "HOPPER based cards"
depends on MANTIS_CORE && DVB_CORE && PCI && I2C
- select DVB_ZL10353
+ select DVB_ZL10353 if !DVB_FE_CUSTOMISE
select DVB_PLL
help
Support for PCI cards based on the Hopper PCI bridge.
--
1.7.1

View File

@ -0,0 +1,104 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Tue, 25 May 2010 04:20:30 +0100
Subject: [PATCH] Staging: rtl8192su: Clean up in case of an error in module initialisation
commit 9a3dfa0555130952517b9a9c3918729495aa709a upstream.
Currently various resources may be leaked in case of an error.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/staging/rtl8192su/r8192U_core.c | 43 ++++++++++++++++++++++++++-----
1 files changed, 36 insertions(+), 7 deletions(-)
diff --git a/drivers/staging/rtl8192su/r8192U_core.c b/drivers/staging/rtl8192su/r8192U_core.c
index 447d647..1b4ff90 100644
--- a/drivers/staging/rtl8192su/r8192U_core.c
+++ b/drivers/staging/rtl8192su/r8192U_core.c
@@ -990,10 +990,11 @@ static int proc_get_stats_rx(char *page, char **start,
return len;
}
-void rtl8192_proc_module_init(void)
+int rtl8192_proc_module_init(void)
{
RT_TRACE(COMP_INIT, "Initializing proc filesystem");
rtl8192_proc=create_proc_entry(RTL819xU_MODULE_NAME, S_IFDIR, init_net.proc_net);
+ return rtl8192_proc ? 0 : -ENOMEM;
}
@@ -7473,35 +7474,63 @@ static int __init rtl8192_usb_module_init(void)
ret = ieee80211_crypto_init();
if (ret) {
printk(KERN_ERR "ieee80211_crypto_init() failed %d\n", ret);
- return ret;
+ goto fail_crypto;
}
ret = ieee80211_crypto_tkip_init();
if (ret) {
printk(KERN_ERR "ieee80211_crypto_tkip_init() failed %d\n",
ret);
- return ret;
+ goto fail_crypto_tkip;
}
ret = ieee80211_crypto_ccmp_init();
if (ret) {
printk(KERN_ERR "ieee80211_crypto_ccmp_init() failed %d\n",
ret);
- return ret;
+ goto fail_crypto_ccmp;
}
ret = ieee80211_crypto_wep_init();
if (ret) {
printk(KERN_ERR "ieee80211_crypto_wep_init() failed %d\n", ret);
- return ret;
+ goto fail_crypto_wep;
}
printk(KERN_INFO "\nLinux kernel driver for RTL8192 based WLAN cards\n");
printk(KERN_INFO "Copyright (c) 2007-2008, Realsil Wlan\n");
RT_TRACE(COMP_INIT, "Initializing module");
RT_TRACE(COMP_INIT, "Wireless extensions version %d", WIRELESS_EXT);
- rtl8192_proc_module_init();
- return usb_register(&rtl8192_usb_driver);
+
+ ret = rtl8192_proc_module_init();
+ if (ret) {
+ pr_err("rtl8192_proc_module_init() failed %d\n", ret);
+ goto fail_proc;
+ }
+
+ ret = usb_register(&rtl8192_usb_driver);
+ if (ret) {
+ pr_err("usb_register() failed %d\n", ret);
+ goto fail_usb;
+ }
+
+ return 0;
+
+fail_usb:
+ rtl8192_proc_module_remove();
+fail_proc:
+ ieee80211_crypto_wep_exit();
+fail_crypto_wep:
+ ieee80211_crypto_ccmp_exit();
+fail_crypto_ccmp:
+ ieee80211_crypto_tkip_exit();
+fail_crypto_tkip:
+ ieee80211_crypto_deinit();
+fail_crypto:
+#ifdef CONFIG_IEEE80211_DEBUG
+ ieee80211_debug_exit();
+#endif
+ return ret;
}
--
1.7.1

View File

@ -0,0 +1,107 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Tue, 25 May 2010 04:25:57 +0100
Subject: [PATCH] Staging: rtl8192su: Fix procfs code for interfaces not named wlan0
commit 41a38d9e632f7c9ec5ad8fc627567d97f4302c4a upstream.
The current code creates directories in procfs named after interfaces,
but doesn't handle renaming. This can result in name collisions and
consequent WARNINGs. It also means that the interface name cannot
reliably be used to remove the directory - in fact the current code
doesn't even try, and always uses "wlan0"!
Since the name of a proc_dir_entry is embedded in it, use that when
removing it.
Add a netdev notifier to catch interface renaming, and remove and
re-add the directory at this point.
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
drivers/staging/rtl8192su/r8192U_core.c | 35 ++++++++++++++++++++++++++++--
1 files changed, 32 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/rtl8192su/r8192U_core.c b/drivers/staging/rtl8192su/r8192U_core.c
index 1b4ff90..a076f56 100644
--- a/drivers/staging/rtl8192su/r8192U_core.c
+++ b/drivers/staging/rtl8192su/r8192U_core.c
@@ -27,6 +27,7 @@
#include <linux/vmalloc.h>
#include <linux/slab.h>
#include <linux/eeprom_93cx6.h>
+#include <linux/notifier.h>
#undef LOOP_TEST
#undef DUMP_RX
@@ -161,6 +162,8 @@ MODULE_PARM_DESC(channels," Channel bitmask for specific locales. NYI");
static int __devinit rtl8192_usb_probe(struct usb_interface *intf,
const struct usb_device_id *id);
static void __devexit rtl8192_usb_disconnect(struct usb_interface *intf);
+static const struct net_device_ops rtl8192_netdev_ops;
+static struct notifier_block proc_netdev_notifier;
static struct usb_driver rtl8192_usb_driver = {
.name = RTL819xU_MODULE_NAME, /* Driver name */
@@ -992,14 +995,22 @@ static int proc_get_stats_rx(char *page, char **start,
int rtl8192_proc_module_init(void)
{
+ int ret;
+
RT_TRACE(COMP_INIT, "Initializing proc filesystem");
rtl8192_proc=create_proc_entry(RTL819xU_MODULE_NAME, S_IFDIR, init_net.proc_net);
- return rtl8192_proc ? 0 : -ENOMEM;
+ if (!rtl8192_proc)
+ return -ENOMEM;
+ ret = register_netdevice_notifier(&proc_netdev_notifier);
+ if (ret)
+ remove_proc_entry(RTL819xU_MODULE_NAME, init_net.proc_net);
+ return ret;
}
void rtl8192_proc_module_remove(void)
{
+ unregister_netdevice_notifier(&proc_netdev_notifier);
remove_proc_entry(RTL819xU_MODULE_NAME, init_net.proc_net);
}
@@ -1027,8 +1038,7 @@ void rtl8192_proc_remove_one(struct net_device *dev)
remove_proc_entry("registers-e", priv->dir_dev);
// remove_proc_entry("cck-registers",priv->dir_dev);
// remove_proc_entry("ofdm-registers",priv->dir_dev);
- //remove_proc_entry(dev->name, rtl8192_proc);
- remove_proc_entry("wlan0", rtl8192_proc);
+ remove_proc_entry(priv->dir_dev->name, rtl8192_proc);
priv->dir_dev = NULL;
}
}
@@ -1145,6 +1155,25 @@ void rtl8192_proc_init_one(struct net_device *dev)
dev->name);
}
}
+
+static int proc_netdev_event(struct notifier_block *this,
+ unsigned long event, void *ptr)
+{
+ struct net_device *net_dev = ptr;
+
+ if (net_dev->netdev_ops == &rtl8192_netdev_ops &&
+ event == NETDEV_CHANGENAME) {
+ rtl8192_proc_remove_one(net_dev);
+ rtl8192_proc_init_one(net_dev);
+ }
+
+ return NOTIFY_DONE;
+}
+
+static struct notifier_block proc_netdev_notifier = {
+ .notifier_call = proc_netdev_event,
+};
+
/****************************************************************************
-----------------------------MISC STUFF-------------------------
*****************************************************************************/
--
1.7.1

View File

@ -0,0 +1,63 @@
From: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
Date: Tue, 8 Jun 2010 03:47:13 +0200
Subject: [PATCH 2/2] Staging: rtl8192su: add device ids
commit 15d93ed070125d51693f102a0f94045dcaf30d9b upstream.
This patch adds some device ids.
The list of supported devices was extracted from realteks driver package.
(0x050d, 0x815F) and (0x0df6, 0x004b) are not in the official list of
supported devices and may not work correctly.
In case of problems with these, they should probably be removed from the list.
Signed-off-by: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/staging/rtl8192su/r8192U_core.c | 30 +++++++++++++++++++++++-------
1 files changed, 23 insertions(+), 7 deletions(-)
diff --git a/drivers/staging/rtl8192su/r8192U_core.c b/drivers/staging/rtl8192su/r8192U_core.c
index 06b2b97..f1d852b 100644
--- a/drivers/staging/rtl8192su/r8192U_core.c
+++ b/drivers/staging/rtl8192su/r8192U_core.c
@@ -112,14 +112,30 @@ u32 rt_global_debug_component = \
#define CAM_CONTENT_COUNT 8
static const struct usb_device_id rtl8192_usb_id_tbl[] = {
- /* Realtek */
- {USB_DEVICE(0x0bda, 0x8171)},
- {USB_DEVICE(0x050d, 0x815F)}, /* Belkin F5D8053 v6 */
- {USB_DEVICE(0x0df6, 0x004b)}, /* WL-349 */
- /* Guillemot */
- {USB_DEVICE(0x06f8, 0xe031)},
- //92SU
+ {USB_DEVICE(0x0bda, 0x8171)}, /* Realtek */
{USB_DEVICE(0x0bda, 0x8172)},
+ {USB_DEVICE(0x0bda, 0x8173)},
+ {USB_DEVICE(0x0bda, 0x8174)},
+ {USB_DEVICE(0x0bda, 0x8712)},
+ {USB_DEVICE(0x0bda, 0x8713)},
+ {USB_DEVICE(0x07aa, 0x0047)},
+ {USB_DEVICE(0x07d1, 0x3303)},
+ {USB_DEVICE(0x07d1, 0x3302)},
+ {USB_DEVICE(0x07d1, 0x3300)},
+ {USB_DEVICE(0x1740, 0x9603)},
+ {USB_DEVICE(0x1740, 0x9605)},
+ {USB_DEVICE(0x050d, 0x815F)},
+ {USB_DEVICE(0x06f8, 0xe031)},
+ {USB_DEVICE(0x7392, 0x7611)},
+ {USB_DEVICE(0x7392, 0x7612)},
+ {USB_DEVICE(0x7392, 0x7622)},
+ {USB_DEVICE(0x0DF6, 0x0045)},
+ {USB_DEVICE(0x0E66, 0x0015)},
+ {USB_DEVICE(0x0E66, 0x0016)},
+ {USB_DEVICE(0x0b05, 0x1786)},
+ /* these are not in the official list */
+ {USB_DEVICE(0x050d, 0x815F)}, /* Belkin F5D8053 v6 */
+ {USB_DEVICE(0x0df6, 0x004b)}, /* WL-349 */
{}
};
--
1.7.1

View File

@ -0,0 +1,55 @@
From: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
Date: Tue, 8 Jun 2010 03:46:26 +0200
Subject: [PATCH 1/2] Staging: rtl8192su: remove device ids
commit 60b42de30ad6fb131dc8e9dbd11a8a9ea0ab394c upstream.
This patch removes some device-ids.
The list of unsupported devices was extracted from realteks driver package.
removed IDs are:
(0x0bda, 0x8192)
(0x0bda, 0x8709)
(0x07aa, 0x0043)
(0x050d, 0x805E)
(0x0df6, 0x0031)
(0x1740, 0x9201)
(0x2001, 0x3301)
(0x5a57, 0x0290)
These devices are _not_ rtl819su based.
Signed-off-by: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/staging/rtl8192su/r8192U_core.c | 14 --------------
1 files changed, 0 insertions(+), 14 deletions(-)
diff --git a/drivers/staging/rtl8192su/r8192U_core.c b/drivers/staging/rtl8192su/r8192U_core.c
index 447d647..06b2b97 100644
--- a/drivers/staging/rtl8192su/r8192U_core.c
+++ b/drivers/staging/rtl8192su/r8192U_core.c
@@ -114,22 +114,8 @@ u32 rt_global_debug_component = \
static const struct usb_device_id rtl8192_usb_id_tbl[] = {
/* Realtek */
{USB_DEVICE(0x0bda, 0x8171)},
- {USB_DEVICE(0x0bda, 0x8192)},
- {USB_DEVICE(0x0bda, 0x8709)},
- /* Corega */
- {USB_DEVICE(0x07aa, 0x0043)},
- /* Belkin */
- {USB_DEVICE(0x050d, 0x805E)},
{USB_DEVICE(0x050d, 0x815F)}, /* Belkin F5D8053 v6 */
- /* Sitecom */
- {USB_DEVICE(0x0df6, 0x0031)},
{USB_DEVICE(0x0df6, 0x004b)}, /* WL-349 */
- /* EnGenius */
- {USB_DEVICE(0x1740, 0x9201)},
- /* Dlink */
- {USB_DEVICE(0x2001, 0x3301)},
- /* Zinwell */
- {USB_DEVICE(0x5a57, 0x0290)},
/* Guillemot */
{USB_DEVICE(0x06f8, 0xe031)},
//92SU
--
1.7.1

View File

@ -0,0 +1,17 @@
mtd: m25p80: Add support for Macronix 25L8005
Add support for Macronix 25L8005. Tested on a HP t5325 Thin Client.
Signed-off-by: Martin Michlmayr <tbm@cyrius.com>
[bwh: Adjust for 2.6.35]
--- 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 @@
/* Macronix */
{ "mx25l4005a", INFO(0xc22013, 0, 64 * 1024, 8, SECT_4K) },
+ { "mx25l8005", INFO(0xc22014, 0, 64 * 1024, 16, SECT_4K) },
{ "mx25l3205d", INFO(0xc22016, 0, 64 * 1024, 64, 0) },
{ "mx25l6405d", INFO(0xc22017, 0, 64 * 1024, 128, 0) },
{ "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) },

View File

@ -0,0 +1,235 @@
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 <tbm@cyrius.com>
[bwh: Adjust context for 2.6.35]
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.
+
config MACH_NETSPACE_V2
bool "LaCie Network Space v2 NAS Board"
help
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,6 +10,7 @@
obj-$(CONFIG_MACH_TS219) += ts219-setup.o tsx1x-common.o
obj-$(CONFIG_MACH_TS41X) += ts41x-setup.o tsx1x-common.o
obj-$(CONFIG_MACH_OPENRD) += openrd-setup.o
+obj-$(CONFIG_MACH_T5325) += t5325-setup.o
obj-$(CONFIG_MACH_NETSPACE_V2) += netspace_v2-setup.o
obj-$(CONFIG_MACH_INETSPACE_V2) += netspace_v2-setup.o
obj-$(CONFIG_MACH_NET2BIG_V2) += netxbig_v2-setup.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 <tbm@cyrius.com>
+ *
+ * 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 <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/platform_device.h>
+#include <linux/mtd/physmap.h>
+#include <linux/spi/flash.h>
+#include <linux/spi/spi.h>
+#include <linux/spi/orion_spi.h>
+#include <linux/i2c.h>
+#include <linux/mv643xx_eth.h>
+#include <linux/ata_platform.h>
+#include <linux/gpio.h>
+#include <linux/gpio_keys.h>
+#include <linux/input.h>
+#include <asm/mach-types.h>
+#include <asm/mach/arch.h>
+#include <mach/kirkwood.h>
+#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 <tbm@cyrius.com> */
+ .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

View File

@ -0,0 +1,192 @@
diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types
index 8f10d24..87417a0 100644
--- a/arch/arm/tools/mach-types
+++ b/arch/arm/tools/mach-types
@@ -12,7 +12,7 @@
#
# http://www.arm.linux.org.uk/developer/machines/?action=new
#
-# Last update: Sat May 1 10:36:42 2010
+# Last update: Sun Jun 13 12:08:01 2010
#
# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
#
@@ -1319,7 +1319,7 @@ mistral MACH_MISTRAL MISTRAL 1315
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 @@ wdg002 MACH_WDG002 WDG002 1785
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 @@ ecac2378 MACH_ECAC2378 ECAC2378 2319
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 @@ sch_m490 MACH_SCH_M490 SCH_M490 2386
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 @@ hiram MACH_HIRAM HIRAM 2510
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 @@ omap3_bulldog MACH_OMAP3_BULLDOG OMAP3_BULLDOG 2594
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
@@ -2750,7 +2750,7 @@ h6053 MACH_H6053 H6053 2762
smint01 MACH_SMINT01 SMINT01 2763
prtlvt2 MACH_PRTLVT2 PRTLVT2 2764
ap420 MACH_AP420 AP420 2765
-htcshift MACH_HTCSHIFT HTCSHIFT 2766
+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
@@ -2761,7 +2761,7 @@ 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
-lpc2 MACH_LPC2 LPC2 2777
+lpc_evo MACH_LPC2 LPC2 2777
olympus MACH_OLYMPUS OLYMPUS 2778
vortex MACH_VORTEX VORTEX 2779
s5pc200 MACH_S5PC200 S5PC200 2780
@@ -2788,7 +2788,7 @@ ti8168evm MACH_TI8168EVM TI8168EVM 2800
neocoreomap MACH_NEOCOREOMAP NEOCOREOMAP 2801
withings_wbp MACH_WITHINGS_WBP WITHINGS_WBP 2802
dbps MACH_DBPS DBPS 2803
-sbc9261 MACH_SBC9261 SBC9261 2804
+at91sam9261 MACH_SBC9261 SBC9261 2804
pcbfp0001 MACH_PCBFP0001 PCBFP0001 2805
speedy MACH_SPEEDY SPEEDY 2806
chrysaor MACH_CHRYSAOR CHRYSAOR 2807
@@ -2804,3 +2804,97 @@ 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

View File

@ -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 <milinevskyy@gmail.com>
[bwh: 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.
+
config MACH_NETSPACE_V2
bool "LaCie Network Space v2 NAS Board"
help
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 <dhaval.vasa@einfochips.com> */
+ .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

View File

@ -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 <tbm@cyrius.com>
--- 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
};

View File

@ -47,5 +47,18 @@
+ features/all/revert-ipv4-Make-INET_LRO-a-bool-instead-of-tristate.patch
+ bugfix/all/ipr-add-writeq-definition-if-needed.patch
+ bugfix/mips/mips-Set-io_map_base-for-several-PCI-bridges-lacking.patch
+ bugfix/all/Staging-rtl8192s_usb-Fix-device-ID-table.patch
+ bugfix/all/Staging-rtl8192u_usb-Add-LG-device-ID-043e-7a01.patch
+ bugfix/all/mantis-Select-correct-frontends.patch
+ features/arm/mach-types-update-2010-06-13.patch
+ features/arm/openrd-ultimate.patch
+ features/arm/ts219-mpp44.patch
+ features/arm/hp-t5325.patch
+ features/all/m25p80-add-support-mx25l8005.patch
+ bugfix/all/3c59x-Specify-window-for-access-to-windowed-regs.patch
+ bugfix/all/3c59x-Use-fine-grained-locks-for-MII-and-windowed-regs.patch
+ bugfix/all/ipv6-Clamp-reported-valid_lft-to-a-minimum-of-0.patch
+ bugfix/all/ipv6-Use-interface-max_desync_factor.patch
+ bugfix/all/rtl8192su-Clean-up-in-case-of-an-error-in-mo.patch
+ bugfix/all/rtl8192su-Fix-procfs-code-for-interfaces-not.patch
+ bugfix/all/rtl8192su-remove-device-ids.patch
+ bugfix/all/rtl8192su-add-device-ids.patch

15
debian/po/cs.po vendored
View File

@ -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 <michal.simunek@gmail.com>\n"
"Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -304,10 +305,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
@ -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

19
debian/po/da.po vendored
View File

@ -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 <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <debian-l10n-danish@lists.debian.org> \n"
"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -313,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 ""
"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
@ -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."

17
debian/po/de.po vendored
View File

@ -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 <linux@wansing-online.de>\n"
"Language-Team: Debian German <debian-l10n-german@lists.debian.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -323,10 +324,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
@ -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

45
debian/po/es.po vendored
View File

@ -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 <ocampagne@gmail.com>, 2010
#
# - Updates
# Changes:
# - Initial translation
# Omar Campagne <ocampagne@gmail.com> 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"
"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"
"Project-Id-Version: linux-2.6 2.6.32+5\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 <ocampagne@gmail.com>\n"
"Language-Team: Debian l10n Spanish <debian-l10n-spanish@lists.debian.org>\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
@ -353,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
@ -389,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

15
debian/po/et.po vendored
View File

@ -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 <turakas gmail com>\n"
"Language-Team: Estonian <et@li.org>\n"
"Language: et\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -311,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 ""
"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
@ -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

15
debian/po/fr.po vendored
View File

@ -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 <david@tilapin.org>\n"
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -332,10 +333,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
@ -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

15
debian/po/ja.po vendored
View File

@ -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 <kmuto@debian.org>\n"
"Language-Team: Japanese <debian-japanese@lists.debian.org>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -312,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 ""
"このシステムは、${kimage}-=V について記述した有効な /etc/${loader}.conf ファ"
"イルを使用しています。=ST-image-=V の削除はこのファイルを無効化することになり"
"イルを使用しています。linux-image-=V の削除はこのファイルを無効化することになり"
"ます。"
#. Type: boolean
@ -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

32
debian/po/pt.po vendored
View File

@ -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 <a_monteiro@netcabo.pt>\n"
"Language-Team: Portuguese <traduz@debianpt.org>\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -321,10 +322,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
@ -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}"

15
debian/po/ru.po vendored
View File

@ -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 <yuray@komyakino.ru>\n"
"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -316,10 +317,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
@ -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

15
debian/po/sv.po vendored
View File

@ -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 <brother@bsnet.se>\n"
"Language-Team: Swedish <debian-l10n-swedish@lists.debian.org>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -314,10 +315,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
@ -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

View File

@ -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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
@ -270,7 +271,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
@ -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

16
debian/po/vi.po vendored
View File

@ -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 <clytie@riverland.net.au>\n"
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -309,10 +310,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
@ -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

2
debian/rules vendored
View File

@ -56,7 +56,7 @@ maintainerclean:
clean: debian/control
dh_testdir
rm -rf $(BUILD_DIR) $(STAMPS_DIR) debian/lib/python/debian_linux/*.pyc debian/linux-headers-* debian/linux-image-*
rm -rf $(BUILD_DIR) $(STAMPS_DIR) debian/lib/python/debian_linux/*.pyc debian/linux-headers-* debian/linux-image-* debian/linux-tools-*
dh_clean
binary-indep: $(STAMPS_DIR)/source-base

42
debian/rules.real vendored
View File

@ -32,12 +32,14 @@ setup_env += DISTRIBUTION_OFFICIAL_BUILD=1 DISTRIBUTION_UPLOADER=$(UPLOADER) DIS
MAKE_CLEAN = $(setup_env) $(MAKE)
MAKE_SELF := $(MAKE) -f debian/rules.real $(MAKEOVERRIDES)
MAKEOVERRIDES =
MAKE_PERF_VARS = prefix=/usr NO_PERL=1 MBITS=
#
# Targets
#
binary-arch-arch: install-headers_$(ARCH)
binary-arch-arch: install-libc-dev_$(ARCH)
binary-arch-arch: install-tools_$(ARCH)
binary-arch-featureset: install-headers_$(ARCH)_$(FEATURESET)
binary-arch-flavour: install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
ifeq ($(DEBUG),True)
@ -133,6 +135,14 @@ $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain-xen:
python debian/bin/buildcheck.py $(DIR) $(ARCH) $(FEATURESET) $(FLAVOUR)
@$(stamp)
$(STAMPS_DIR)/build-tools_$(ARCH): SOURCE_DIR=$(BUILD_DIR)/source
$(STAMPS_DIR)/build-tools_$(ARCH): DIR=$(BUILD_DIR)/build-tools_$(ARCH)
$(STAMPS_DIR)/build-tools_$(ARCH): $(STAMPS_DIR)/source
rm -rf $(DIR)
cp -al $(SOURCE_DIR) $(DIR)
+$(MAKE_CLEAN) -C '$(DIR)/tools/perf' $(JOBS_ARG) $(MAKE_PERF_VARS) all man
@$(stamp)
$(STAMPS_DIR)/build-doc: SOURCE_DIR=$(BUILD_DIR)/source
$(STAMPS_DIR)/build-doc: DIR=$(BUILD_DIR)/build-doc
$(STAMPS_DIR)/build-doc: $(STAMPS_DIR)/source
@ -382,6 +392,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 \
@ -395,24 +406,17 @@ 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/=ST/linux/g' \
-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
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
@ -474,6 +478,27 @@ ifeq ($(MODULES),True)
endif
+$(MAKE_SELF) install-base BUILDDEB_ARGS="-Zbzip2"
install-tools_$(ARCH): PACKAGE_NAME = linux-tools-$(UPSTREAMVERSION)
install-tools_$(ARCH): PACKAGE_DIR = debian/$(PACKAGE_NAME)
install-tools_$(ARCH): DIR = $(BUILD_DIR)/build-tools_$(ARCH)
install-tools_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
install-tools_$(ARCH): $(STAMPS_DIR)/build-tools_$(ARCH)
dh_testdir
dh_testroot
dh_prep
dh_installdirs usr/bin
+$(MAKE_CLEAN) -C '$(DIR)/tools/perf' $(MAKE_PERF_VARS) \
DESTDIR='$(CURDIR)/$(PACKAGE_DIR)' install install-man
# Rename command and manual pages to include version
mv $(PACKAGE_DIR)/usr/bin/perf $(PACKAGE_DIR)/usr/bin/perf_$(UPSTREAMVERSION)
for manpage in $(PACKAGE_DIR)/usr/share/man/*/*; do \
mv "$$manpage" "$$(echo "$$manpage" | sed 's,/perf,&_$(UPSTREAMVERSION),')" || exit; \
done
# Fix up cross-references
sed -i '/^\.SH "SEE ALSO"/,/^\.SH/ { s/perf-/perf_$(UPSTREAMVERSION)-/g }' \
$(PACKAGE_DIR)/usr/share/man/*/*
+$(MAKE_SELF) install-base
install-patch: PACKAGE = linux-patch-debian-$(VERSION)
install-patch: pbase := /usr/src/kernel-patches/all/$(UPSTREAMVERSION)
install-patch: pfull := debian/$(PACKAGE)$(pbase)
@ -516,7 +541,8 @@ install-linux-base:
dh_testdir
dh_testroot
dh_prep
dh_install -X.svn
dh_install debian/bin/perf /usr/bin
dh_installman debian/perf.1
dh_installdebconf
+$(MAKE_SELF) install-base

View File

@ -1,3 +1,15 @@
Package: linux-tools-@version@
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: linux-base (>= 2.6.32-16)
Suggests: linux-doc-@version@
Description: Performance analysis tools for Linux @upstreamversion@
This package contains the 'perf' performance analysis tools for Linux
kernel version @upstreamversion@.
.
The linux-base package contains a 'perf' command which will invoke the
appropriate version for the running kernel.
Package: linux-source-@version@
Architecture: all
Section: kernel

View File

@ -3,7 +3,7 @@ Priority: optional
Maintainer: Debian Kernel Team <debian-kernel@lists.debian.org>
Uploaders: Bastian Blank <waldi@debian.org>, Frederik Schüler <fs@debian.org>, maximilian attems <maks@debian.org>, Ben Hutchings <ben@decadent.org.uk>
Standards-Version: 3.8.4
Build-Depends: debhelper (>> 7), cpio, module-init-tools, python, lzma [armel]
Build-Depends-Indep: bzip2, python-support, xmlto
Build-Depends: debhelper (>> 7), cpio, module-init-tools, python, lzma [armel], libelf-dev, asciidoc, xmlto
Build-Depends-Indep: bzip2, python-support
Vcs-Svn: svn://svn.debian.org/svn/kernel/dists/sid/linux-2.6/
Vcs-Browser: http://svn.debian.org/wsvn/kernel/dists/sid/linux-2.6/?op=log

View File

@ -11,16 +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 $kimage = "=K";
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 $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
@ -28,10 +27,9 @@ 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 = "=ST-image-$version";
my $package_name = "linux-image-$version";
my $explicit_do_loader = '';
my $Loader = "NoLOADER"; #
@ -52,7 +50,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 +64,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;
@ -118,14 +110,8 @@ 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 = "/$image_dir/"; # same as realimageloc
$image_dest = $realimageloc;
}
# Tack on at least one trainling /
@ -149,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;
@ -196,11 +175,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 +807,7 @@ else {
}
# set the env var stem
$ENV{'STEM'} = "=ST";
$ENV{'STEM'} = "linux";
sub run_hook {
my $type = shift;
my $script = shift;

View File

@ -19,14 +19,13 @@ 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
my $kimage = "=K"; # Should be empty, mostly
my $kimage = "=K";
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
@ -34,10 +33,9 @@ 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 = "=ST-image-$version";
my $package_name = "linux-image-$version";
my $Loader = "NoLOADER"; #
$Loader = "LILO" if $loader =~ /^lilo/io;
@ -56,13 +54,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 +97,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/";
@ -114,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;
@ -209,7 +196,7 @@ sub image_magic {
}
# set the env var stem
$ENV{'STEM'} = "=ST";
$ENV{'STEM'} = "linux";
sub exec_script {
my $type = shift;

View File

@ -10,11 +10,10 @@ $|=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 $image_dir = "=D"; # where the image is located
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
@ -22,14 +21,13 @@ 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 = "=ST-image-$version";
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 +37,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 (<CONF>) {
@ -135,7 +129,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;

View File

@ -8,23 +8,21 @@ 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
my $kimage = "=K"; # Should be empty, mostly
my $kimage = "=K";
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
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 = "=ST-image-$version";
my $package_name = "linux-image-$version";
my $Loader = "NoLOADER"; #
$Loader = "LILO" if $loader =~ /^lilo/io;
@ -43,13 +41,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;
@ -59,21 +53,14 @@ 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";
}
}
# 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 (<CONF>) {
@ -204,7 +191,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 +202,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;

View File

@ -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