Summary of changes from v2.6.10-rc1 to v2.6.10-rc2 ============================================ [PATCH] defxx trivial updates From: "Maciej W. Rozycki" Here are a few obvious clean-ups I did to the driver. Signed-off-by: Maciej W. Rozycki Signed-off-by: Andrew Morton [PATCH] defxx device name fixes From: "Maciej W. Rozycki" This is a fix for the "fddi%d" device name reported literally due to the switch from init_fddidev() to alloc_fddidev(). Plus related updates to module information. Applies on top of the 2.4.27-defxx-sync2681 or 2.6.8.1-defxx-misc patches, respectively. Please apply. Signed-off-by: Maciej W. Rozycki Signed-off-by: Andrew Morton [PATCH] sparse: fix warnings in net/irda/* From: "Mika Kukkonen" CHECK net/irda/irlan/irlan_client.c net/irda/irlan/irlan_client.c:237:14: warning: assignment expression in conditional Signed-off-by: Andrew Morton [PATCH] de4x5 warning fix Ugh. drivers/net/tulip/de4x5.c: In function `mii_get_phy': drivers/net/tulip/de4x5.c:5092: warning: operation on `i' may be undefined Signed-off-by: Andrew Morton [PATCH] remove old version check from mac8390 This 'netdevice' define will end up in the 'tags' file. Its not used, so just remove it. [netdev] Remove no-op in-driver implementations of ->set_config() JFS: Fix extent overflow bugs The code which handled adding a new extent when it is unable to grow an extent past the maximum size made an invalid assumption about when the root page would split. Signed-off-by: Dave Kleikamp ALSA CVS update ENS1370/1+ driver Fixed AC3-passthru on ens1371/1373 boards. SRC is bypassed when the sample rate is 48k, so that the non-audio signal won't be broken. The other sample rates still need SRC. Signed-off-by: Takashi Iwai ALSA CVS update ICE1712 driver Allow the private EEPROM image for evaluation boards The driver may have a private EEPROM image instead of reading from the board (as well as ice1724 does). It'll be helpful for test boards. Signed-off-by: Takashi Iwai ALSA CVS update ES18xx driver Fixed a bug in setting the filter register. A fix from the kernel OSS driver. The original report/patch is from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=204147 Signed-off-by: Takashi Iwai [ALSA] Added __GFP_NORETRY to avoid OOM-killer Memalloc module __GFP_NORETRY is added to the DMA buffer allocator to avoid triggering OOM-killer. Signed-off-by: Takashi Iwai [ALSA] Enable __GFP_NOWARN as default for buffer allocation Memalloc module __GFP_NOWARN is enabled for DMA buffer allocation regardless of its size. The DMA buffer allocation is not a critical task. Signed-off-by: Takashi Iwai [ALSA] Korg1212 misc fixes KORG1212 driver The DSP firmware download timeout has been increased; Some concurrent device settings has been fixed (I have shameless copied some code from RME9652); and One debug message was fixed. Signed-off-by: Haroldo Gamal Signed-off-by: Takashi Iwai [ALSA] AC97 96 kHz sample rate support Documentation,AC97 Codec Core,Intel8x0 driver Signed-off-by: Clemens Ladisch [ALSA] add missing ifdef for disabling MIDI Intel8x0 driver Signed-off-by: Signed-off-by: Clemens Ladisch [ALSA] suppress auto-loading of modules in module_init(). ALSA sequencer The auto-loading of sequencer modules is suppressed in module_init(). The recent module-init-tools may cause blocking. Signed-off-by: Takashi Iwai [ALSA] Fix latency in ens1371 driver ENS1370/1+ driver The high latency in prepare callback of ens1371 driver is fixed. The *_rate_set() functions are moved outside of spinlock, and cond_resched() is inserted in the busy probing loop. Signed-off-by: Takashi Iwai [ALSA] add AC97 quirk for Fujitsu-Siemens E4010 Intel8x0 driver Signed-off-by: Signed-off-by: Clemens Ladisch [ALSA] remove gameport/MIDI support Documentation,PCI drivers,Intel8x0 driver snd-intel8x0's gameport/MIDI code has quite a few problems: the port addresses cannot be detected reliably (or not at all with newer LPC bridge devices), joystick port address 0x208 isn't supported, the MIDI interrupt isn't detected, PnP isn't supported, changing the port addresses in the LPC bridge configuration doesn't affect the devices in the Super-I/O chip connected to the LPC bus, and registering this driver for the LPC bridge PCI device prevents other drivers using the LPC's PCI id from loading later. All these problems can be cured by removing the offending code and using the proper modules for these devices (ns558/snd-mpu401) instead. Signed-off-by: Clemens Ladisch [ALSA] add mixer quirk for LineX FM Transmitter USB generic driver The LineX FM Transmitter needs a mixer quirk entry to ignore control errors. Signed-off-by: Lonnie Mendez Signed-off-by: Clemens Ladisch [ALSA] [ac97] Added VIA shared type. AC97 Codec Core,VIA82xx driver Added a new shared type AC97_SHARED_TYPE_VIA for via82xx southbridge to share codecs between audio and modem drivers. Signed-off-by: Sasha Khapyorsky Signed-off-by: Takashi Iwai [ALSA] [ac97] Check ac97 codec id in quirk table AC97 Codec Core Added codec_id field to ac97_quirk struct so that the devices with the same PCI subsystem IDs but with different AC97 chips can be distinguished properly. Signed-off-by: Takashi Iwai [ALSA] ac97 quirk entry for Soltek SL-75DRV5 VIA82xx driver Added an ac97 quirk entry for Soltek SL-75DRV5. Since the PCI subsystem id is identical with ASRock K7VT2, codec_id is used additionally to tell between them. Signed-off-by: Takashi Iwai [ALSA] inverted EAPD support Documentation,AC97 Codec Core,Intel8x0 driver,CS46xx driver Since there are more than one (broken) implementation of EAPD bit on ac97 chips, the new scaps bit is added for the inverted EAPD. Also, AC97_TUNE_INV_EAPD is used to tune this behavior later by snd_ac97_tune_hardware(). The ac97 quirk entry for Sony S1XP is added to turn this on. Signed-off-by: Takashi Iwai [ALSA] detect errors reported by the hardware BT87x driver stop the PCM if the hardware reports FIFO/PCI errors Signed-off-by: Clemens Ladisch [ALSA] Added Compaq Evo W4000 quirk Intel8x0 driver Added an AC97 quirk entry for Compaq Evo W4000. Signed-off-by: Takashi Iwai [ALSA] [emu10k1] Audigy DSP support EMU10K1/EMU10K2 driver This patch will add better support for Audigy DSP. More gpr, instruction and tram. It will break binary compatibility for app which use emu10k1 hwdep. Signed-off-by: Peter Zubaj Signed-off-by: Takashi Iwai [PATCH] add missing pci_disable_device for e1000 From: Kenji Kaneshige This patch adds pci_disable_device() into e1000_remove(). If your driver decides to stop using the device, it should call pci_disable_device() to deallocate any IRQ resources, disable PCI bus-mastering, etc. Signed-off-by: Kenji Kaneshige Signed-off-by: Andrew Morton [PATCH] e100 - Use pci_device_name for syslog messages till registering netdevice [PATCH] e100 - use NET_IP_ALIGN to set rx data buffer alignment [PATCH] e100 driver version number update [PATCH] e1000 - use pci_device_name for syslog messages till registering netdevice. [PATCH] e1000 - Removed support for advanced TCO features [PATCH] e1000 Check value returned by from pci_enable_device [PATCH] e1000 - Fix VLAN filter setup errors (while running on PPC) [PATCH] e1000 - Polarity reversal workaround for 10F/10H links [PATCH] e1000 - Ethtool -- 82545 do not support WoL [PATCH] (1/4) acenic - use netdev_priv Trivial, use netdev_priv Signed-off-by: Stephen Hemminger [PATCH] (2/4) acenic - eliminate MAX_SKB_FRAGS #if Since MAX_SKB_FRAGS is defined in both 2.4 and 2.6, it makes sense to eliminate this old #if code. Signed-off-by: Stephen Hemminger [PATCH] (3/4) acenic - __iomem warnings cleanup This cleans all the compile warnings and most of the sparse warnings for the acenic driver relating to io memory space. Remaining warnings are because tx_ring can be either in i/o or not depending on the version of the card. Not tested on old TIGON card. Signed-off-by: Stephen Hemminger [PATCH] (4/4) acenic - don't spin forever in hard_start_xmit If driver is stuck due to ring full and hardware or link error, don't spin forever in the hard_start_xmit routine. Signed-off-by: Stephen Hemminger [PATCH] swsuspend for ne2k-pci cards Author: Éric Brunet [PATCH] via-velocity: wrong module name in Kconfig documentation Copy/paste abuse. [PATCH] Stop queue on close in hdlcdrv The stop method of a driver should ensure queueing is stopped ... [ALSA] Fix the OSS PCM emulation - O_NONBLOCK write ALSA<-OSS emulation This patch fixes the OSS PCM write() in O_NONBLOCK mode. The previous code had not returned partial written bytes. Signed-off-by: Jaroslav Kysela [ALSA] Added support for AudioTrak Prodigy 192 cards ICE1712 driver,ICE1724 driver Signed-off-by: Kouichi ONO Signed-off-by: Jaroslav Kysela [ALSA] add UA-1000 sample rate detection USB generic driver Instead of assuming 48 kHz, the driver now detects the current sample rate setting. Signed-off-by: Clemens Ladisch [ALSA] mark snd_card_dummy_new_mixer() as static Generic drivers Signed-off-by: Jaroslav Kysela [ALSA] [ac97 core] added AC97_SCAP_DETECT_BY_VENDOR flag AC97 Codec Core,Intel8x0 driver This patch adds a AC97_SCAP_DETECT_BY_VENDOR flag for Xbox. If the flag is set, the AC97 codec is detected only by reading of a reasonable vendor ID. It seems that Xbox has accessible only vendor/device ID registers for reading. Also, a new xbox parameter for snd-intel8x0 has been introduced to let user force this behaviour. Signed-off-by: Jaroslav Kysela [ALSA] copy_to_user() return value checking in snd_seq_read() ALSA sequencer Here's a patch that ensures the copy_to_user() return value gets checked and acted upon if it is != 0 (that is, if we failed to copy all data) in snd_seq_read(). Signed-off-by: Jesper Juhl Signed-off-by: Jaroslav Kysela [ALSA] Added missing header file for AudioTrak Prodigy 192 cards ICE1712 driver Signed-off-by: Kouichi ONO Signed-off-by: Jaroslav Kysela [ALSA] Fix driver name for nforce and clean-up Intel8x0-modem driver Driver name is always ICH-MODEM as defined in alsa-lib config. Cosmetic cleanups: unused include files, MODULE_DEVICE update. Signed-off-by: Sasha Khapyorsky Signed-off-by: Takashi Iwai [ALSA] show codec name in card description AC97 Codec Core,ATIIXP driver,Intel8x0 driver,VIA82xx driver Include the AC97 codec name in the card longname of motherboard controllers. (to enhance the chance of getting useful bug reports :) Signed-off-by: Clemens Ladisch [ALSA] adjust intel8x0 joystick documentation Documentation Signed-off-by: Clemens Ladisch [ALSA] enhance Kconfig help texts ARM,ALSA Core,Generic drivers,ISA,PARISC,PCI drivers,PCMCIA Kconfig,PPC USB add module names and references to other documentation files add more help for generic options Signed-off-by: Clemens Ladisch [ALSA] remove 'ALSA' from Kconfig USB menu name USB make ISA, PCI and USB device look the same in {q,x,menu}config Signed-off-by: Thierry Vignaud Signed-off-by: Clemens Ladisch [ALSA] fix ALI M5451 description PCI drivers modify ali5451 and intel8x0 help texts to better distinguish between M5451 and M5455 AC97 controllers Signed-off-by: Clemens Ladisch [ALSA] Fixes for PCM/control 32bit emulation PCM Midlevel,IOCTL32 emulation - Size mismatch of control element struct due to packed attribute is removed. - A typo in PCM syncptr definition is fixed. - Suppress the mmap of PCM status/control records on 32bit emulation mode since the record size doesn't match. Signed-off-by: Takashi Iwai [ALSA] Support for capture of 16,32,64 channels on emu10k1 device 2 EMU10K1/EMU10K2 driver This patch changes default constraint on 'EFX voices mask' control and allow capture of 1, 2, 4, 8, 16, 32, 64 channels instead of 1, 2, 4, 8. Signed-off-by: Peter Zubaj Signed-off-by: Takashi Iwai [ALSA] Remove delay() to improve latency ES1968 driver - Removed mdelay() in ac97 codec handling. - Improved the clock measurement routine to allow the longer sleep time. Now it invokes schedule_timeout() instead of a long mdelay(). Signed-off-by: Takashi Iwai [ALSA] Improved clock measurement Intel8x0 driver Improved the clock measurement routine to allow the longer sleep time. Now it invokes schedule_timeout() instead of a long mdelay(). Signed-off-by: Takashi Iwai [ALSA] Fixed the obsolete description in comments IOCTL32 emulation Signed-off-by: Takashi Iwai [ALSA] Fix auto-loading of sequencer modules ALSA sequencer Allow auto-loading of sequencer modules except for module init time (which may cause blocking). Signed-off-by: Takashi Iwai [ALSA] Fix iomem variable type Documentation,ALSA Core,MPU401 UART,OPL3,CS46xx driver,YMFPCI driver ATIIXP driver,ATIIXP-modem driver,CS4281 driver,Intel8x0 driver Intel8x0-modem driver,RME32 driver,RME96 driver,au88x0 driver KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver RME9652 driver,PPC Tumbler driver The type of iomem variables is changed to void __iomem *. Signed-off-by: Takashi Iwai [ALSA] Added support of Mediastation ICE1712 driver The support for Lionstracs Mediastation is added. The model name is 'mediastation'. Signed-off-by: Takashi Iwai [ALSA] rme32 segfault fix RME32 driver - disables buffer prefill in halfduplex mode, which fixes segmentation fault of rme32 for playback in halfduplex mode Signed-Off-By: Martin Langer Signed-off-by: Takashi Iwai [ALSA] [hdsp] Fix for 64bit architectures RME HDSP driver Fixed the loading of firmware data and the handling of meter mmap on 64bit architectures. Signed-off-by: Takashi Iwai [ALSA] Fix SPDIF rate setting for old ICHs Intel8x0 driver Force to set SPDIF rate when PCMOUT is used on ICH[1-3]. ICH4, NFORCE and ALI uses a separate DMA for SPDIF. Signed-off-by: Takashi Iwai [ALSA] use card-specific driver name au88x0 driver use CARD_NAME_SHORT as driver name to allow different configuration file aliases in alsa-lib Signed-off-by: Clemens Ladisch [ALSA] remove 'Rawmidi' part from sequencer port names ALSA sequencer Signed-off-by: Clemens Ladisch [ALSA] don't stop capture on errors BT87x driver don't stop capture on errors because there's too much broken hardware out there Signed-off-by: Clemens Ladisch [PATCH] e1000 update -- fix MODULE_PARM, module_param, module_param_array [PATCH] igxb speedup The interrupt routine will call both those functions even if the first doesn't have any work to do. Signed-off-by: Andrew Morton [PATCH] e1000 sparc64 dma_mapping build fix drivers/net/e1000/e1000_main.c: In function `e1000_probe': drivers/net/e1000/e1000_main.c:389: error: `DMA_64BIT_MASK' undeclared (first use in this function) drivers/net/e1000/e1000_main.c:389: error: (Each undeclared identifier is reported only once drivers/net/e1000/e1000_main.c:389: error: for each function it appears in.) drivers/net/e1000/e1000_main.c:392: error: `DMA_32BIT_MASK' undeclared (first use in this function) Signed-off-by: Andrew Morton [PATCH] net/de2104x: replace schedule_timeout() with msleep() Any comments would be appreciated. Description: Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan [PATCH] ixgb: fix endianness issue for tx cleanup This patch fixes tx cleanup so that it works correctly on big endian machines. This time I remembered to update the version string. Signed-off-by: Jesse Brandeburg [PATCH] e100: fix NAPI race with watchdog While polling in NAPI mode, we were occassionally getting interrupts re-enabled by the watchdog trying to generate a software interrupt. Fix is to add a spinlock around that shared hardware register to allow a read-modify-write operation. This was nasty nasty. I don't like the spinlock in the hot path but i see no other way. Comments are welcome. Updates the driver version as well. Signed-off-by: Jesse Brandeburg [PATCH] e100: whitespace and DPRINTKS This is a short patch to add a couple of new DPRINTKS and fix some whitespace issues. Signed-off-by: Jesse Brandeburg PPC32: remove bogus eXecute permissions Signed-off-by: Eugene Surovegin [PATCH] janitor: net/sis900: pci_find_device to pci_get_device Replace pci_find_device with pci_get_device/pci_dev_put to plug race with pci_find_device. Compile tested. Signed-off-by: Scott Feldman [PATCH] janitor: net/tulip: pci_find_device to pci_dev_present Replace pci_find_device with pci_dev_present. Compile tested. Signed-off-by: Scott Feldman [PATCH] ns83820: add vlan tag hardware acceleration support I was poking about in the National Semi 83820 driver, and I happened to notice that the chip supports vlan tag add/strip assist in hardware, but the driver wasn't making use of it. This patch adds in the driver support to use the vlan tag add/remove hardware, and enables the drivers use of the kernel vlan hwaccel interface. Signed-off-by: Neil Horman [PATCH] fix acenic hotplug From: Anton Blanchard Now that the acenic has been converted to the hotplug API a number of uses of __init and __initdata have to be changed to __devinit and __devinitdata. Acked-by: Jes Sorensen Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton [ALSA] Fix the variable types in struct RME HDSP driver The variable types are declared explicitly like u32 and u64 to avoid ambiguity. Signed-off-by: Takashi Iwai [ALSA] more au88x0 eq cleanups au88x0 driver cleanup au88x0 equalizer code by factoring out a sign_invert function that ensures all negative integers become positive. Signed-off-by: Jeff Muizelaar Signed-off-by: Takashi Iwai [ALSA] Fix HDSP meter ioctl RME HDSP driver Fixes and clean up of GET_PEAK_RMS ioctl. Signed-off-by: Takashi Iwai [ALSA] Fix DXS entry for GA-7VAX VIA82xx driver From: 1 1 I have tested my MB GA-7VAX and want to say you that you should use VIA_DXS_ENABLE instead VIA_DXS_NO_VRA. On the maximum volume output level with VIA_DXS_NO_VRA there is abnormal loud noise, and with VIA_DXS_ENABLE there are much less noises. And I have detected unused code section. Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai [ALSA] Aureon S/PDIF input fixes ICE1712 driver Fix GPIO pin directions and use RXP1 instead of RXP0 as S/PDIF source on CS8415A Signed-off-by: Peter Christensen Signed-off-by: Takashi Iwai [ALSA] Aureon S/PDIF input fixes ICE1712 driver GPIO directions changed * GPIO>22 not configured as they do not exist * GPIO22 set to output (CS8415A CS pin) * GPIO21 set to input. (SPI MISO pin) Init sequence of CS8415A changed: * SWCLK is set to 1 (OMCK output to RMCK pin) * MUX2:0 is set to 001 (S/PDIF input on RXP1) * SODEL is set to 1 (MSB of SDOUT data occurs if the second OSCLK period after the OLRCK edge) * SOLRPOL is set to 1 (SDOUT data is for the right channel with OLRCK is high) Signed-off-by: Peter Christensen Signed-off-by: Takashi Iwai [ALSA] Fix drain/drop of linked PCM streams PCM Midlevel This patch fixes the dead-locking of linked PCM streams when drain/drop is called. The counter field is added to pcm group struct to handle link/unlink more easily. When the PCM streams are linked, start/drain/drop are operated to all linked streams. The drain will wait until draining of all linked streams are finished. The XRUN triggers stopping of all linked streams and changes the state of all of them to XRUN even if only one of them is actually in XRUN. Signed-off-by: Takashi Iwai [ALSA] snd-usb-usx2y 0.7.3 USB generic driver,USB USX2Y Use usb_kill_urb() instead of deprecated usb_unlink_urb() Signed-off-by: Karsten Wiese Signed-off-by: Takashi Iwai [ALSA] Replace with usb_kill_urb() USB generic driver Use usb_kill_urb() instead of deprecated usb_unlink_urb() for sync'ed URBs. Signed-off-by: Takashi Iwai [ALSA] Fix peakmeter ioctl on big-endian RME HDSP driver Fixed the data transfer of peakmeter ioctl on big-endian architectures. Signed-off-by: Takashi Iwai [ALSA] Clean up ice1712 chip struct ICE1712 driver Clean up of ice1712 chip struct. The board-specific data are moved to spec union. Signed-off-by: Takashi Iwai [ALSA] Adds AC'97 support to Aureon cards. ICE1712 driver This patch adds support of the STAC9744 chip located on Aureon cards, enabling volume control for analogue input channels. It also adds the posibility of listening to both the analogue inputs and the digital audio. Signed-off-by: Peter Christensen Signed-off-by: Takashi Iwai [ALSA] Add reset_workaround module option Documentation,NM256 driver - The workaround for some laptops like Dell Latitude LS can be specified via reset_workaround module option, too. - The check of reset_workaround is merged into the quirk table. - The spinlock in AC97 reset callback is removed. Signed-off-by: Takashi Iwai [ALSA] add overclocking option for the analog input PCI drivers,BT87x driver adds CONFIG_SND_BT87X_OVERCLOCK to enable sample rates up to 1792000 Hz when recording from the analog input Signed-off-by: Clemens Ladisch [ALSA] Add (experimental) CM9761 support AC97 Codec Core CM9761 support patch is added. At least, SPDIF and 4.0 output seems working. Signed-off-by: Takashi Iwai [ALSA] Fix SPDIF support on ICH4/5/6 Intel8x0 driver Fixed SPDIF support on ICH4/5/6. The driver name of these chipsets is set as 'ICH4' to tell from the older ICHs. Signed-off-by: Takashi Iwai [ALSA] Fix AC97 master mute ICE1712 driver Instead of muting the AC97 chip and thus eliminating the possibility of recording, muting is done by setting front playback to DAC only instead of DAC+AUX. Signed-off-by: Peter Christensen Signed-off-by: Takashi Iwai [ALSA] Fix AC3 playback on SB Live EMU10K1/EMU10K2 driver Fix the AC3 playback on SB Live! (Audigy has been working fine.) Signed-off-by: Takashi Iwai ALSA CVS update USB generic driver add Edirol UA-25 support Signed-off-by: Clemens Ladisch [ALSA] Fix / clean up OPL3 for CS4281 Documentation,OPL3,CS4281 driver Moved cs4281-specific code into cs4281 driver from opl3. The ugly type-casting is removed now. The opl3 instance can be created via snd_opl3_new() (followed by snd_opl3_init()) to allow the driver to set its own command and private_data/private_free. snd_opl3_create() is kept for compatibility as it was. Signed-off-by: Takashi Iwai [ALSA] fix DAC slot assignment AC97 Codec Core write the DAC slot assignment bits to the extended ID register where they belong instead of overwriting the SPSA bits in the extended status register Signed-off-by: Clemens Ladisch [ALSA] fix description of SPSA=3 in the proc file AC97 Codec Core Signed-off-by: Clemens Ladisch [ALSA] fix snd_opl3_init documentation Documentation Signed-off-by: Clemens Ladisch [ALSA] Clean up bitmap EMU10K1/EMU10K2 driver Clean up the declaration of bitmap with DECLARE_BITMAP(). Signed-off-by: Takashi Iwai [ALSA] Fix dead blocking during module_init() ALSA sequencer,ALSA<-OSS sequencer Fixed the auto-loading of modules during module_init(). Signed-off-by: Takashi Iwai [ALSA] Fix pci_restore_state() ALSA Core Fixed pci_save_state() call with the new API. Signed-off-by: Takashi Iwai [ALSA] Add KERN_ERR to error messages ALSA Core Added KERN_ERR prefix to error messages in snd_assert() and snd_runtime_check() macros. Signed-off-by: Takashi Iwai [ALSA] Fix typo ALSA sequencer Fixed a typo for snd_seq_autoload_lock() in the last change (only for the case without CONFIG_KMOD). Signed-off-by: Takashi Iwai [ALSA] Added dxs quirk for QDI Kudoz 7X/600-6AL VIA82xx driver Added the default dxs_support entry for QDI Kudoz 7X/600-6AL. Signed-off-by: Takashi Iwai [ALSA] Fix ac97 codec reset and clean up CS46xx driver - Fixed AC97 codec RESET for duel codecs (only for CONFIG_SND_CS46XX_NEW_DSP) - Clean up the codec detection routine Signed-off-by: Takashi Iwai [ALSA] Fix compilation (sync with parisc tree) PARISC Harmony driver Sync with parisc tree - fix compilations, module description fixes. Signed-off-by: Takashi Iwai [ALSA] Fix Aureon CCS init sequence ICE1712 driver - Fix Aureon 5.1 Sky GPIO write mask bits - Fix 192kHz bit Signed-off-by: Peter Christensen Signed-off-by: Takashi Iwai [ALSA] Fix the detection of secondary codec CS46xx driver Fixed the detection of secondary codec. Signed-off-by: Takashi Iwai [SKBUFF] move common code to hdlc_type_trans Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller [ACPI] Notify SMM of cpufreq http://marc.theaimsgroup.com/?l=acpi4linux&m=109428989121089&w=2 Signed-off-by: Dominik Brodowski EXPORT_SYMBOL(acpi_os_write_port); EXPORT_SYMBOL(acpi_fadt_is_v1); [PATCH] PATCH: netpoll with xircom_cb I have a headless computer with xircom pcmcia card and needed netconsole on it. After looking around in other drivers I concocted this patch. It survived light testing. I have no documentation for the hw, so it maybe totally bogus. [PATCH] e1000: modified ethtool_set_pauseparam to use e1000_setup_link for flow control settings for fiber serdes link [PATCH] e1000: remove unused function e1000_enable_mng_pass_thru [PATCH] e1000: fix set ringparam for ethtool returning error code on bad input [PATCH] e1000: driver version update [PATCH] e1000: white space corrections [PATCH] pcnet32: use unsigned 1-bit fields [PATCH] 3c59x: style change in vortex_ethtool_ops declaration Style change suggested during patch review. Signed-off-by: John W. Linville [PATCH] net/tokenring/olympic.c: remove unused variable Recent changes in Linus' tree removed all uses of a variable, resulteing in the following warning: <-- snip --> ... CC drivers/net/tokenring/olympic.o drivers/net/tokenring/olympic.c: In function `olympic_arb_cmd': drivers/net/tokenring/olympic.c:1404: warning: unused variable `i' ... <-- snip --> The following patch removes this unused variable: Signed-off-by: Adrian Bunk [PATCH] ns83820: use module_param Replace MODULE_PARM with module_param Signed-off-by: Stephen Hemminger [PATCH] eql: use netdev_priv Use netdev_priv where possible. Signed-off-by: Stephen Hemminger [PATCH] dummy: use netdev_priv Can use netdev_priv in dummy device. Signed-off-by: Stephen Hemminger [PATCH] tg3: use module_param get rid of deprecated use of MODULE_PARM Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik [PATCH] tg3: use netdev_priv use netdev_priv Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik [PATCH] tg3: make driver only data static Several data structures should have been marked static because the are local to this driver. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik [PATCH] slip: use module_param Replace MODULE_PARM with module_param (also make slip_maxdev static). Signed-off-by: Stephen Hemminger [PATCH] slip: use netdev_priv Replace dev->priv with netdev_priv(dev) Signed-off-by: Stephen Hemminger [PATCH] skfp: remove assignment expression in conditional (sparse)(v2) Fix sparse warning: drivers/net/skfp/hwmtm.c:1904:20: warning: assignment expression in conditional Signed-off-by: Randy Dunlap kconfig.debug: mention that DEBUG_SLAB can slow down machine quite a bit I experienced x3 slowdown due to this option being set. Please add this small warning to DEBUG_SLAB help text. Signed-off-by: Sam Ravnborg kconfig: OVERRIDE: save kernel version in .config file Omit .config file timestamp in the file if the environment variable "KCONFIG_NOTIMESTAMP" exists and is non-null. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg kbuild: Allow install of external modules to custom path Currently, a ``make modules_install'' for an external module will install that module into /lib/modules/$(uname -r)/extra. Allow to override this default by specifying INSTALL_MOD_DIR. Signed-off-by: Andreas Gruenbacher Signed-off-by: Sam Ravnborg kbuild: fix 'htmldocs' and friends with O= The following patch fixes up 'htmldocs' and related to work when trees are being built with O=. I fixed it all up by passing the srctree as an env-var to docproc (and thus what it calls) and then pull that out when needed. Signed-off-by: Tom Rini Signed-off-by: Sam Ravnborg kbuild: Create Makefile in output dir for *config targets Upon request from Andi Kleen the Makefile is now created for *config targets also. So the MAkefile in the output directory is present when it is expected (after kernel configuration). Also tell user the Makefile is generated. Signed-off-by: Sam Ravnborg kbuild: use two double-quotes for localversion Modifies LOCALVERSION definition such that it uses patsubst instead of subst to remove surrounding double quotes from CONFIG_LOCALVERSION. This helps syntax-highlighting editors. From: Tejun Heo Signed-off-by: Sam Ravnborg kbuild: explicit enable framepointer Newer gcc versions automatically turns on -fomit-frame-pointer when -O2 is specified thus breaking CONFIG_FRAME_POINTER option. Explicitly specifying -fno-omit-frame-pointer fixes it. From: Tejun Heo Signed-off-by: Sam Ravnborg kbuild: Add cc-option-align gcc version >= 3.00 shifted from -malign-* to -falign-*. $(cc-option-align) will based on current gcc version specify the right prefix for the align option. Documented in Documentation/makefiles.txt Signed-off-by: Sam Ravnborg kbuild: make gcc -align options .config-settable With all alignment options set to 1 (minimum alignment), I've got 5% smaller vmlinux compared to one built with default code alignment. Original implementation altered to use cc-option-align by sam. From: Denis Vlasenko Signed-off-by: Sam Ravnborg [ACPI] firmware wakeup address is physical, not virtual (David Shaohua Li) http://bugzilla.kernel.org/show_bug.cgi?id=3390 [ACPI] add module parameters: processor.c2=[0,1] processor.c3=[0,1] to disable/enable C2 or C3 blacklist entries for R40e and Medion 41700 http://bugme.osdl.org/show_bug.cgi?id=3549 from Andi Kleen [NETFILTER]: Clean up ip_conntrack stats Signed-off-by: Pablo Neira Signed-off-by: Patrick McHardy [NETFILTER]: Change MASQUERADE to Use Device Address Directly Instead of doing a dubious route lookup, just use the first IP address of the (dynamic) interface. Also, reset assured bit so after masq connections can be cleaned up if memory pressure. Signed-off-by: Rusty Russell Signed-off-by: Patrick McHardy [NETFILTER]: prearation of removing skb_linearize() This patch uses skb_header_pointer() so that packets can be parsed even though skb_linearize() doesn't exist. But this patch doesn't remove skb_linearize() yet. We can remove it after changing all match/target modules. Moreover ... - I deleted the optimization not to parse IPv6 extension header many time from previous patch. I'll send the patch to do this separately. - fixed the bug that "offset" argument of match functions are always 0. - deleted "hdr" and "datalen" argument and added "protoff" argument to match functions. "protoff" means the offset to Layer 4 protocol header. - the argument order of target function is changed likely IPv4 modules. This prevents user from meeting kernel panic when they use old match modules. - changed {tcp,udp,icmp6}_match(). These functions became very similar to codes in ip_tables.c again. Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: Enable ip6t_LOG.c to work without skb_linearize() This patch enables ip6t_LOG.c to work without skb_linearize(). I changed a large part of this file. At first, ip6_nexthdr() is deleted to prevent multiple call of skb_header_pointer() at dump_packet() and ip6_nexthdr(). And the following bugs are fixed. The first bug is fixed by introducing skb_header_pointer(), then I didn't separate patches. - No check with skb->len. Then invalid memory access may occur. - If packet is fragmented and it's not first fragment, nonexistent extension headers is tried to parse. - All headers which aren't TCP/UDP/ICMPv6 are treated as IPv6 extension header. - The encrypted data after ESP is tried to parse. - ntohl() for ID in Fragment header is missing. - If doff*4 of TCP header is less than sizeof(struct tcphdr), TCP options are tried to parse. Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: Enable ip6t_ah.c to work without skb_linearize() Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: Introduce tabs to ip6t_ah.c Fix horrible indentation, not a single tab in the file. Signed-off-by: Patrick McHardy [NETFILTER]: Enable ip6t_esp.c to work without skb_linearize() Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: ip6t_esp.c whitespace cleanup Signed-off-by: Patrick McHardy [NETFILTER]: Convert ip6t_physdev match function to new argument order Signed-off-by: Patrick McHardy [ACPI] create IBM ThinkPad ACPI driver -- ibm-acpi-0.6.patch by Borislav Deianov Signed-off-by: Len Brown [PATCH] e100: Fix loss of connectivity to BMC when interface is brought down. Signed-off-by: Ganesh Venkatesan [PATCH] e100: Fix set ringparam for ethtool returning error code on bad input Signed-off-by: Ganesh Venkatesan [PATCH] e100: Driver version number update Signed-off-by: Ganesh Venkatesan [PATCH] e1000: Configuration and user guide update Signed-off-by: Ganesh Venkatesan [PATCH] e100: Configuration and user guide update Signed-off-by: Ganesh Venkatesan [PATCH] ixgb: Configuration and user guide update Signed-off-by: Ganesh Venkatesan [ACPI] simplify ES7000 IRQ re-naming scheme so that it works for all PCI interrupts. Signed-off-by: Natalie Protasevich Signed-off-by: Len Brown [ALSA] fixing a two-rme32-in-one-machine bug RME32 driver - fixing the dev counter in snd_rme32_probe(). The patch can enable a second rme32 card Signed-off-by: Martin Langer Signed-off-by: Takashi Iwai [ALSA] Add routing/volume of ADAT I/O on EWS88D ICE1712 driver The routing/volume control of ADAT I/O on EWS88D is added. Signed-off-by: Takashi Iwai [ALSA] Misc. volume fixes ICE1712 driver - Added mute function to Master/Front/Rear/Side/LFE/CEnter - Master volume is artificially made in software - Added PCM volume control (basically what was the master volume) - Front/Read/Side/LFE/Center is now logarithmic (and computed as * / ) Signed-off-by: Peter Christensen Signed-off-by: Takashi Iwai [ALSA] RME9632 precise_ptr fix RME HDSP driver Correct hardware position mask to mask correctly when buffer is not maximum size. Signed-off-by: Ed Wildgoose Signed-off-by: Takashi Iwai [ALSA] fix build in !KMOD case (sequencer) ALSA sequencer seq_device.c needs to pull in the snd_seq_autoload_lock()/unlock() defines from seq_kernel.h in the !KMOD case. Signed-off-by: Ingo Molnar Signed-off-by: Jaroslav Kysela [ALSA] Fixed SPDIF on CS4298 AC97 Codec Core Fixed SPDIF support on CS4298 AC97 chip. Signed-off-by: Takashi Iwai [ALSA] Fix AC97_EXTENDED_STATUS initialial value AC97 Codec Core Fixed a bug to write an invalid initial value of AC97_EXTENDED_STATUS. Signed-off-by: Takashi Iwai [ALSA] Exclude uneeded code when ! CONFIG_PROC_FS PCM Midlevel,AC97 Codec Core From Michal Rokos I tried to compile without procfs support and I got few 'unused code' warnings. This patch fixes it. Tested by compilation only. (With CONFIG_PROC_FS on and off) Signed-off-by: Takashi Iwai [ALSA] Add VIA8237 driver type VIA82xx driver VIA8237 and later chips are handled as a different type from VIA8233, since they don't support the AC97 slot mapping any more. The alsa-lib will resolve the 5.1 remapping for them. Signed-off-by: Takashi Iwai [ALSA] PCM boundary fix in 32bit compat layer IOCTL32 emulation PCM boundary size is fixed within the 32bit value range when HW_PARAMS ioctl is called in 32bit mode. Also, with this patch, the conversion functions are inlined. Signed-off-by: Takashi Iwai [ALSA] Fix non-blocking write in ALSA OSS emulation ALSA<-OSS emulation write() calls in non-blocking mode eat the written data and never return -EAGAIN. The attached patch fixes the problem. Signed-off-by: Benjamin Otte Signed-off-by: Takashi Iwai NTFS: Fix two typos in Documentation/filesystems/ntfs.txt. Thanks to Richard Russon for pointing them out. Signed-off-by: Anton Altaparmakov [NETFILTER]: Select source address for gateway in MASQUERADE Suggested by Herbert Xu Signed-off-by: Patrick McHardy [NETFILTER]: Enable ip6t_rt.c to work without skb_linearize() Signed-off-by: Patrick McHardy Signed-off-by: Yasuyuki KOZAKAI [NETFILTER]: Enable ip6t_multiport.c to work without skb_linearize() Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: Enable ip6t_frag.c to work without skb_linearize() Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [ACPI] clarify #define ACPI_THERMAL_MODE_CRITICAL (Pavel Machek) USB: update devices.txt with the proper USB minor number information. Signed-off-by: Greg Kroah-Hartman USB: add phidgetkit driver. originally written by Sean Young but with LED additions and cleanups from me. Signed-off-by: Greg Kroah-Hartman USB: remove unneeded checks in the usb-serial core. Signed-off-by: Greg Kroah-Hartman USB: fix build error in the USB core if CONFIG_PROCFS is disabled Signed-off-by: Greg Kroah-Hartman USB: fix DoS in the visor driver by rate limiting sends. Signed-off-by: Greg Kroah-Hartman PCI: use pci_dev_present() in irq.c check Signed-off-by: Greg Kroah-Hartman kobject: add CONFIG_DEBUG_KOBJECT Signed-off-by: Greg Kroah-Hartman [PATCH] USB Storage: Fix queuecommand() for disconnected devices Following the recommendation of James Bottomley (of SCSI fame), this patch changes the queuecommand() routine so that when a command is received for a disconnected device, instead of accepting the command and then ignoring it, we fail the command immediately with DID_NO_CONNECT. This fixes a timeout-abort-oops sequence that would occur when the higher-level drivers (mostly the CD driver) try to queue a SYNCHRONIZE CACHE command during scsi_remove_host(). Signed-off-by: Alan Stern Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman ===== drivers/usb/storage/scsiglue.c 1.84 vs edited ===== [PATCH] usbcore: drop reference to bus on allocation error A recent patch introduced this reference counting leak. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ===== drivers/usb/core/usb.c 1.293 vs edited ===== [PATCH] USB: W996[87]CF driver updates Small W996[87]CF documentation updates. Signed-off-by: Luca Risolia [PATCH] USB: Superfluous statement in usb.c [PATCH] USB: PL2303 - PharosGPS patch This patch adds recognition/support for the PharosGPS puck, as included with Microsoft's Streets and Trips package. The device has an inline USB-to-serial converter which functions as a PL2303 but with different VENDOR_ID and PRODUCT_ID, and so the PL2303 driver is modified to recognize this additional device. Signed-off by: Robert C. Olsen, III [pl2303@2005dauphin.org] Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usblp BKL removal the appended patch is not in yet, what gives? I sent it to Marcelo with an understanding that it would be in Linus tree any day now. It was a couple of months ago. It's not just BKL witchhunt either. I remember that it fixed an oops, although I do not remember the precise scenario by now (it had something to do with a race between ->release and ->disconnect). From: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Module version info for CyberJack. Add module version information for drivers/usb/serial/cyberjack.c. Signed-off-by: Luiz Capitulino Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Module version info for PL2303. Add module version information for usb/serial/pl2303.c. Signed-off-by: Luiz Capitulino Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Module version info for Belkin_sa. Add module version information for usb/serial/belkin_sa.c. Signed-off-by: Luiz Capitulino Signed-off-by: Greg Kroah-Hartman [PATCH] USB: tiglusb.c: add direct USB support on some new TI handhelds I have extended my driver to add support of the embedded USB port provided by some new Texas Instruments' handhelds. Things are the same except for the maximum packet size. Description: add support of the USB port embedded on some new TI handhelds (TI84+ and TI89 Titanium). Thanks, Romain. Signed-off-by: Romain Lievin Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb hub descriptor fetch needs retries Some of the recent changes to change how descriptors are read have managed to confuse one USB keyboard. It recovers OK with a few retries though. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb suspend support for hid-core Basic HID driver support for USB suspend/resume. At least one keyboard works OK as a remote wakeup source ... unless you write the sysfs power/state attribute using that USB keyboard, in which case the input subsystem reports an endless stream of newlines! :) Someone still needs to implement some configurable timer to support the "suspend idle mice/keyboards/..." policy for devices that can issue wakeup events. In conjunction with autosuspend policies in hub and HCD (UHCI) code, that could allegedly save 2W of power by enabling the C3 state on Centrino laptops that use USB mice. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] kaweth: use alloc_etherdev to allocate device private Change other usb network driver to use alloc_etherdev to allocate the private data structure. And use netdev_priv to find it. Signed-off-by: Stephen Hemminger Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman [PATCH] usbnet: use alloc_etherdev to allocate private data In order for network device lifetime stuff to work properly, it is necessary for devices to allocate private data as part of alloc_etherdev. Also, netdev_priv() is improvement over dereferencing netdev->priv Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman [PATCH] UHCI: No bandwidth reclamation during enumeration A few devices prefer not to have full-speed bandwidth reclamation turned on while they are being enumerated. In particular this seems to be true for the USB Bluetooth adapters built in to some laptop models (used for remote keyboards). This patch alters the UHCI driver so that control URBs for devices still in the USB_STATE_DEFAULT state will be placed on the low-speed queue rather than the full-speed queue. Since the low-speed queue isn't subject to bandwidth reclamation the devices will work properly. The negative impact on other devices is minimal; the process of device initialization will be slowed down by a few milliseconds. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: USB fixes for non-cache-coherent processors I posted this before, but didn't see any discussion. This patch fixes a couple of places where the usb subsystem DMAs to/from local (stack) variables. This doesn't work on non-cache-coherent processors. I'm testing on PPC 4xx systems. Signed-off-by: Dale Farnsworth Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usbnet patch (new ax8817x device) This patch enables usage of another USB2 100BASE-T adapter. http://www.corega.co.jp/product/list/lanadp/feusb2tx.htm From: Naoki Shibata Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB kaweth: use alloc_etherdev to allocate device private data - fix Goof found by compile warning. From: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman [PATCH] USB Gadget: Use proper BCD values This updates an earlier patch that added bcdDevice values for a new USB peripheral controller. The values weren't valid BCD numbers. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman NTFS: Improve error handling in fs/ntfs/inode.c::ntfs_truncate(). Signed-off-by: Anton Altaparmakov [PATCH] USB: goku_udc sparse updates This is a bunch of "sparse" fixes for goku_udc. One of these might be an issue on some systems for code that explicitly halts IN endpoints (like file_storage) if normal memory access doesn't work for PCI. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb/hcd kconfig updates This updates the dependencies of the HCDs and host-side USB so that: - Options for PCI-only HCDs (UHCI and, for now, EHCI) only appear systems that actually have PCI. - Adding non-PCI bus glue support for another OHCI adapter doesn't need involve changing the main USB Kconfig anymore. - Minor tweaks to the OMAP support, so OMAP 17xx and 24xx don't need additional Kconfig changes and so the H3/17xx gets the ISP1301 too. This still tries to hide host-side USB config options on systems that don't offer USB. While currently convenient, that's a losing proposition in the long term: host controllers on chips like SL811 and TD243 can be put onto any custom board. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb error code docs This has various updates to the USB error code documentation that I've had floating around. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: ohci module param for broken bios This patch provides a way to work around especially broken BIOS/SMM implementations which claim they support the OS-handoff handshake but actually don't. It's confirmed that this resolves some OSDL bug (ID isn't handy just now). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: omap_udc updates This is a collection of updates to the OMAP UDC driver. - OMAP-1510 support, including DMA (the DMA controller isn't quite the same as on newer chips) but not double buffering. - Some PIO work: * fix some races that showed up on OMAP-1510 * tracking down annoying PIO-OUT lossage and making double buffering start to behave (needed as fallback if all DMA channels are in use). - DMA-IN works on both 1510 and 16xx Plus minor cleanups. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: net2280 compile fixes Fix some compiler warnings that came up with net2280 on processors with 64bit dma_addr-t ... one of them would have been a bug on big-endian CPUs. (Thanks to Randy Dunlap for reporting these.) Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB file-storage gadget: clean up endian issues This patch adds the __le16 data types to the file-storage gadget and removes some erroneous conversions to little-endian order. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [SCTP] Change sctp_assoc_t to a sized type(s32). Signed-off-by: Sridhar Samudrala [SCTP] Adaption layer indication support. Add support for SCTP_ADAPTION_INDICATION notification, SCTP_ADAPTION_LAYER socket option and SCTP_PARAM_ADAPTION_LAYER_IND parameter. Signed-off-by: Sridhar Samudrala [SCTP] Update cwnd/ssthresh as per the sctpimpguide modifications. Signed-off-by: Sridhar Samudrala [SCTP] When an address is deleted, update any transports that are caching it as a source adddress. Signed-off-by: Sridhar Samudrala [SCTP] Fix HEARTBEAT_ACKs being sent to wrong dest. ip address in a multi-homing scenario after a failback. Signed-off-by: Jorge Hernandez-Herrero Signed-off-by: Sridhar Samudrala [PATCH] hw_random.c: replace pci_find_device As pci_find_device is going away I've replaced it with pci_get_device. for_each_pci_dev is a macro wrapper around pci_get_device. If someone with this hardware could test it I would appreciate it. Thanks. Hanna Linder IBM Linux Technology Center Signed-off-by: Hanna Linder Signed-off-by: Jeff Garzik [ACPI] disable printk on AML breakpoint https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=135856 Signed-off-by: Len Brown [ide] pmac: kill pmac_ide_[raw_]build_sglist() Just use ide_dma_[raw_]build_sglist() from ide-dma.c. Signed-off-by: Bartlomiej Zolnierkiewicz [ide] use ide_map_sg() * make Etrax ide.c, icside.c and ide-dma.c use ide_map_sg() * use one sg for REQ_DRIVE_TASKFILE requests in ide-dma.c (no reason for 128 sectors per sg limit) Signed-off-by: Bartlomiej Zolnierkiewicz [ide] kill ide_raw_build_sglist() ide_build_sglist() can be now used for REQ_DRIVE_TASKFILE requests. Signed-off-by: Bartlomiej Zolnierkiewicz [ide] ide-scsi: simplify+speedup DMA support * add hwif->sg_mapped flag * add idescsi_map_sg() converting scsi_cmd->sg into hwif->sg_table (this removes need for rq->bio) * remove code (de)allocating rq->bio Signed-off-by: Bartlomiej Zolnierkiewicz [ide] kill ide_hwif_t->ide_dma_verbose * make __ide_dma_verbose() void and drop "__" prefix * ide_dma_verbose() is always available now * use it instead of ide_hwif_t->ide_dma_verbose * sgiioc4.c version reported wrong mode * icside.c version repeated info given by ->ide_dma_check() Signed-off-by: Bartlomiej Zolnierkiewicz [ide] kill /proc/ide/ide?/config * writes to PCI config space are non-functional since 2.4.21 * reads of full PCI config space are allowed for normal users * I'm not aware of any applications using this interface Signed-off-by: Bartlomiej Zolnierkiewicz [PATCH] USB: tiglusb: replace schedule_timeout() with msleep_interruptible() Description: Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] USB: dabusb: replace schedule_timeout() with msleep_interruptible() Description: Use msleep_interruptible() instead of schedule_timeout() so that the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] USB device init: implement the Windows scheme This patch implements the Windows scheme for USB device initialization. It also incorporates the change recently posted by David to scrub the endpoint state following a SET-ADDRESS. Other noteworthy changes: There are two new module parameters to control whether the old scheme or the new one is used first and whether the other scheme is tried if the first one fails. Default settings are to use the new scheme only. hub_set_address() returns 0 immediately if the device is already in the USB_STATE_ADDRESS state. On the first attempt to read the device descriptor the code uses a short 1-second timeout. This ought to help prevent full-speed devices with an 8- or 16-byte maxpacket from slowing the procedure down by NAKing the unexpectedly early status stage of the transfer. For debugging, the ep0 maxpacket value is printed. It might be a good idea to validate it rather than just believing the device -- although I haven't heard of any device providing an incorrect value other than 0. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: fix usb/serial/console.c compile error The following compile error seems to come from Linus' tree: <-- snip --> ... CC drivers/usb/serial/bus.o CC drivers/usb/serial/console.o drivers/usb/serial/console.c: In function `usb_console_write': drivers/usb/serial/console.c:221: warning: passing arg 3 of pointer to function makes integer from pointer without a cast drivers/usb/serial/console.c:221: error: too many arguments to function drivers/usb/serial/console.c:223: warning: passing arg 3 of `usb_serial_generic_write' makes integer from pointer without a cast drivers/usb/serial/console.c:223: error: too many arguments to function `usb_serial_generic_write' make[3]: *** [drivers/usb/serial/console.o] Error 1 <-- snip --> This was caused by the changed "write" in usb_serial_device_type. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman [PATCH] USB input Kconfig updates This tweaks the USB input driver support, notably fixing a botched dependency that makes all the USB drivers appear strangely in Kconfig. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] kaweth: full conversion to usb_unlink_urb kaweth used its own synchronisation superseded by usb_unlink_urb(). Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman [PATCH] kaweth: no need for packed there was an uneeded packed attribute for a data structure. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman [ACPI] ACPICA 20040827 update from Bob Moore Signed-off-by: Len Brown Implemented support for implicit object conversion in the non-numeric logical operators (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, and LNotEqual.) Any combination of Integers/Strings/Buffers may now be used; the second operand is implicitly converted on the fly to match the type of the first operand. For example: LEqual (Source1, Source2) Source1 and Source2 must each evaluate to an integer, a string, or a buffer. The data type of Source1 dictates the required type of Source2. Source2 is implicitly converted if necessary to match the type of Source1. Updated and corrected the behavior of the string conversion support. The rules concerning conversion of buffers to strings (according to the ACPI specification) are as follows: ToDecimalString - explicit byte-wise conversion of buffer to string of decimal values (0-255) separated by commas. ToHexString - explicit byte-wise conversion of buffer to string of hex values (0-FF) separated by commas. ToString - explicit byte-wise conversion of buffer to string. Byte-by-byte copy with no transform except NULL terminated. Any other implicit buffer-to-string conversion byte-wise conversion of buffer to string of hex values (0-FF) separated by spaces. Fixed a problem in acpi_ns_get_pathname_length where the returned length was one byte too short in the case of a node in the root scope. This could cause a fault during debug output. [ACPI] ACPICA 20040922 from Bob Moore Signed-off-by: Len Brown Fixed a problem with the implementation of the LNot() operator where "Ones" was not returned for the TRUE case. Changed the code to return Ones instead of (!Arg) which was usually 1. This change affects iASL constant folding for this operator also. Fixed a problem in acpi_ut_initialize_buffer where an existing buffer was not initialized properly -- Now zero the entire buffer in this case where the buffer already exists. Changed the interface to acpi_os_sleep from (UINT32 Seconds, UINT32 Milliseconds) to simply (ACPI_INTEGER Milliseconds). This simplifies all related code considerably. This requires changes/updates to all OS interface layers (OSLs.) Implemented a new external interface, acpi_install_exception_handler, to allow a system exception handler to be installed. This handler is invoked upon any run-time exception that occurs during control method execution. Added support for the DSDT in acpi_tb_find_table. This allows the DataTableRegion() operator to access the local copy of the DSDT. [PATCH] I2C: Fix compile of drivers/i2c/busses/i2c-s3c2410.c Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: fix recently introduced race in IBM PPC4xx I2C driver On Tue, Oct 19, 2004 at 10:21:08PM -0700, Eugene Surovegin wrote: [snip] > It looks like this change added race I tried to avoid here. > > This code is modeled after __wait_event_interruptible_timeout, where > "prepare_to_wait" is done _before_ checking completion status. This > change breaks this, e.g. if IRQ happens right after we check iic->sts, > but before calling msleep_interruptible(). In this case we'll sleep > much more than required (seconds instead of microseconds) > > Greg, if my analysis is correct, please rollback this change. > > Nishanth, I'd be nice if you CC'ed me with this patch, my e-mail is at > the top of that source file. Oh, well. I should have used wait_event_interruptible_timeout when I ported this driver to 2.6. This patch fixes recently introduced race and also cleans ups some 2.4-ism. Signed-off-by: Eugene Surovegin Signed-off-by: Greg Kroah-Hartman [ACPI] acpi_os_sleep() now takes a single 64-bit value in [ms] Signed-off-by: Len Brown [PCMCIA] Fix PCMCIA behaviour on resume with different card. PCMCIA checks the card CIS against its cached copy. If it finds that the card does not match, it destroys the bindings with existing drivers, issues an remove event followed by an insert event. However, ds.c delays the remove event by 100ms, so cardmgr sees the insert before remove. It thereby ignores the new card. Also, we ended up leaving the fake CIS intact, so the new card appears to be described by the fake CIS. Destroy the fake CIS in addition to the CIS cache. [ACPI] ACPICA 20040924 from Bob Moore Signed-off-by: Len Brown Added a new OSL interface, acpi_os_get_timer. This interface implements a 64-bit monotonic timer in 100 nanosecond units. Implemented support for the ACPI 3.0 Timer operator. This 64-bit timer utilizes the timer provided by the acpi_os_get_timer interface. [PATCH] cdev: protect against buggy drivers Here is a better fix (thanks Greg) that allows long names for character device objects. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman [PATCH] avoid problems with kobject_set_name and name with % kobject_set_name takes a printf style argument list. There are many callers that pass only one string, if this string contained a '%' character than bad things would happen. The fix is simple. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman [PATCH] kobject_hotplug: permit no hotplug_ops Make kobject_hotplug() work even if the kobject's kset doesn't implement any hotplug_ops. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] remove cpu_run_sbin_hotplug() From: Keshavamurthy Anil S Remove cpu_run_sbin_hotplug() - use kobject_hotplug() instead. Signed-off-by: Anil S Keshavamurthy Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] kobject_uevent warning fix lib/kobject_uevent.c:39: warning: `action_to_string' defined but not used Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [TCP]: Only re-set TSO size for packet which was TSO to begin with. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [PKT_SCHED]: netem: use timer to handle packets not rescheduling Change the behaviour of netem's delayed packets queue to make it work better with TBF and other rate control disciplines. Now, packets are put in the delayed queue and held there until the next timer interval, then moved to the underlying qdisc. qlen is set to match the available packets in the underlying discipline (and not count those waiting). Previously, netem would perturb the rate control disciplines because of rescheduling and moving packets in the dequeue handler. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller [PKT_SCHED]: u32: Remove unused hgenerator field in tc_u_hnode. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [NETFILTER]: Fix ipt_hashlimit build with NETFILTER_DEBUG enabled. Signed-off-by: David S. Miller hotplug: prevent skips in sequence number from happening Signed-off-by: Greg Kroah-Hartman [PATCH] USB ehci: minor pci tweaks This has minor PCI tweaks for the EHCI driver: - If the (nonfunctional) AMD 8111 controller shows up, ignore it. (Patch from Matt Dharm, with minor coding style tweaks). - Delete some code that interprets an EHCI capability code; it should be a PCI capability instead. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB ehci: handle earlier endpoint_disable() The recent patch to scrub out ep0 state earlier (to get rid of some of the enumeration problems that started with about 2.6.6) requires EHCI to handle endpoint_disable() calls in a slightly different context. This makes those calls work when an endpoint's QH may still be on the async schedule, rather than already unlinked. (The QH stays on the async schedule for a few milliseconds after it's empty, since it's routine to issue another request almost immediately.) Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB ehci: minor debug cleanups This updates debug messages, declaring that labels can be constant strings and changing some old-school dbg() calls to driver model dev_dbg(). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [ATY]: Fix build on sparc after viro sparse changes. Signed-off-by: David S. Miller [PATCH] Missed usb devices on boot This marks sets change_bits to all ones when bringing up a hub, since not all hubs seem to send change events for devices that were plugged in when the hub was reset. David Miller confirms this fixes his boot-time lost keyboard/mouse problem [ACPI] place-holder for ACPI 3.0 acpi_os_get_timer() [ACPI] ACPICA 20041006 from Bob Moore Signed-off-by: Len Brown Implemented support for the ACPI 3.0 Timer operator. This ASL function implements a 64-bit timer with 100 nanosecond granularity. Defined a new OSL interface, acpi_os_get_timer. This interface is used to implement the ACPI 3.0 Timer operator. This allows the host OS to implement the timer with the best clock available. Also, it keeps the core subsystem out of the clock handling business, since the host OS (usually) performs this function. Fixed an alignment issue on 64-bit platforms. The hw_low_level_read/write() functions use a 64-bit address which is part of the packed ACPI Generic Address Structure. Since the structure is non-aligned, the alignment macros are now used to extract the address to a local variable before use. Fixed a problem where the ToInteger operator assumed all input strings were hexadecimal. The operator now handles both decimal strings and hex strings (prefixed with "0x"). Fixed a problem where the string length in the string object created as a result of the internal ConvertToString procedure could be incorrect. This potentially affected all implicit conversions and also the ToDecimalString and ToHexString operators. Fixed two problems in the ToString operator. If the length parameter was zero, an incorrect string object was created and the value of the input length parameter was inadvertently changed from zero to Ones. Fixed a problem where the optional ResourceSource string in the ExtendedIRQ resource macro was ignored. Simplified the interfaces to the internal division functions, reducing code size and complexity. [ACPI] fix build warning in tables/tbget.c [ACPI] ACPICA 20041015 from Bob Moore Signed-off-by: Len Brown Note: ACPI CA is currently undergoing an in-depth and complete formal evaluation to test/verify the following areas. Other suggestions are welcome. This will result in an increase in the frequency of releases and the number of bug fixes in the next few months. - Functional tests for all ASL/AML operators - All implicit/explicit type conversions - Bit fields and operation regions - 64-bit math support and 32-bit-only "truncated" math support - Exceptional conditions, both compiler and interpreter - Dynamic object deletion and memory leaks - ACPI 3.0 support when implemented - External interfaces to the ACPI subsystem Fixed two alignment issues on 64-bit platforms - within debug statements in acpi_ev_gpe_detect and acpi_ev_create_gpe_block. Removed references to the Address field within the non-aligned ACPI generic address structure. Fixed a problem in the Increment and Decrement operators where incorrect operand resolution could result in the inadvertent modification of the original integer when the integer is passed into another method as an argument and the arg is then incremented/decremented. Fixed a problem in the FromBCD operator where the upper 32-bits of a 64-bit BCD number were truncated during conversion. Fixed a problem in the ToDecimal operator where the length of the resulting string could be set incorrectly too long if the input operand was a Buffer object. Fixed a problem in the Logical operators (LLess, etc.) where a NULL byte (0) within a buffer would prematurely terminate a compare between buffer objects. Added a check for string overflow (>200 characters as per the ACPI specification) during the Concatenate operator with two string operands. [ACPI] fix build warning Cset exclude: jason.davis@unisys.com[torvalds]|ChangeSet|20040914144015|50315 [PATCH] delay rq_lock acquisition in setscheduler Doing access control checks with rq_lock held can cause deadlock when audit messages are created (via printk or audit infrastructure) which trigger a wakeup and deadlock, as noted by both SELinux and SubDomain folks. This patch will let the security checks happen w/out lock held, then re-sample the p->policy in case it was raced. Originally from John Johansen , reworked by me. AFAIK, this version drew no objections from Ingo or Andrea. From: John Johansen Acked-by: Ingo Molnar Signed-off-by: Chris Wright Signed-off-by: Linus Torvalds [ALSA] boot_devs removal - module_param_array() accepts NULL now Intel8x0 driver,RME96 driver,ICE1724 driver,NM256 driver Signed-off-by: Jaroslav Kysela [PATCH] Invalid BUG_ONs in signal.c Oh, duh. The race is obvious. Sorry for the confusion there. The BUG_ON's were useful for debugging, since they trigger on a lot of errors, but they _also_ trigger on some unlikely (but valid) races. So just remove them - just fall through to the regular exit code after core-dumping (which does everything right). Signed-off-by: Linus Torvalds [PATCH] Fix ptrace problem This is indeed a new bug, and it is not architecture-specific. In my recent changes to close some race conditions, I overlooked the case of a process using PTRACE_ATTACH on its own children. The new PT_ATTACHED flag does not really mean "PTRACE_ATTACH was used", it means "PTRACE_ATTACH is changing the ->parent link". This fixes the problem that Stephane Eranian program demonstrates. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds [PATCH] fix core-dump return code While looking at the signal.c coredumping BUG_ON race, I noticed a bug (not directly related) in do_coredump. It was setting the "core dumped" flag even when the format dumping hook failed (e.g. for memory allocation failures). Signed-off-by: Linus Torvalds [ACPI] ibm-acpi 0.7 from Borislav Deianov The CMOS handle was incorrectly marked as required, breaking insmod on models without one; The BLED method was incorrectly required if LED is not defined, breaking LED control on the A21e. Signed-off-by: Len Brown [ide] aec62xx: kill /proc/ide/aec62xx Signed-off-by: Bartlomiej Zolnierkiewicz [ide] atiixp: kill /proc/ide/atiixp Signed-off-by: Bartlomiej Zolnierkiewicz [ide] cs5520: kill /proc/ide/cs5520 Signed-off-by: Bartlomiej Zolnierkiewicz [ide] cs5530: kill /proc/ide/cs5530 Signed-off-by: Bartlomiej Zolnierkiewicz [ide] hpt366: kill /proc/ide/hpt366 Signed-off-by: Bartlomiej Zolnierkiewicz [ide] pdc202xx_new: kill /proc/ide/pdcnew Signed-off-by: Bartlomiej Zolnierkiewicz [ide] pdc202xx_old: kill /proc/ide/pdc202xx Signed-off-by: Bartlomiej Zolnierkiewicz [ide] piix: kill /proc/ide/piix Signed-off-by: Bartlomiej Zolnierkiewicz [ide] sc1200: kill /proc/ide/sc1200 Signed-off-by: Bartlomiej Zolnierkiewicz [ide] serverworks: kill /proc/ide/svwks Signed-off-by: Bartlomiej Zolnierkiewicz [ide] slc90e66: kill /proc/ide/slc90e66 Signed-off-by: Bartlomiej Zolnierkiewicz [ARM] Fix missing parens for __FD_* operations. fork.c highlighted that we were missing some parens. Add them. [NETFILTER]: Fix warning in CONNMARK Signed-off-by: Thomas Graf Signed-off-by: Patrick McHardy [SERIAL] Remove dead code. serial8250_get_irq_map is no longer used anywhere in the kernel (it used to be used by the isapnp code but isn't anymore) so it's dead code, below is a patch to remove this. [PATCH] SCSI: fix `risc_code_addr01' multiple definition Make all of the qlogic firmware pointers static Signed-off-by: James Bottomley [PATCH] qla1280: driver_setup not __initdata 'driver_setup' cannot be __initdata if slave_configure() can be called after driver-init: Error: ./drivers/scsi/qla1280.o .text refers to 0000000000000fbf R_X86_64_PC32 .init.data+0x000000000000007b Error: ./drivers/scsi/qla1280.o .text refers to 0000000000000fc9 R_X86_64_PC32 .init.data+0x000000000000007e Error: ./drivers/scsi/qla1280.o .text refers to 0000000000000fea R_X86_64_PC32 .init.data+0x000000000000007b Error: ./drivers/scsi/qla1280.o .text refers to 0000000000000ff4 R_X86_64_PC32 .init.data+0x0000000000000080 Error: ./drivers/scsi/qla1280.o .text refers to 0000000000001039 R_X86_64_PC32 .init.data+0x000000000000007b Error: ./drivers/scsi/qla1280.o .text refers to 0000000000001043 R_X86_64_PC32 .init.data+0x0000000000000082 Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley [PATCH] Add megaraid PCI IDs From: "Sergey S. Kostyliov" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley [PATCH] aic7xxx remove warnings From: Jan Dittmer This patch converts the aic7xxx driver to use module_param instead of MODULE_PARM and therefore gets rid of two warning in the non-modular build case. Signed-off-by: Andrew Morton Signed-off-by: James Bottomley [PATCH] dmx3191d.c lacked MODULE_DEVICE_TABLE() The MODULE_DEVICE_TABLE() declaration, which is used by boot and hot plug facilities to load the module when the hardware is present was missed in the PCI API conversion. Signed-off-by: James Bottomley sym2 2.1.18m From: Matthew Wilcox sym2 2.1.18m: - Improve documentation - Remove host-level command queueing (Christoph Hellwig) - Add support for IU and QAS - sparse annotation (Randolph Chung) - Remove SYM_LINUX_BOOT_COMMAND_LINE_SUPPORT ifdefs - Switch to the new module_param interface - Rename tags to cmd_per_lun for consistency - Fix debug param - Split extended tags functionality into the new tag_ctrl parameter - rewrite how safe param works - reverse_probe param has had no effect for a while, remove it. - Add descriptions for all the parameters - Add MODULE_AUTHOR and MODULE_DESCRIPTION - Restructure sym_config_pqs() a little - Move hostid setup to a more sensible place - Do away with SYM_GLUE_C - Use a completion instead of a semaphore (Thomas Gleixner) - Use IDENTIFY() instead of M_IDENTIFY - Define messages in terms of those defined in - Define PCI IDs in terms of those in - Define sym2's status codes in terms of the SAM ones defined in Added brown bag fix Signed-off-by: James Bottomley [PATCH] SCSI core: Fix refcounting error This bug was present as of 2.6.9-bk7, apparently introduced along with the addition of SCSI targets into sysfs. The code takes a reference to the host for each initialized sdev but only drops a reference when each target is released. As you might expect, this causes a refcount leak whenever a target has more than 0 LUNs. The patch changes things so that the reference is acquired when the target is initialized, not when the sdev is initialized. Signed-off-by: Alan Stern Signed-off-by: James Bottomley [PATCH] alpha: fix sparse warnings - add missing "__user" annotations in csum_partial_copy.c; - make io_remap_page_range more readable and fix a warning. [PATCH] alpha: fix CIA IO The high order bits of the input address should be cleared only after IO type and base are determined. [PATCH] alpha: bootp fixes - redefine "printk" as "srm_printk" for bootstrappers; - fix stack corruption problem with bootp/bootpz loaders and older SRM consoles. [PATCH] Add __ioremap I hadn't realized this was supposed to be an official interface. Or maybe it's not, but the fb drivers all use it. Anyway... Start supporting lock context annotations. This just sets up the portability defines. Annotate the trivial unconditional lock/unlock functions on SMP. This does _not_ handle the conditional ones (lock_kernel and the trylock variants), so there will be a fair number of context error warnings with this. However, the warnings are disabled by default in sparse - you have to use "-Wcontext" to see them. [PATCH] fbdev: Fix software blanking code The code in fbmem.c:fb_blank() is broken. For drivers without an fb_blank hook, an FBIO_BLANK ioctl will produce wrong colors or will segfault. Signed-off-by: Antonino Daplas Signed-off-by: Linus Torvalds [NETFILTER]: Fix multiple bugs in dst match This patch fixes the following bugs in ip6t_dst.c. - ".me = THIS_MODULE" is missing - The cast of the pointer to the next IPv6 extension header is wrong. - hdrlen may underflow. - (u16)*optdesc causes to alignment problem. - The calculation of the offset to next option is wrong. In the case that the type isn't 0, it should be "Opt Data Len" field + 2 (see RFC2460). Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: Fix multiple bugs in hbh match This patch fixes the following bugs in ip6t_hbh.c. - The cast of the pointer to the next IPv6 extension header is wrong. - hdrlen may underflow. - (u16)*optdesc causes to alignment problem. - The calculation of the offset to next option is wrong. In the case that the type isn't 0, it should be "Opt Data Len" field + 2 (see RFC2460). Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: Introduce skb_header_pointer() to dst match Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: Introduce skb_header_pointer() to hbh match Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: fix stats in __ip_conntrack_confirm net_rx_softirq can preempt the calling process while incrementing the stats. I think that we can fix this moving both CONNTRACK_STAT_INC to the locked section. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Un-inline the big kernel lock. Now that spinlocks are uninlined, it is silly to keep the BKL inlined. And this should make it a lot easier for people to play around with variations on the locking (ie Ingo's semaphores etc). Fix broken intel8x0.c ALSA "merge" The file didn't compile, and the ALSA CVS tree had dropped the bitfield signedness fixes. [PATCH] Fix msleep to sleep _at_least_ the requested amount Makes sure msleep() sleeps at least the amount provided, since schedule_timeout() doesn't guarantee a full jiffy. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: Move PCI IO mapping from pSeries_pci.c to pci.c This patch moves some of the routines responsible for dealing with the mapping of PCI host bridges IO space from pSeries to the generic ppc64 pci code. PowerMac doesn't use it currently, but a new platform will soon. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PNPBIOS] disable if ACPI is active As further ACPI pnp functionaility is implemented it is no longer safe to run ACPI and PNPBIOS concurrently. We therefore take the following approach: - attempt to enable ACPI support - if ACPI fails (blacklist etc.) enable pnpbios support - if ACPI support is not compiled in the kernel enable pnpbios support Signed-off-by: Adam Belay [PNPBIOS] use msleep_interruptible() Description: Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Adam Belay [PNPBIOS] acpi compile fix Allow PNPBIOS to compile if ACPI support is not enabled. Signed-off-by: Adam Belay [PATCH] ppc64: Fix pSeries secondary CPU setup This patch fixes the setup of the secondary CPU(s) on pSeries, on non-LPAR platforms, especially with 970 CPUs, we need to copy some of the HID registers from CPU0 to the other ones as soon as they reach the early asm code. The PowerMac SMP entry did it already, but not the pSeries one. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: Rewrite the openpic driver This patch replaces the open_pic IRQ controller driver with a new version rewritten from scratch, called "mpic" (this is the name of IBM's open_pic implementation and also the only one actually used on any platform). It is smaller, hopefully more readable, supports the various variants of the cell in a single driver (open_pic_u3.c is gone), and adds optional support for the workaround of U3 mpic beeing used along with IO-APICs on HyperTransport (the eval board will uses that, among others). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] 8250: Let arch provide the list of leagacy ports This patch adds an optional callback for the 8250 driver to request the list of legacy port via a function call instead of relying on a #define of an array. This finally allows to fix the problem of platforms like ppc and ppc64 for which the same kernel can boot machines with and without a 8250, and is necessary to properly deal with a new platform coming to ppc64 which has a 8250 but with different irq numbers. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: properly build list of legacy serial ports from OF This patch adds a ppc64 implementation of the routine providing the list of default 8250 serial ports. It provides a empty list by default unless the platform code fills it, and it provides a generic function for user by Open Firmware based machines which fills the list based on serial ports found in the OF device-tree. It depends on the previous patch adding the generic support for this to the 8250 driver. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: clean up existence-check of legacy ISAdevices My previous patch exposed the internals of the ppc_md. data structure to drivers, which wasn't nice, this new patch cleans that up. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: cleanups of ppc64 pci.c This patch applies on top of previously posted "ppc64: Move PCI IO mapping from pSeries_pci.c to pci.c". It does cosmetic cleanups & add some debug macros to pci.c without actually changing any functionality. Further patches against ppc64 pci.c that I'll post will be against a file already patched with this one. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: Some small pci fixes This patch fixes a few issues in the ppc64 pci code, notably some incorrect parsing of Open Firmware "ranges" when setting up host bridge resources that would cause a problem with some future platforms, a default mapping of the ISA IOs if the OF "isa" node lacks a "ranges" property, and a safeguard in pci_scan_all_fns() in case a pci<->OF node mapping cannot be established. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: Rework PCI <-> OF node matching This patch reworks the code that deals with matching PCI devices with Open Firmware device nodes. This code made several incorrect assumptions and can be simplified significantly. The main functional difference now is that PHBs are no longer special cased, but that shouldn't cause any specific problem. It also fixes a problem where u3_iommu.c wouldn't work for PCI devices that lacked a matching OF device node. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: cleanup/split SMP code Splits arch/ppc64/kernel/smp.c into 3 different files, smp.c, pSeries_smp.c and iSeries_smp.c, thus removing most of the #define mess in those files and making it easier to add a new platform. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: Some cleanups of prom_init.c This patch does a few cleanups of arch/ppc64/kernel/prom_init.c, making the RTAS instanciation code more readable & more robust, fixing a bug in the code bringing in additional CPUs (would work with IBM firmware, but not with another firmware of an upcoming platform), plus remove some old commented out cruft left-over from the big cleanup. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: remove unused cruft from prom.h This patch removes some bogus struct definitions from prom.h that aren't used anymore after the other pending ppc64 patches have been applied. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] mem leak in tty_io.c The recent patch to clean up user accesses introduced a memory leak. If write_buf is reallocated, the old buffer isn't freed. Also, since kfree can take nulls, I removed the if from the other kfree. Signed-off-by: Linus Torvalds [PATCH] NTFS: missing #include fs/ntfs/compress.c calls v{malloc,free}() without including Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] Cyclades assignment warning Remove unneeded cast that causes a warning (cy_isa_addresses is an array of unsigned ints). Signed-off-by: Linus Torvalds [PATCH] SCx200_ACB depends on PCI SCx200_ACB is a PCI driver and thus should depend on PCI Signed-off-by: Linus Torvalds [PATCH] Atyfb: kill assignment warnings on Atari due to __iomem Signed-off-by: Linus Torvalds Cset exclude: elf@buici.com|ChangeSet|20040920183610|08290 Revert smc91x driver changeset, since this is already covered by other smc91x updates already upstream. Signed-off-by: Jeff Garzik NTFS: Add fs/ntfs/aops.c to list of providers for ->b_end_io method in Documentation/filesystems/Locking. Signed-off-by: Anton Altaparmakov NTFS: - Change fs/ntfs/inode.c::ntfs_truncate() to return an error code instead of void and provide a helper ntfs_truncate_vfs() for the vfs ->truncate method. - Add a new ntfs inode flag NInoTruncateFailed() and modify fs/ntfs/inode.c::ntfs_truncate() to set and clear it appropriately. Signed-off-by: Anton Altaparmakov NTFS: Fix min_size and max_size definitions in ATTR_DEF structure in fs/ntfs/layout.h to be signed. Signed-off-by: Anton Altaparmakov NTFS: Add attribute definition handling helpers to fs/ntfs/attrib.[hc]: ntfs_attr_size_bounds_check(), ntfs_attr_can_be_non_resident(), and ntfs_attr_can_be_resident(), which in turn use the new private helper ntfs_attr_find_in_attrdef(). Signed-off-by: Anton Altaparmakov NTFS: In fs/ntfs/aops.c::mark_ntfs_record_dirty(), take the mapping->private_lock around the dirtying of the buffer heads analagous to the way it is done in __set_page_dirty_buffers(). Signed-off-by: Anton Altaparmakov [PATCH] Fix PCMCIA duplicate pc_debug names Avoid naming confusion concerning "pc_debug" which is widely used by drivers be renaming the PCMCIA "driver services" variant to ds_pc_debug. The module parameter stays the same, thanks to module_param_named(). Signed-off-by: Dominik Brodowski Signed-off-by: Linus Torvalds [PATCH] Avoid small irq preemption recursion window This will get rid of the stack recursion possibility that can occur if an IRQ happens to hit the IRQ return path right after we've reset preempt_count() to 0 and are about to disable interrupts again. Trivially fixed by just moving the preempt count update to inside the interrupt disable. This makes the current PREEMPT_ACTIVE method fully work for IRQ recursions. ppc64: make G5 setup compile again The stop_self thing is accessed unconditionally from pSeries_setup.c [PATCH] add 'for_each_pci_dev()' helper macro Jeff already mistakenly sent in a user of this macro, so we should probably add the macro itself too. Signed-off-by: Hanna Linder Signed-off-by: Linus Torvalds [ACPI] ACPI_CUSTOM_DSDT for IA64 too Signed-off-by: Anil S Keshavamurthy Signed-off-by: Len Brown Allow BKL re-acquire to fail, causing us to re-schedule. This allows for low-latency BKL contention even with preemption. Previously, since preemption is disabled over context switches, re-acquiring the kernel lock when resuming a process would be non-preemtible. [ACPI] Extensions for Display Adapters (Bruno Ducrot) http://bugme.osdl.org/show_bug.cgi?id=1944 Signed-off-by: Luming Yu Signed-off-by: Len Brown [EBTABLES]: Add wildcard support for interface matching. Due to an old braindead decision, ebtables doesn't yet support the wildcard '+' for matching interface names. The following patch removes this nuissance and is backwards compatible. Signed-off-by: David S. Miller [NETFILTER]: Make *_find_target_lock routines static. Signed-off-by: David S. Miller [NETFILTER]: ip_ct_attach decl got removed by accident. Signed-off-by: David S. Miller [NETFILTER]: fix ipt_ULOG bogus error messages Please apply the fix below, it addresses some bogus error messages ('error during NLMSG_PUT') that were printed because of a wrong calculation of the 'len' parameter to NLMSG_PUT(). Signed-off-by: Harald Welte Signed-off-by: David S. Miller [NET]: Give skb_checksum_help() an skb_buff * again Since skb_checksum_help has been using pskb_expand_head for a while now without any ill effects, I thought it would be a good idea to remove the double pointers from it and its callers. This is what the following patch does. The only 'rider' bit is the removal of an unnecessary BUG_ON in ip6_pkt_discard_out. The preceding assignment was only added because the following function oopsed so there is no point in doing BUG_ON. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [NET]: Accept should return ENFILE not EMFILE. Signed-off-by: David S. Miller [PATCH] revert "ppc: fix build with o=output_dir" This was the wrong fix - back it out and try again later. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ds_ioctl.c usercopy check Patch adds a check of the return value and returns -EFAULT if __copy_to_user fails. Signed-off-by: Jesper Juhl Acked-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Shift key-related error codes up and insert ECANCELED This patch shifts the key-related error codes up by one and inserts an ECANCELED error code where not already defined. It seems that has been defined in glibc without passing it back to the kernel:-/ Signed-Off-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] msnd.c build fix sound/oss/msnd.c: In function `msnd_enable_irq': sound/oss/msnd.c:278: warning: implicit declaration of function `enable_irq' sound/oss/msnd.c: In function `msnd_disable_irq': sound/oss/msnd.c:307: warning: implicit declaration of function `disable_irq' sound/oss/msnd.c:323: `msnd_get_num_devs' undeclared here (not in a function) sound/oss/msnd.c:323: initializer element is not constant Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mm: help zone padding Uses the zero length array which seems to be quite abundant throughout the tree to reduce the size of the zone padding to zero. 1536 before, 1152 afterwards for me. Also try to be a bit smarter about getting commonly accessed fields together, which surely can't be worse than before. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] checkstack: add x86_64 arch. support Add support for x86_64 arch. to 'make checkstack' (checkstack.pl). Signed-off-by: Randy Dunlap Acked-by: Jrn Engel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] lsm: fix send_sigurg mediation Stephen Smalley notes that send_sigurg isn't mediated by LSM in the same manner as send_sigio. Patch below is a slight modification of Stephen's original patch. It moves the security_file_send_sigiotask() hook into the sigio_perm(). The hook's fd and reason arguments are replaced with the signum. sigio_perm() and it's callers are updated to pass the signum through to the hook. In send_sigio case, the signum is simply fown->signum or SIGIO when signum is 0, however in send_sigurg the kernel doesn't use fown->signum, it always sends SIGURG. From: Stephen Smalley Signed-off-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] lsm: remove net related includes from security.h With this we're back to the times when changing skbuff.h only triggers rebuild of _net_ related stuff 8) This uncovered a bug in rmap.h, that was not including mm.h to get the definition of struct vm_area_struct, working by luck. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Fix building for Motorola Sandpoint with O= Since we directly -include $(clear_L2_L3) when needed, we need to point to the full path of it. Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: don't build virtual IO drivers for PowerMac Only compile vio.c on iSeries and pSeries, since other PPC64 platforms (PowerMac) don't use virtual IO. The resulting #ifdefs in dma.c are kind of ugly, but at least contained, and I can't see a nicer way of doing it for the time being. Signed-off-by: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: trivial sparse cleanups This patch squashes a handful of assorted sparse warnings in the ppc64 code. Should be pretty much trivial and self explanatory. Signed-off-by: David Gibson Acked-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: xmon sparse cleanups This patch removes many sparse warnings from the xmon code. Mostly K&R function declarations and 0-instead-of-NULLs. There are still a whole bunch of warnings in xmon/ppc-opc.c, which is a copy of a file from binutils. Signed-off-by: David Gibson Acked-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: provide notifier list for EEH slot isolations When the EEH (enhanced i/o error handling) hardware on pSeries detects various kinds of PCI errors, it immediately freezes and isolates the slot of the offending PCI card. We get to know about that by noticing that reads from the device return all-1s, and then we have to do a firmware call to find out whether the all-1s value was due to a slot isolation. This patch adds a notifier so that other parts of the system (e.g. the RPA PCI hotplug driver) can know that a slot isolation event has occurred and take whatever recovery action is appropriate. The notifier is called in a workqueue function, although the read from the device that noticed the all-1s value may have been at interrupt level. As a precaution, if we keep trying to read from the device at interrupt level, and do 1000 reads without the workqueue getting a chance to run, we panic, on the grounds that we presumably have a badly-written driver which will spin forever in its interrupt routine, e.g. waiting for a bit in a device register to go to 0. This patch is based on an earlier patch by Linas Vepstas . Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: crash during firmware flash update This patch is from Linas Vepstas . Race conditions during system shutdown after a firmware flash can sometimes lead to an invalid pointer deref (deref to freed memory). This patch fixes this. In addition, it makes sure that the proc entries created by the firmware flash module are removed when the module is unloaded. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: create iommu_free_table() This patch is from John Rose . The patch below creates iommu_free_table(). Iommu tables are not currently freed in PPC64. This could cause a memory leak for DLPAR of an EADS slot. The function verifies that there are no outstanding TCE entries for the range of the table before freeing it. I added a call to iommu_free_table() to the code that dynamically removes a device node. This should be fairly symmetrical with the table allocation, which happens during dynamic addition of a device node. Signed-off-by: John Rose Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: __ioremap_explicit() criterion change This patch is from John Rose . The function __ioremap_explicit() misses a possible (obscure) case when reserving the imalloc area for the new region. This can result in the unexpected DLPAR-add failure for an I/O slot. The failure will be characterized by a kernel message resembling "could not obtain imalloc area for ea 0x..." Here's an explanation: At boot time, imalloc regions are created for the ranges of all PHBs. Upon removal of a child slot for one of these PHBs, the imalloc region is split so that the region for the child slot can be removed. A GFW testcase revealed the following scenario. A PHB is remapped at boot for virtual address range A through C. At boot, the partition owns a slot that spans from A to B. This slot is DLPAR-removed, leaving an imalloc region from B to C. At this point, the user DLPAR adds an EADS slot that was not present at boot, but is a child of the PHB. The new slot happens to have a range that directly matches the leftover PHB range, from B to C. The existing code does not expect this, so the operation fails. Signed-off-by: John Rose Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] power/disk.c: small fixups power_down may never ever fail, so it does not really need to return anything. Kill obsolete code and fixup old comments. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] small SOFTWARE_SUSPEND help text fixes Some small fixes for the SOFTWARE_SUSPEND help text. Signed-off-by: Adrian Bunk Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: Kconfig and defconfig updates. - Make CONFIG_SMP depend on TT mode. Since SMP does not work in SKAS mode (it's still a TODO), add the dependency in the Kconfig. Also mark CONFIG_SMP as experimental. - Workaround kconfig warning: just for now (we wait for a "CONFIG_VIRTUAL_OS" to exclude physical hardware) create the CONFIG_INPUT option (fixed to N), to avoid complaints from make *config ARCH=um about it being undefined. - Mark HPPFS as broken and needing updates. - Update defconfig, both for new kernel options and for changes in the actual config. For instance, enable module support by default. - Update help text for some items and add a help to some other ones. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: resync LDS script for SMP changes Add a couple entries to the linker script which are needed for SMP to link. (From Yan Burman) Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: unused label Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: add conf INITRAMFS_SOURCE Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: sacf local root exploit (CAN-2004-0887) s390 core changes: - Force user process back to home space mode in space switch event exception handler. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: core changes s390 core changes: - Load pid to cr4 on context switch. - Correct and check buffer length of cpcmd. Fix cpcmd inline assembly. - Add missing cc clobber to do_softirq insline assembly. - Regenerate default configuration. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ne2k-pci pci build fix Fix for updated pci_{save,restore}_state() Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik [PATCH] s390: dcss segments cleanup From: Carsten Otte From: Gerald Schaefer Cleanup segment load/unload infrastructure. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: debug feature system control From: Christian Borntraeger Debug feature changes: - Add system control to stop the debug feature. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: qdio changes From: Utz Bacher qdio changes: - Rename iqdio_is_inbound_q_done to tiqdio_is_inbound_q_done to keep function naming consistent. - Allocate qdio structures below 2GB. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: network driver From: Frank Pavlic From: Thomas Spatzier s390 network driver changes: - ctc/iucv: Use DECLARE_PER_CPU instead of extern DEFINE_PER_CPU. - lcs: Always set channel state to CH_STATE_INIT when stopping channels. - qeth: vlan fixes. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: small load balance fix Small bug fix for domains that don't load balance (like those that only balance on exec for example). Signed-off-by: John Hawkes Signed-off-by: Jesse Barnes Acked-by: Nick Piggin Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: improved load_balance() tolerance for pinned tasks A large number of processes that are pinned to a single CPU results in every other CPU's load_balance() seeing this overloaded CPU as "busiest", yet move_tasks() never finds a task to pull-migrate. This condition occurs during module unload, but can also occur as a denial-of-service using sys_sched_setaffinity(). Several hundred CPUs performing this fruitless load_balance() will livelock on the busiest CPU's runqueue lock. A smaller number of CPUs will livelock if the pinned task count gets high. This simple patch remedies the more common first problem: after a move_tasks() failure to migrate anything, the balance_interval increments. Using a simple increment, vs. the more dramatic doubling of the balance_interval, is conservative and yet also effective. Signed-off-by: John Hawkes Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] schedstat: fix schedule() statistics The number of times schedule() left the processor idle in the /proc/schedstat (runqueue.sched_goidle) seems to be wrong. The schedule() statistics should satisfy the equation: sched_cnt == sched_noswitch + sched_switch + sched_goidle (http://eaglet.rain.com/rick/linux/schedstat/v10/format-10.html) The below patch fix this, and I have confirmed to be fixed with: # grep ^cpu /proc/schedstat | awk '{print $6+$7+$9, $8}' Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: active_load_balance fixes The following patch against the latest mm fixes several problems with active_load_balance(). Rather than starting with the highest allowable domain (SD_LOAD_BALANCE is still set) and depending on the order of the cpu groups, we start at the lowest domain and work up until we find a suitable CPU or run out of options (SD_LOAD_BALANCE is no longer set). This is a more robust approach as it is more explicit and not subject to the construction order of the cpu groups. We move the test for busiest_rq->nr_running <=1 into the domain loop so we don't continue to try and move tasks when there are none left to move. This new logic (testing for nr_running in the domain loop) should make the busiest_rq==target_rq condition really impossible, so we have replaced the graceful continue on fail with a BUG_ON. (Bjorn Helgaas, please confirm) We eliminate the exclusion of the busiest_cpu's group from the pool of available groups to push to as it is the ideal group to push to, even if not very likely to be available. Note that by removing the test for group==busy_group and allowing it to also be tested for suitability, the running time is nearly the same. We no longer force the destination CPU to be in a group of completely idle CPUs, nor to be the last in that group. Signed-off-by: Darren Hart Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: remove md_flush_all Following are 7 patches for md They all grew out of a desire to redo the locking in unplug_slave. Getting and dropping a spinlock so often for very little gain (it would be nearly impossible to lose the relevant race) really bothered me. I finally figured that I could reply it with rcu locking which is very light wait, and quite up to the task. One the way I found an number of inconsistencies that needed cleaning up and even a few bugs to fix. The first 6 patches deal with these inconsistencies and bugs. The last redoes the locking for adding/removing/accessing devices within md personalities. This patch: md_flush_all() isn't needed as each personality defines its own issue_flush_fn. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: make retry_list non-global in raid1 and multipath Both raid1 and multipath have a "retry_list" which is global, so all raid1 arrays (for example) us the same list. This is rather ugly, and it is simple enough to make it per-array, so this patch does that. It also changes to multipath code to use list.h lists instead of roll-your-own. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: rationalise issue_flush function in md personalities The functions are all subtly different. This patch makes them all much the same. In particular, EOPNOTSUPP gets returned by all is appropriate. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: rationalise unplug functions in md There are currently subtle differences in the different personalities concerning when subdevices are unplugged (faulty? nr_pending?). This patch makes them sll uniform. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: make sure md always uses rdev_dec_pending properly The ->nr_pending counted should always be decremented with rdev_dec_pending, as this need to do things when the count hits zero. There were a few places where it was being decremented directly. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: fix two little bugs in raid10 These can cause resync to spin when there is a faulty drive. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: modify locking when accessing subdevices in md Each md personality keeps a list of devices that are currently active in the array (mdk_rdev_t). As these can potentially be removed at any time, some locking is needed when accessing entries in the list. Currently this involves a spinlock, but all the spinlocking this imposed in unplug_slaves bothered me. So, I have changed it to use rcu locking. This is more appropriate as objects are removed only very rarely, and there is no cost in waiting a little while for a remove to succeed. Also, all changes to the list of devices are performed by the per-array thread (calling md_check_recovery) and so are completely single threaded, so no locking between writers is needed at all. Finally, devices are never added or removed while resync is happening, so resync doesn't need to worry about locking at all. So with this patch, the spinlocking is replaced with rcu read locking and synchronize_kernel. The rcu_read_lock is held while dereferencing a possible device, and the nr_pending count is atomically incremented if the device is to be held outside of the rcu_read_lock. When removing a device, if the nr_pending count appears to be zero, we set the list entry to NULL and call synchronize_kernel(). If the count is still zero after this, we have a safe removal. If it is non-zero, then someone has just started using it so we put the pointer back and fail the removal. When the new user finally drops it's reference, that will cause the per-array thread to wake up again and retry the removal. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: make read retry use a new bio in raid1 and raid10 When retrying a read request, we need to "Reset" the bio. It is easiest to get this right if we discard the bio we have and re-clone it. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: discard calc_sb_csum_common in favour of csum_fold csum_fold should always have been used on the result of csum_partial. calc_sb_csum_common therefore isn't needed. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: don't hold lock on md devices while waiting for them to finish resync. If one md array is waiting for another to finish resyncing, then it holds a reference to the array, so the array cannot be stopped. With this patch, we drop the reference before waiting. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: fix typos in md and raid10 Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: fixes to make version-1 superblocks work in md driver Add some missing data_offset additions and some le_to_cpu convertions and fix a few other little mistakes. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext2: discard preallocation in last iput Currently the ext2 preallocation is discarded on every iput() (via ext2_put_inode()). We should only discard the preallocation on the last iput() (via ext2_clear_inode()). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Add d_alloc_name() to libfs This patch consolidates several occurrences of duplicated code into a new libfs function d_alloc_name(). Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Weak symbols in modules and versioned symbols Weak symbol may be unavailable in kernel, but if it is available, its signature should be same as was at the build time. If we do not attach signatures to weak symbols, kernel is tainted when such module is loaded. vmmon: no version for "sys_ioctl" found: kernel tainted. I also believe that it is safer to add & check signatures here - module wants either sys_ioctl with right signature, or no sys_ioctl at all, not sys_ioctl with different signature (which signals that there is some misbuild occuring). Signed-off-by: Petr Vandrovec Signed-off-by: Rusty Russell (forwarded) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] cpia.c rmmod deadlock fix Newer versions of module-init-tools do some locking now which leads to a dead-lock if cpia.c does a request_module("cpia_usb/pp"). The attached patch against 2.6.8 removes the request_module. The problem is actually the same as is documented in debian bug #259056 which was caused by alsa autoloading some oss-modules. So I guess there might be more places in the kernel where this new locking in the module-init-tools might lead to dead-locks. Signed-off-by: Peter Pregler Acked-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Change pagevec counters back to unsigned long and cacheline align Change pagevec "nr" and "cold" back to "unsigned long", because <4 byte accesses can be slow on architectures < Pentium III (additional "data16" operand on instruction). This still honours the cacheline alignment, making the size of "pagevec" structure a power of two (either 64 or 128 bytes). Haven't been able to see any significant change on performance on my limited testing. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] UFS: solaris compatibility fix Fix handling of device inodes on Solaris x86 filesystems, add support for large dev_t against Solaris UFS filesystems. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] device-mapper: dm-crypt tidy-ups Small dm-crypt tidy-ups: - Use unsigned consistently - Simplify crypt_iv_plain memset - Use DMEMIT macro Signed-Off-By: Alasdair G Kergon Signed-Off-By: Christophe Saout Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] device-mapper: dm-crypt generator extension Create crypt_iv_operations structure with generator method and move the plain iv generator into this structure. Optionally accept an extended syntax: -- This also makes it ready to support chaining modes other than CBC mode, such as CMC (not implemented in cryptoapi yet), The problems outlined by Adam J. Richter in http://article.gmane.org/gmane.linux.kernel.device-mapper.dm-crypt/454 would be fixed by switching to CMC chaining mode. Example of a valid target line: 0 200 crypt aes-cbc-plain 00000000000000000000000000000000 0 /dev/loop/5 0 Signed-Off-By: Alasdair G Kergon Signed-Off-By: Christophe Saout Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] device-mapper: dm-crypt: new IV mode ESSIV This patch adds a new IV mode ''encrypted sector|salt IV'' described in http://article.gmane.org/gmane.linux.kernel.device-mapper.dm-crypt/472 To use ESSIV, set the ivmode (using the new syntax) to "essiv:". "hash" should be a valid cryptoapi hash. This, for example, is a valid dm-target line: 0 200 crypt aes-cbc-essiv:sha256 00000000000000000000000000000000 0 /dev/loop/5 0 Signed-Off-By: Alasdair G Kergon Signed-Off-By: Christophe Saout Signed-Off-By: Fruhwirth Clemens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] device-mapper trivial: stray semi-colon Remove stray semicolon. Signed-Off-By: Alasdair G Kergon From: Lars Marowsky-Bree Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] device-mapper trivial: duplicate kfree in error path Remove duplicate kfree in dm_register_target error path. Signed-Off-By: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] update CREDITS entry of Werner Almesberger This patch updates my entry. (Long overdue ...) Signed-off-by: Werner Almesberger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Reduce pixmap memory allocation size - Reduce pixmap size allocated by fbmem, i810fb and rivafb from 16-64K to 8K. This size is sufficient that a single putcs call can be accomodated by a single imageblit - Replace NR_FB_DRIVERS with FB_MAX - Trivial code, Kconfig and Documentation cleanup Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Remove inter_module_get/put from i810fb The function inter_module_get/put is to be deprecated. Remove. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Various mach64 changes Alexander Kern [PATCH] port Daniel Mantione 2.4 driver to 2.6 [PATCH] add more pci_id number [PATCH] add accelerated imgblit [PATCH] revert SDRAM_MAGIC_PLL to old behaviour [PATCH] do a "from BIOS" initialisation only by __i386__ Arnaud FONTAINE [PATCH atyfb] correction for 3D Rage Mobility L Geert Uytterhoeven [PATCH atyfb] Atari Atyfb fixes [PATCH atyfb] Atyfb on Mach64 GX or Atari [PATCH 468] m68k sparse floating point James Simmons [PATCH add] port to framebuffer_alloc api Nicolas Souchu [PATCH] I do not found a copy, but it was incorporated too Ville Syrjälä [PATCH] fix pan with doublescan [PATCH] another double scan fix [PATCH] disable linear aperture register access [PATCH] Memory type correction [PATCH] atyfb (2.6): Fix mmio_start [PATCH] atyfb (2.6): Fix mem_refresh_rate for Mobility [PATCH] atyfb (2.6): Add RGB565 support [PATCH] atyfb: Blank LCD by turning off backlight voltage [PATCH] atyfb: Rage LT LCD register access [PATCH] atyfb: vblank irq support [PATCH] atyfb: MTRR support Antonino Daplas remove/modify all references to info->cursor Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Clean up of fbcon/fbdev cursor interface The current cursor interface is confusing. Some fields are taken from the cursor structure in struct fb_info (enable, mask, rop fields) and the rest are taken from the passed cursor structure. These lead to a lot of confusion, making it hard for developers to write their own implementation. Also, the cursor code has several 'short-circuits', occassionally leading to undefined cursor behavior. These are the changes brought about by the patch: - Removed struct fb_cursor and related fields from struct fb_info, and instead, placed them in a struct not visible to fbdev. - The struct fb_cursor passed to fb_cursor() will _always_ contain valid data with various bitflags indicating which fields have changed - The struct fb_pixmap sprite in struct fb_info is used only by drivers with hardware cursor implementation. Initializing and allocating memory for this structure is not needed. Remove initialization and memory allocation. - The FBIO_CURSOR ioctl is broken (because fb_cursor() is broken). For now, remove fb_cursor code and make the FBIO_CURSOR ioctl always return -ENODEV. - The flag FB_CUR_SETCUR is changed to FB_CUR_SETIMAGE, indicating that the cursor sprite has changed. The image change is now checked by fbcon so drivers will not unnecessarily load the sprite image everytime. This causes hardware cursors to flicker, especially in rivafb. - Remove fb_load_cursor_image(). This is unused, and should not be implemented generically. - Documented the usage of the cursor interface in skeletonfb.c Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Clean up softcursor implementation - use struct fb_pixmap pixmap instead of struct fb_pixmap sprite. The softcursor uses fb_imageblit which also uses pixmap. - remove/change all references to info->cursor Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Clean up i810fb cursor implementation remove/modify all references to info->cursor Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Cleanup rivafb cursor implementation remove/modify all references to info->cursor Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Intel 830M/845G/852GM/855GM/865G framebuffer driver port Linux framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G integrated graphics chips. Port from kernel 2.4 + some modifications and cleanup : - Fix HW accel on 845G - Use of agpgart for fb memory reservation - Add mtrr support Signed-off-by: Sylvain Meyer Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: S3 Savage Framebuffer Driver S3 Savage Frambuffer Driver for the following chipsets: Savage 3D Savage MX Savage 4 Savage 2000 ProSavage SuperSavage This is based from the driver written by: Denis Oliver Kropp Sven Neumann Initial Porting to 2.6 done by: Mika Pruikkonen Added the following: - Console acceleration support (imageblit, fillrect, copyarea) - Configurable - DDC2/I2C support for (ProSavage DDR-K, Savage 4 and Prosavage PM only - Configurable - 8, 16, 32 bits per pixel Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] pm2fb: Blanking fixes - Current blanking code forces +ve (h|v)sync. Correct, match 2.4 behaviour, and introduce VESA constants for clarity. Signed-off-by: Jim Hague Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] pm2fb: Colour palette fixes - Hardware CLUT only needs setting on pseudocolor. - Pseudo palette values need to be 32bit wide for cfb_*(). Signed-off-by: Jim Hague Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] acct: report single record for multithreaded process This patch changes process accounting to write just one record for a process with many NPTL threads, rather than one record for each thread. No record is written until the last thread exits. The process's record shows the cumulative time of all the threads that ever lived in that process (thread group). This seems like the clearly right thing and I assume it is what anyone using process accounting really would like to see. There is a race condition between multiple threads exiting at the same time to decide which one should write the accounting record. I couldn't think of anything clever using existing bookkeeping that would get this right, so I added another counter for this. (There may be some potential to clean up existing places that figure out how many non-zombie threads are in the group, now that this count is available.) Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] session leader tty disassociation fix The session leader should disassociate from its controlling terminal and send SIGHUP signals only when the whole session leader process dies. Currently, this gets done when any thread in that process dies, which is wrong. This patch fixes it. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] MODULE_PARM must die: make it warn first. This patch adds a warning whenever MODULE_PARM is used. Successive patches change them over to module_param. Help appreciated! Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Remove MODULE_PARM from i386 defconfig. This cleans up defconfig for i386. Not much work. This patch removes MODULE_PARM for everything made by "defconfig" on x86. There are only a few left. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Remove MODULE_PARM from arch/i386 This patch removes MODULE_PARM for everything under arch/i386. Currently only APM. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Fix for MODULE_PARM obsolete There is no __attribute_unused__: use __attribute__((__unused__)). Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Builtin Module Parameters in sysfs too Currently, only module parameters in loaded modules are exported in /sys/modules/, while those of "modules" built into the kernel can be set by the kernel command line, but not read or set via sysfs. - move module parameters from /sys/modules/$(module_name)/$(parameter_name) to /sys/modules/$(module_name)/parameters/$(parameter_name) - remove dummy kernel_param for exporting refcnt, add "struct module *"-based attribute instead - also export module paramters for "modules" which are built into the kernel, so parameters are always accessible at /sys/modules/$(KBUILD_MODNAME)/$(parameter_name) Signed-off-by: Rusty Russell (modified) Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] boot parameters: quoting of environment variables revisited As noticed by Joey Hess (and thanks for Christoph for forwarding it). Also requirements from Werner Almesberger. If someone passes 'foo="some value"' the param engine removes the quotes and hands 'foo' and 'some value'. The __setup() parameters expect a single string, and so we try to regenerate it from the two parts. Finally, we try to place it as an environment variable. Werner wants quotes stripped out of the environment variable. It makes sense to do that for __setup, too (so it sees 'foo=some value'), since __setup functions don't usually handle quotes. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Eliminate init_module and cleanup_module from Documentation In 2.2, you used to just be able to call functions "init_module" and "cleanup_module" and they'd be magically called. These days you should use module_init(myinit)/module_exit(myexit) and avoid #ifdef MODULE. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix bad segment coalescing in blk_recalc_rq_segments() blk_recalc_rq_segments forgots to take ->max_segment_size into account and gladly merges segments bigger than we can support, thus underestimating the number of segments needed to fill it. Signed-off-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] __init dependencies: ignore __param Ignore __param section references; they aren't discarded. Error: ./drivers/mtd/devices/phram.o __param refers to 0000000000000010 R_X86_64_64 .init.text+0x0000000000000013 Error: ./drivers/scsi/dc395x.o __param refers to 0000000000000020 R_X86_64_64 .init.data+0x0000000000000064 Error: ./drivers/usb/gadget/ether.o __param refers to 0000000000000048 R_X86_64_64 .init.data+0x0000000000000020 Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] e1000 module_param build fix Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik [PATCH] Add DAC check for setxattr(security.selinux) This patch against 2.6.9 adds a DAC ownership check to the existing MAC permission checks when setting the security.selinux attribute via setxattr. In the past, the MAC permission checks were viewed as sufficient for controlling relabeling operations, but experience in the Fedora SELinux integration has shown that a DAC check is also appropriate here, particularly under targeted policy. Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] intel irqbalance quirk cleanup - Remove the call to quirk_intel_irqbalance() from quirk_pciehp_msi(). - Move the x86(/x86_64)-specific quirk_intel_irqbalance() into x86 quirks.c due to its dependency on - Mark it __init rather than __devinit, since it calls __init functions. Signed-off-by: Suresh Siddha Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mmtimer sparse fixes Small patch to add __iomem annotations to mmtimer.c. Signed-off-by: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] hfs: update key after rename After a file has been renamed, the cached search key must be updated. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] hfs: relax dirty check hfs has two dirty bits, but currently OS X uses only one of them, so match its behaviour, so that a uncleanly unmounted disk can be mounted r/w again, after it has been checked. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] hfs: manage correct block count Manage the fs block count with a separate variable and keep a correct i_blocks for e.g. correct du output. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] hfs: read correct dir time Fix a small typo and read the correct time for a dir. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] hfs: write back resource info directly Write back the information for a dirty resource inode directly and not via the main inode, as at the time the latter is written the former might already be gone. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] hfs: export type/creator via xattr This exports the hfs type/creator info via xattr. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Posix layer <-> clock driver API fix This is needed for an mmtimer driver update that we are currently working on. The mmtimer driver provides CLOCK_SGI_CYCLE via clock_gettime and clock_settime. With this api fix one will be able to use timer_create, timer_settime and friends from userspace to schedule and receive signals via timer interrupts of mmtimer. Changelog * Clean up timer api for drivers that use register_posix_clock. Drivers will then be able to use posix timers to schedule interrupts. * Change API for posix_clocks[].timer_create to only pass one pointer to a k_itimer structure that is now allocated and managed by the posix layer in the same way as for the other posix timer functions. * Isolate a posix_timer_event(timr) function in posix-timers.c that may be called by the interrupt routine of a timer to signal that the scheduled event has taken place. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] vm: unreclaimable pages debugginf Add zone->all_unreclaiable to the sysrq-M and omm-killing diagnostic output. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] use generic_file_open in udf Let's try to reduce the number of hand-crafted LFS checks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] idr_remove safety checking idr_remove() should fail gracefully and warn if the id being removed is not valid. The attached patch should do the job without additional overhead. With the existing code, removing an id which was not allocated could remove a valid id which shares the same lowest layer of the radix tree. I ran a kernel with this patch but have not done any tests to force a failure. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] serial send_break duration fix Fix tty_io.c send_break() to assert break for proper duration. If driver break_ctl() changes task state, then break may end prematurely. USB serial driver break_ctl() sends a URB, changing task state to TASK_RUNNING. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] I/O space write barrier On some platforms (e.g. SGI Challenge, Origin, and Altix machines), writes to I/O space aren't ordered coming from different CPUs. For the most part, this isn't a problem since drivers generally spinlock around code that does writeX calls, but if the last operation a driver does before it releases a lock is a write and some other CPU takes the lock and immediately does a write, it's possible the second CPU's write could arrive before the first's. This patch adds a mmiowb() call to deal with this sort of situation, and adds some documentation describing I/O ordering issues to deviceiobook.tmpl. The idea is to mirror the regular, cacheable memory barrier operation, wmb. Example of the problem this new macro solves: CPU A: spin_lock_irqsave(&dev_lock, flags) CPU A: ... CPU A: writel(newval, ring_ptr); CPU A: spin_unlock_irqrestore(&dev_lock, flags) ... CPU B: spin_lock_irqsave(&dev_lock, flags) CPU B: writel(newval2, ring_ptr); CPU B: ... CPU B: spin_unlock_irqrestore(&dev_lock, flags) In this case, newval2 could be written to ring_ptr before newval. Fixing it is easy though: CPU A: spin_lock_irqsave(&dev_lock, flags) CPU A: ... CPU A: writel(newval, ring_ptr); CPU A: mmiowb(); /* ensure no other writes beat us to the device */ CPU A: spin_unlock_irqrestore(&dev_lock, flags) ... CPU B: spin_lock_irqsave(&dev_lock, flags) CPU B: writel(newval2, ring_ptr); CPU B: ... CPU B: mmiowb(); CPU B: spin_unlock_irqrestore(&dev_lock, flags) Note that this doesn't address a related case where the driver may want to actually make a given write get to the device before proceeding. This should be dealt with by immediately reading a register from the card that has no side effects. According to the PCI spec, that will guarantee that all writes have arrived before being sent to the target bus. If no such register is available (in the case of card resets perhaps), reading from config space is sufficient (though it may return all ones if the card isn't responding to read cycles). I've tried to describe how mmiowb() differs from PCI posted write flushing in the patch to deviceiobook.tmpl. Signed-off-by: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] hugetlb_get_unmapped_area fix hugetlb_get_unmapped_area() fails to find an unmapped area while unmapped area is huge. That's because hugetlb_get_unmapped_area just searches forward from mm->free_area_cache. If reaching TASK_SIZE, it does not go back to TASK_UNMAPPED_BASE, just returns -ENOMEM. 1) Add a specific hugetlb_get_unmapped_area on i386. 2) Generic hugetlb_get_unmapped_area is also fixed. Signed-off-by: Zhang Yanmin Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Add prism54 to MAINTAINERS Add prism54 to MAINTAINERS Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] CREDITS update Adrian sent me a check for $100. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ISDN hisax_fcpcipnp.c: kill unused variable drivers/isdn/hisax/hisax_fcpcipnp.c: In function `hisax_fcpcipnp_init': drivers/isdn/hisax/hisax_fcpcipnp.c:999: warning: unused variable `pci_nr_found' Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] PCDP: call acpi_register_gsi() with arguments in correct order PCDP: call acpi_register_gsi() with arguments in correct order Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] clean up therm_adt746x This patch cleans therm_adt746x a bit: lines at maximum 80 chars width, dispatches the big function in three little ones. Functionality not changed. Signed-off-by: Colin Leroy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] increase max LOG_BUF_SHIFT value We've run into problems at 512p with the kernel log buffer wrapping and overwriting some of the early boot output. This is with a CONFIG_LOG_BUF_SHIFT value of 20 (1MB). The patch below just bumps the max possible setting to 21 (2MB). Signed-off-by: Greg Edwards Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Quota warnings somewhat broken Fix end of lines in quota messages. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Fix incorrect kunmap_atomic in pktcdvd The pktcdvd driver uses kunmap_atomic() incorrectly. The function is supposed to take an address as the first parameter, but the pktcdvd driver passed a page pointer. Thanks to Douglas Gilbert and Jens Axboe for discovering this. Signed-off-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] firmware spelling errors Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ide_pio_sector() kmap fix kunmap_atomic() takes a kernel-virtual address, not a pageframe address. For the hundredth time. We really should get typechecking happening there.. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: annotate remaining IO accessors This patch adds proper __iomem annotations to the remaning IO macros on ppc64, and removes now useless casts from eeh.h. This fixes the sparse warnings in mpic.c among others. I need to do an equivalent things for ppc32 (though I think viro did some of it already) and fix users. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: Improve PCI config accessors This improves the config space access routines on G5, by adding a generic helper function to locate the pci_controller structure (to be used by an upcoming new platform too) and cleaning up the pmac routines. It includes the fix to skip devices that aren't present in the OF tree that is necessary for newer G5 desktop models. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: Cleanup console detection This removes some leftover code that was in #if 0 in the console autodetect code. It also adds passing of the default serial speed as console options when it is available from Open Firmware. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [ACPI] ACPI_VIDEO is EXPERIMENTAL [NET]: Address family not supported for sendmsg() Signed-off-by: David S. Miller [TCP]: Add /proc/net/tcp{,6} layout documentation. Signed-off-by: David S. Miller [BONDING]: Add MODULE_VERSION Signed-off-by: John W. Linville Signed-off-by: David S. Miller [VLAN]: Add MODULE_VERSION Signed-off-by: John W. Linville Signed-off-by: David S. Miller [ATM]: [horizon] eliminate pci_find_device() Signed-off-by: David S. Miller [IPV4]: Do not try to unhash null-netdev nexthops. Signed-off-by: Christian Ehrhardt Signed-off-by: David S. Miller [PKT_SCHED]: Rename TCQ_F_INGRES to TCQ_F_INGRESS. This typo annoyned me several times by not showing up in greps. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [DECNET]: Connect hang bugfix This patch fixes a bug in the DECnet connect that seems to have been in 2.6 for a while now. If a connection is rejected by a remote host (eg invalid access control, no such object etc) the Linux end hangs in connect() because it is only waiting for the socket to go into RUN state. This patch sets the ECONNREFUSED error state on the socket when the connection is rejected to that the connect() exits it's wait loop and returns the error to the user. Signed-off-by: David S. Miller [ATM]: Mark vcc_remove_socket static Signed-off-by: David S. Miller [XFRM]: Remove dead exports. Signed-off-by: David S. Miller Fix UP non-preempt build for kernel lock changes. Duh. I had tested every "interesting" combination of SMP and PREEMPT, but the _trivial_ one was broken ;) [IPV6]: Remove dead exports. Signed-off-by: David S. Miller [TCP]: Remove dead exports. Signed-off-by: David S. Miller [NET]: Remove dead socket layer exports. Signed-off-by: David S. Miller [ACPI] Move the "only do this once" stuff from acpi_register_gsi() into eisa_set_level(). Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Len Brown [CRYPTO]: small sha256 cleanup Looks like open-coded be_to_cpu. GCC produces rather poor code for this. be_to_cpu produces asm()s which are ~4 times shorter. Compile-tested only. I am not sure whether input can be 32bit-unaligned. If it indeed can be, replace: ((u32*)(input))[I] -> get_unaligned( ((u32*)(input))+I ) Signed-off-by: Andrew Morton Signed-off-by: David S. Miller [CRYPTO]: small sha512 cleanup Looks like open-coded be_to_cpu. GCC produces rather poor code for this. be_to_cpu produces asm()s which are ~4 times shorter. Compile-tested only. I am not sure whether input can be 64bit-unaligned. If it indeed can be, replace: ((u64*)(input))[I] -> get_unaligned( ((u64*)(input))+I ) Signed-off-by: Andrew Morton Signed-off-by: David S. Miller [CRYPTO]: reduce sha512_transform() stack usage, speedup Patch moves large temporary u64 W[80] from stack to ctx struct: * reduces stack usage by 640 bytes * saves one 640-byte memset() per sha512_transform() (we still do it after *all* iterations are done) * quite unexpectedly saves 1.6k of code on i386 because stack offsets now fit into 8bits and many stack addressing insns got 3 bytes smaller: # size sha512.o.org sha512.o text data bss dec hex filename 8281 372 0 8653 21cd sha512.o.org 6649 372 0 7021 1b6d sha512.o # objdump -d sha512.o.org | cut -b9- >sha512.d.org # objdump -d sha512.o | cut -b9- >sha512.d # diff -u sha512.d.org sha512.d [snip] Signed-off-by: Andrew Morton Signed-off-by: David S. Miller [CRYPTO]: aes-586-asm: formatting changes From: Denis Vlasenko - Macro parameters renamed for clarity. - Inaccurate comments fixed. - ebp register usage de-obfuscated (this is needed for next patch). No real code changes. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller [CRYPTO]: aes-586-asm: small optimizations From: Denis Vlasenko - recode back-to-back fwd_rnd() pairs to avoid two register moves. - ditto for inv_rnd(). - optimize out lea 0(%ebp),%ebp - remove two stray insns # size aes-i586-asm.o.org aes-i586-asm.o text data bss dec hex filename 5971 0 0 5971 1753 aes-i586-asm.o.org 5905 0 0 5905 1711 aes-i586-asm.o Overall, patch does not add and does not modify any insns, only removes a handful of them. However, speed difference is way below noise level. Run-tested with tcrypt module. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller [IPV6] Lookup appropriate destination when sending TCPv6 with routing header. Signed-off-by: Brian Haley Signed-off-by: Hideaki YOSHIFUJI [IPV6] Remove codes related to RTF_ALLONLINK. Signed-off-by: Hideaki YOSHIFUJI [IPV6] simplify functions related to RTF_ALLONLINK. Simplify ipv6_get_saddr(), ipv6_dev_get_saddr() and rt6_purge_dflt_routers(). Signed-off-by: Hideaki YOSHIFUJI [IPV6] NDISC: update neighbor cache entry by RS. Signed-off-by: Hideaki YOSHIFUJI [TCP]: Handle real partial-ACKs of TSO frames correctly. Actually, I think we've caught your crash now. If that code path is triggering at all, then it'll trigger with TSO packets too. If we get a truly partial ack on a TSO packet, then tcp_tso_acked will not trim it off. So we will fall through to this last-ditch trim call, which doesn't update packets_out. There are two solutions to this problem. I've taken the simpler approach for now. We simply trim off the partial bits in tcp_tso_acked and live with the fact that the packet counters may differ from what's on the netwrok by one. Later on we can 'fix' this by remembering where the original TSO packet started from, perhaps in skb->h or somewhere. Dave, is this worth it? Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [PATCH] Remove bogus definition of local chrp_int_ack_special in pSeries_setup.c. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: don't include This patch fixes a couple of places where the ppc64 iSeries code would #include . The only "system" include I consider acceptable is provided by gcc. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [IPV6] kill a warning when building without CONFIG_SYSCTL. Signed-off-by: Hideaki YOSHIFUJI [PATCH] remove NET_HW_FLOWCONTROL CONFIG_NET_HW_FLOWCONTROL is entirely unused now, and superceded by NAPI in practice, so remove the dead code Signed-off-by: Arjan van de Ven Signed-off-by: Jeff Garzik [libata] return ENOTTY rather than EOPNOTSUPP for unknown-ioctl JFS: avoid assert in lbmfree In the error path, lmLogInit must clear log->lbuf_free before calling lbmFree. Signed-off-by: Dave Kleikamp [PATCH] ppc64: PCI ignores empty phb regions The ppc64 PCI code, when parsing the OF tree, may end up getting empty regions in addition to the "normal" ones for the PHB (some pSeries OF device-tree contains weird "ranges" properties). These are harmless but do trigger some annoying warnings during boot, so let's ignore them. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: Fix new mpic driver on some POWER3 On machines using the "ISU" mecanism for the MPIC, the new driver didn't properly calculate the new interrupt count when an ISU was added. That would cause later on failure to request interrupts in the offending range. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: Fix g5-only build The iommu_free_table() patch broke g5 only build by adding back some incestuous relationship between generic code and pSeries code. This wraps this in #ifdef as a quick fix until the original author of the patch comes up with a better solution. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: Add new "Maple" platform support This adds support for the Maple 970FX Eval Board. It adds the basic arch support. For the Maple to be fully functional, it needs a couple more patches to be applied for IDE and Ethernet that are currently pending with the respective maintainers of those subsystems. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] 8250: Fix empty port registration My latest 8250 patch prevented registration of "empty" ports (ports that have a 0 iobase in the static table). Unfortunately, some archs seem to rely on this, and so broke. This patch reverts that part of the patch. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: Some sparse fixes This is a batch of sparse fixes for things in arch/ppc64/* and include/asm-ppc64/* More to come of course... Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] Wake up signalled tasks when exiting ptrace In general it is not safe to do any non-ptrace wakeup of a thread in TASK_TRACED, because the waking thread could race with a ptrace call that could be doing things like mucking directly with its kernel stack. AFAIK noone has established that whatever clobberation ptrace can do to a running thread is safe even if it will never return to user mode, so we can't allow this even for SIGKILL. What we _can_ safely do is make a thread switching out of TASK_TRACED resume rather than sitting in TASK_STOPPED if it has a pending SIGKILL or SIGCONT. The following patch does this. This should be sufficient for the shutdown case. When killing all processes, if the tracer gets killed first, the tracee goes into TASK_STOPPED and will be woken and killed by the SIGKILL (same as before). If the tracee gets killed first, it gets a pending SIGKILL and doesn't wake up immediately--but, now, when the tracer gets killed, the tracee will then wake up to die. This will also fix the (same) situations that can arise now where you have used gdb (or whatever ptrace caller), killed -9 the gdb and the process being debugged, but still have to kill -CONT the process before it goes away (now it should just go away either the first time or when you kill gdb). Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds [PATCH] revert- sys_setaltroot We decided to do this a different way. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds JFS: endian annotations Signed-off-by: Dave Kleikamp [IA64] Need for KERNEL_DS & set_fs() definitions. Signed-off-by: Andrew Morton Signed-off-by: Tony Luck [IA64] efi.c: fix mem= & max_addr= With this change, there's some extra fuzz introduced that a max_addr specification will get rounded down to a granule boundary and memory quantity, when using mem=, will be within a granule size of the requested amount. Let me know if anyone finds more problems with it. Signed-off-by: Alex Williamson Signed-off-by: Tony Luck [IA64] misc small patches for perfmon change-log: - update comment for pfm_do_fasync() - fix return value for pfm_smpl_buffer_alloc(). Now return ENOMEM instead of EAGAIN when buffer too big for RLIMIT_MEMLOCK. - added missing vm_pgoff initialization in pfm_smpl_buffer_alloc() - added flags tro debug print in pfm_write_pmcs - added seed and mask to debug print in pfm_write_pmds - shorten some of the debug prints - remove bogus sanity check from pfm_save_regs() in SMP. this could cause invalid PMU state restore signed-off-by: eranian@hpl.hp.com Signed-off-by: Tony Luck [IA64] Correct bit test for salinfo oem decode The valid.oem_data bit is in different positions in each section. Make the test for valid oem data a section specific test. Signed-off-by: Keith Owens Signed-off-by: Tony Luck [ide] ide-disk: fix /proc/ide/hd?/smart_thresholds Add missing ->data_phase assignment. Signed-off-by: Bartlomiej Zolnierkiewicz [IA64] sn_hwperf correctly handle bricks with multiple slabs The procfs handler for /proc/sgi_sn/sn_topology did not correctly handle multiple slabs in the same brick, e.g. a brick containing a compute node and an ionode. Signed-off-by: Mark Goodwin Signed-off-by: Tony Luck [ide] ide-probe: undecoded slave fixup Undecoded slave fixup is a oneliner patch to ide-probe to recognize both of my Maxtor drives that appear to have the same serial number, D3000000. Signed-off-by: tabris@tabris.net Signed-off-by: Bartlomiej Zolnierkiewicz [IA64] Correct references from text/data to init.text/data. These errors were found by 'make buildcheck'. Signed-off-by: Keith Owens Signed-off-by: Tony Luck [ide] pdc202xx_old: PDC20267 needs the same LBA48 fixup as PDC20265 From: Krzysztof Chmielewski Signed-off-by: Bartlomiej Zolnierkiewicz [TCP]: Move tcp_get_info() into tcp.c In my recent foray into tcp_diag I discovered some ugly looking ifdef's on CONFIG_IPV6 that'll break when IPv6 is built as a module. In order to fix it, we need to allow tcp_diag to be built as a module. So here is a start. This patch move tcp_get_info from tcp_diag.c into the site of the other caller, tcp.c. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [NET]: Fix spelling error for IPComp help in Kconfig. Signed-off-by: Jasper Juhl Signed-off-by: David S. Miller [ide] remove unused internal exports from ide core From: Arjan van de Ven ide-iops.c exports a few functions that either have no users or have no users AND shouldn't be used by drivers; the patch below unexports them. -EXPORT_SYMBOL(SELECT_INTERRUPT); -EXPORT_SYMBOL(SELECT_MASK); -EXPORT_SYMBOL(QUIRK_LIST); -EXPORT_SYMBOL(ata_vlb_sync); only used in the core ide code -EXPORT_SYMBOL(ata_input_data); -EXPORT_SYMBOL(ata_output_data); drivers should (and do) use the hwif-> function pointer variant of these, these functions are internal and used for setting the default hwif-> function pointers only. No need to export, in fact exporting is only asking for accidents Signed-off-by: Bartlomiej Zolnierkiewicz [ide] add pci_get_legacy_ide_irq() This patch adds pci_get_legacy_ide_irq() to the PCI layer for dealing with PCI IDE chipsets that use the "legacy mode" IRQ routing, thus violating the normal PCI routing. The generic implementation provides IRQ numbers 14 and 15, and it adds a ppc64 specific one with platform callbacks so that a plaform can provide different IRQ numbers for "legacy" IDE. I only fixed the amd7xxx.c driver for now, I expect people using this interface will slowly fix their drivers (I will fix via soon as I'll need it too, and maybe a few others). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Bartlomiej Zolnierkiewicz [ide] add ide_use_dma() Should prevent bugs like the recent piix one in the future. Signed-off-by: Bartlomiej Zolnierkiewicz [IA64] fix pgtable.h comments Remove some statements from comments in whose correctness is page size dependent ... and based on using an 8k page size, which almost nobody actually uses. Signed-off-by: Jason Uhlenkott Signed-off-by: Tony Luck [IA64] Delete obsolete code from SGI console driver Delete obsolete code that supports the SGI simulator. This support code has been moved into the fakeprom and is no longer required in the kernel. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck [ide] remove needless exports from ide-taskfile.c Also remove unused MAX_DMA define. Signed-off-by: Bartlomiej Zolnierkiewicz kbuild/usr: initramfs list fixed and simplified Moving logic to scripts/gen_initramfs_list.sh make a nice cleanup in usr/Makefile. A new initramfs image will be generated if the initramfs_list file changes. This patch also fixes the bug with make O=.. Signed-off-by: Sam Ravnborg kbuild: warning fixes on Solaris 9 The following set of patches is based loosely on the patches that Jean-Christophe Dubois came up with for 2.6.7. Where as the original patches added a number of casts to unsigned char, I went the route of making the chars be explicitly signed. I honestly don't know which route is better to go down. Doing this is the bulk of the patch. Out of the rest of the odds 'n ends is that on Solaris, Elf32_Word is a ulong, which means all of the printf's are unhappy (uint format, ulong arg) for most of the typedefs. Signed-off-by: Tom Rini Signed-off-by: Sam Ravnborg kconfig: Small spelling fix for MODULE_SRCVERSION_ALL Kconfig Here's a trivial patch fixing a small spelling error in init/Kconfig in the description of MODULE_SRCVERSION_ALL Signed-off-by: Jesper Juhl Signed-off-by: Sam Ravnborg arm: Fix ARM kernel build with permitted binutils versions All ARM binutils versions post 2.11.90 contains an extra "feature" which interferes with the kernel in various ways - extra "mapping symbols" in the ELF symbol table '$a', '$t' and '$d'. This causes two problems: 1. Since '$a' symbols have the same value as function names, this causes anything which uses the kallsyms infrastructure to report wrong values. 2. programs which parse System.map do not expect symbols to start with '$'. Signed-off-by: Russell King Signed-off-by: Sam Ravnborg ===== kernel/module.c 1.120 vs edited ===== [PKT_SCHED]: pkt_cls.h needs pkt_sched.h Signed-off-by: David S. Miller [PKT_SCHED]: Add net/sch_generic.h with generic sched definitions. Adds net/sch_generic.h containing all bits directly referenced by schedulers and classifiers. Map of users: Group 1) struct qdisc_rate_table sch_*, tcf_police -> cls_* Could theoretically be moved to pkt_sched.h with Patch 4 but the long term goal it so make net/act_api.h to being dependent on net/pkt_sched.h Group 2) struct Qdisc sch_*, tcf_proto -> cls_* struct Qdisc_ops sch_*, tcf_proto -> cls_* struct Qdisc_class_ops sch_*, tcf_proto -> cls_* struct tcf_proto_ops sch_*, cls_* struct tcf_proto sch_*, cls_* Obviously used by schedulers but also by classifiers to bind classes (tcf_proto -> Qdisc -> Qdisc_ops -> Qdisc_class_ops). tcf_proto OTOH is used by schedulers, (neat cross usage). Group 3) struct tcf_result sch_*, cls_* Used to communicate between scheduler and classifer to report classify result. Group 4) sch_tree_(un)lock sch_*, cls_* tcf_tree_(un)lock sch_*, cls_* qdisc(un)lock_tree sch_*, cls_* Randomly used in schedulers and classifiers. Group 5) tcf_destroy sch_*, cls_api.c Coud theoretically be moved to pkt_sched.h if we include pkt_sched.h in cls_api.c but this is really generic and it seemd cleaner to have it here. This would be the only classifier related action in pkt_sched.h The following types are referenced in sch_generic.h but defined in either pkt_cls.h or pkt_sched.h because they will never be used by the other side: - qdisc_walker (pkt_sched.h) - tcf_walker (pkt_cls.h) Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: Remove obsolete definitions in pkt_cls.h Removes all obsolete definitions in pkt_cls.h now in sch_generic.h and includes them via sch_generic.h. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: Add net/act_api.h with public action/policer bits Adds net/act_api.h containing all public action/policer bits used by schedulers and classifiers Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: Remove obsolete definitions in pkt_sched.h Removes all obsolete definitions in pkt_sched.h now in sch_generic.h or act_api.h. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: Transform pkt_sched.h prototypes to be extern Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: Move tc_classify from pkt_cls.h to sch_api.c tc_classiy has grown too big to be inlined, move it to sch_api.c and export it. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: psched_*_per_* can be static Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: Cleanup cls_set_class Clean up a really messy cross reference where a macro cls_set_class in pkt_sched.h would point to a function tcf_set_class in cls_api.c that uses a inlined function __cls_set_class in pkt_sched.h again. Make tcf_set_class be cls_set_class since it was never used and inline it as well. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: Inline psched_tod_diff Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: Use new header architecture Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PATCH] faster signal handling on x86 Optimize away the unconditional write to debug registers on signal delivery path. This is already done on x86_64. We only need to write to dr7 if there is a breakpoint to re-enable, and MOVDR is a serializing instruction, which is expensive. Getting rid of it gets a 33% faster signal delivery path (at least on Xeon - I didn't test other CPUs, so your gain may vary). [ Editors note: it's likely only that slow on Netburst. Serializing is not that expensive, but it is likely that writing to %db7 invalidates the trace cache, which explains why it's so slow on Xeon - it's not just the op itself, it has to re-populate the cache all the time. --- Linus ] Measured delta TSC for three paths on a 2.4GHz Xeon. 1) With unconditional write to dr7 : 800-1000 cycles 2) With conditional write to dr7 : 84-112 cycles 3) With unlikely write to dr7 : 84 cycles Performance test using divzero microbenchmark (3 million divide by zeros): With unconditional write: 7.445 real / 6.136 system 7.529 real / 6.482 system 7.541 real / 5.974 system 7.546 real / 6.217 system 7.445 real / 6.167 system With unlikely write: 5.779 real / 4.518 system 5.783 real / 4.591 system 5.552 real / 4.569 system 5.790 real / 4.528 system 5.554 real / 4.382 system That's about a 33% speedup - more than I expected; apparently getting rid of the serializing instruction makes the do_signal path much faster. Zachary Amsden (zach@vmware.com) [PKT_SCHED]: Add generic packet editor. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller [libata] use kunmap_atomic() correctly [PKT_SCHED]: Make net/tc_act/tc_pedit.h include net/act_api.h Signed-off-by: David S. Miller [IA64-SGI] Update asm-ia64/sn/sn_cpuid.h macros SGI SN code currently makes assumptions about the bits in the LID register. These assumptions do not conform to the bit specifications from Intel. For example, SN currently assumes that bits [28:16] of the LID contain the physical node ID of a node. This patch eliminates these assumptions. A SAL call is now used to translate LID values to the NASID/subnode/slice values that are needed for SN platforms. The results of the SAL call are saved in the SN nodepda. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck [IA64-SGI] Delete simulator support from SN idle loop Delete hack for supporting simulator for SN platforms. This capability has been moved into the simulator environment & is no longer required in the kernel. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck [IA64-SGI] only allocate irq if the device can interrupt Signed-off-by: Patrick Gefre Acked-by: Mike Habeck Signed-off-by: Tony Luck [IA64] Need for GRANULEROUNDDOWN Alex's change for mem=/max_addr= now needs to include meminit.h Signed-off-by: Tony Luck [NETLINK]: Remove netlink_sock_nr This patch removes netlink_sock_nr which is only used by a printk statement in af_netlink.c. Even that's only there if NETLINK_REFCNT_DEBUG is defined. If we were really looking for netlink refcnt bugs there are probably better places to do that anyway. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller NTFS: Ensure the mft record size does not exceed the PAGE_CACHE_SIZE at mount time as this cannot work with the current implementation. Signed-off-by: Anton Altaparmakov [ARM PATCH] 2162/1: OMAP update 1/8: Improved cpu detection and serial init Patch from Tony Lindgren This patch improves the OMAP cpu detection during the boot, and adds board-specific init for the serial ports. Signed-off-by: Tony Lindgren [ARM PATCH] 2164/1: OMAP update 3/8: Include files Patch from Tony Lindgren This patch syncs the mainline kernel with the linux-omap tree. The highlights of the patch are: - Collapse OMAP 1610, 6912 and 1710 into one processor group 16xx - USB updates by David Brownell - Pin multiplexing updates by David Brownell - Board specific low level serial port init Signed-off-by: Tony Lindgren [ARM PATCH] 2165/1: OMAP update 4/X: Replace 1610 and 5912 header files with 16xx Patch from Tony Lindgren This patch replaces old OMAP headers for 1610 and 5912. These headers are replaced with a common omap16xx.h header file. Signed-off-by: Tony Lindgren NTFS: Check for location of attribute name and improve error handling in general in fs/ntfs/inode.c::ntfs_read_locked_inode() and friends. Signed-off-by: Anton Altaparmakov [ARM PATCH] 2166/1: OMAP update 5/8: Change OMAP to use generic clock framework Patch from Tony Lindgren This patch by Tuukka Tikkanen changes OMAP to use ARM generic clock framework instead of older OMAP specific clock framework. Patch replaces old clocks.c with new clock.[ch]. Signed-off-by: Tony Lindgren [ARM PATCH] 2167/1: OMAP update 6/8: Add graphics acceleration support to DMA Patch from Tony Lindgren This patch by Imre Deak adds support for graphics acceleration features on the OMAP DMA controller. Signed-off-by: Tony Lindgren [ARM PATCH] 2169/1: OMAP update 8/8: McBSP update Patch from Tony Lindgren Patch by Samuel Ortiz to update OMAP McBSP support Signed-off-by: Tony Lindgren [ARM] Group linux/* includes together in mcbsp.c [IA64] fix machine vectors for mmiowb I left out some of the necessary machine vector magic in the mmiowb patch which caused the generic build to break. This patch fixes it up by properly #defining it and #undefing it and adding a routine to lib/io.c. Signed-off-by: Jesse Barnes Signed-off-by: Tony Luck [IA64-SGI] Update asm-ia64/sn/sn_cpuid.h macros (I missed a file in the cleanup code that I sent yesterday.) SGI SN code currently makes assumptions about the bits in the LID register. These assumptions do not conform to the bit specifications from Intel. For example, SN currently assumes that bits [28:16] of the LID contain the physical node ID of a node. This patch eliminates these assumptions. A SAL call is now used to translate LID values to the NASID/subnode/slice values that are needed for SN platforms. The results of the SAL call are saved in the SN nodepda. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck [PATCH] DVB: rework debugging in av7110 - [DVB] av7110: switch from stupid DEB_xx() debug macros to saner dprintk() style debugging - [DVB] av7110: fix dvb-ttpci ca write() polling - [DVB] budget: switch from stupid DEB_xx() debug macros to saner dprintk() style debugging Signed-off-by: Michael Hunold Signed-off-by: Linus Torvalds [PATCH] DVB: misc. updates to the dvb-core - [DVB] ttusb_dec: add new 2000T type model number - [DVB] dvb_ca_en50221: properly zero out private pointer - [DVB] dvb-bt8xx: properly use a mutex when starting/stopping the dma engine, remove card list, it's not need anymore - [DVB] bt878: fix hex <=> dec typo (missing 0x prefix), mark remove bt878_remove() function __devexit_p - [DVB] dvb-core: add dvb_net_debug module parameter, remove some dead code Signed-off-by: Michael Hunold Signed-off-by: Linus Torvalds [PATCH] DVB: add new driver - [DVB] add new driver for the Terratec CinergyT2/qanu USB2 DVB-T receiver, thanks to Daniel Mack and Holger Waechtler Signed-off-by: Michael Hunold Signed-off-by: Linus Torvalds [PATCH] DVB: revamp dibusb driver - [DVB] dibusb: update documentation for the dibusb DVB driver - [DVB] dibusb: major overhaul of the driver, including adding new vendor and product ids from clones Signed-off-by: Michael Hunold Signed-off-by: Linus Torvalds [PATCH] DVB: misc. updates to frontend drivers - [DVB] add legacy DishNetwork support to dvb core and stv0299, thanks to Jeremy Hall - [DVB] mt352: major cleanup, support DVICO FusionHDTV DVB-T, thanks to Christopher Pascoe Signed-off-by: Michael Hunold Signed-off-by: Linus Torvalds [ARM PATCH] 2170/1: OMAP update 2/8, take 2: Arch files Patch from Tony Lindgren This patch syncs the mainline kernel with the linux-omap tree. The highlights of the patch are: - Collapse OMAP 1610, 6912 and 1710 into one processor group 16xx - USB updates by David Brownell - Pin multiplexing updates by David Brownell - Board specific low level serial port init Signed-off-by: Tony Lindgren [ARM PATCH] 2134/3: S3C2410 - Power Management core (1/4) Patch from Ben Dooks Core support for S3C2410 suspend to SDRAM Signed-off-by: Ben Dooks [ARM PATCH] 2135/3: S3C2410 - Power Management timer resume (2/4) Patch from Ben Dooks Support for restarting the system timer after a suspend-resume cycle. Also fixes the following - missed partial setup for BAST and VR1000 - added IPAQ RX3715 timer setup Signed-off-by: Ben Dooks [IA64] fix(?) unwind data for ia64_monarch_init_handler Roland> I can see the ERROR: comes from unwcheck.pl but I have no Roland> idea what it is checking (something to do with unwind info?) Roland> let alone how to fix the problem. Roland> Is this benign or is there something to be fixed? David> Both: it needs to be fixed, but it's (mostly) benign since the only David> time we're executing that code is when the unwinder can't run anyhow, David> since we're in the middle of delivering an MCA. That may (and David> probably will) change in the future, so it's something that should be David> fixed. David> I was hoping someone who knows and could test the MCA code better David> would fix it but that hasn't happened yet, so it's time for plan B. David> Tony, below is a patch that fixes the unwind info enough that the David> warning/error goes away. The unwind-info may not be 100% correct David> though. Someone who can test/exercise this code may want to check on David> that. Signed-off-by: Tony Luck [ARM PATCH] 2136/1: S3C2410 - Power Management IRQ wakeup (3/4) Patch from Ben Dooks Allow all wake-up capable IRQs to be configured as such Signed-off-by: Ben Dooks [ARM PATCH] 2138/1: S3C2410 - Power Management documentation (4/4) Patch from Ben Dooks Documentation for the suspend and resume code in Documentation/arm/Samsung-S3C24XX/Suspend.txt Signed-off-by: Ben Dooks [ARM PATCH] 2146/1: S3C2410 - serial fixes and s3c2440 updates Patch from Ben Dooks fixes the following: - no debug output in the head code for either s3c2410 or s3c2440 - fifo size calculation in the low-level debugging code - serial constants for s3c2440 serial fifo sizes - added s3c2440 support for uncompress.h Signed-off-by: Ben Dooks [ARM PATCH] 2147/1: S3C2410 - reorganise board support Patch from Ben Dooks this patch makes the following changes: - renames struct s3c2410_board to s3c24xx_board - moves board registration into cpu.c Signed-off-by: Ben Dooks [ARM PATCH] 2148/1: S3C2410 - I2C platfrom data Patch from Ben Dooks Attached is the include file for the i2c platform data for the s3c2410/s3c2440 I2C controller Signed-off-by: Ben Dooks [ARM PATCH] 2149/1: S3C2410 - usb-simtec.c fixes and cleanup Patch from Ben Dooks This patch does the following - removes the setup code to change device/host behaviour, which does not belong here - tidies up the debug output - fixes the call to free_irq() to pass the right info - ensures the usb code is notified when the over-current condition is removed Signed-off-by: Ben Dooks [ARM PATCH] 2151/1: S3C2410 - fix guard on include/asm-arm/arch-s3c2410/regs-iic.h Patch from Ben Dooks fix guard define so it does not clash with another header file. Signed-off-by: Ben Dooks [ARM PATCH] 2152/1: S3C2410 - lcd controller register fixes Patch from Ben Dooks Fix the mis-definition of the following registers / bits in the s3c2410 LCD controller register header: - S3C2410_LCDCON1_MMODE - S3C2410_LCDCON1_ENVID - S3C2410_LCDCON3_HBPD - S3C2410_LCDCON3_WDLY and adds the following missing register definitoons - S3C2410_LCDBANK - S3C2410_LCDBASEU - S3C2410_OFFSIZE - S3C2410_PAGEWIDTH thanks to Arnaud Patard for finding these problems Signed-off-by: Ben Dooks Signed-off-by: Arnaud Patard [ARM PATCH] 2155/1: S3C2410 - fix definition of S3C2410_UDC_MAXP_REG Patch from Ben Dooks Attached is the fix for the S3C2410_UDC_MAXP_REG definition. Signed-off-by: Ben Dooks Signed-off-by: Arnaud Patard [ARM PATCH] 2156/1: S3C2410 - Documentation updates Patch from Ben Dooks Update the following in Documentation/arm/Samsing-S3C24XX/ - mtd merge update - list of contributors - change history Signed-off-by: Ben Dooks [ARM PATCH] 2157/2: S3C2410 - default configuration update Patch from Ben Dooks Updated default configurations for s3c2410 and bast Signed-off-by: Ben Dooks [ARM PATCH] 2158/1: S3C2410 - clean warnings from arch/arm/mach-s3c2410/pm.c Patch from Ben Dooks Clean warnings about unsigned long / unsigned int printk args and update comment on debugging Depends on patch 2134/3 Signed-off-by: Ben Dooks [ARM PATCH] 2159/1: BAST - include/asm-arm/arch-s3c2410/bast-pmu.h Patch from Ben Dooks Header file for BAST Power Management unit register definitions Signed-off-by: Ben Dooks [ARM PATCH] 2161/1: S3C2410 - uncompressor low level uart configuration Patch from Ben Dooks Allow the uncompressing messages to be sent to the UART specified in the kernel configuration, instead of just UART 0. This includes the Kconfig update to make this option available all the time, and to rename it's description text. This patch also fixes s3c2440 support for the uncompressor Signed-off-by: Ben Dooks [ARM PATCH] 2139/1: BAST - Power management initialisation Patch from Ben Dooks Allow power managemnet support for the Simtec EB2410ITX (BAST) Signed-off-by: Ben Dooks [ARM PATCH] 2172/1: S3C2410 - clock updates Patch from Ben Dooks This patch does the following: - move the clock initialisation to just after the cpu init - add the two clocks for the s3c2440 - add dclk0/1 and clkout0/1 definitions - add list of clocks to the board specific struct - fix initialisation of the clock control - update handling of parent clocks for >1 parent this fixes the following problems: - serial console with no clock sources - clocks specific to various boards - hang if LCD controller enabled at start time Signed-off-by: Ben Dooks [MMC] Fix incorrectly balanced spin_lock_irq() Don't ask the user for esoteric compiler tweaks by default. You can get all the kernel tweaking if you say yes to EMBEDDED, which exposes questions that make sense only for experts. [PATCH] ppc/ppc64: hook up key management syscalls The attached patch permits my key management stuff to be used on PPC, PPC64 and PPC on PPC64. Syscall numbers were allocated by Paul Mackerras. I've updated my keyctl utility to work on PPC/PPC64 too: http://people.redhat.com/~dhowells/keys/keyctl.c Signed-Off-By: David Howells Signed-off-by: Linus Torvalds [PATCH] HVSI hangup oops Testing revealed that the HVSI driver could oops if carrier detect dropped mid-data transfer. This fixes it by properly locking the hangup. Signed-off-by: Hollis Blanchard Signed-off-by: Linus Torvalds [PATCH] HVSI early boot console This patch adds support for the udbg early console interfaces when using an HVSI console. Signed-off-by: Hollis Blanchard Signed-off-by: Linus Torvalds [PATCH] HVSI reset support This patch adds support for when the service processor (the other end of the console) resets due to a critical error; we can resume the connection when it comes back. Signed-off-by: Hollis Blanchard Signed-off-by: Linus Torvalds [MMC] Add support for passing scatterlists to MMC host drivers. This is intended to remove block layer knowledge from MMC host drivers. Host drivers are expected to use the scatter list for data transfers rather than accessing the struct request. [MMC] Remove block knowledge from MMCI driver. Convert MMCI driver to use the scatter list provided by the upper MMC layers. This removes all knowledge of struct request from the MMCI driver. [PKT_SCHED]: Remove bogus lock and make cls_set_class return unsigned long. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [NET]: Fix NLM_F_MULTI in tcp_diag and xfrm_user Signed-off-by: Harald Welte Signed-off-by: Herbert Xu Signed-off-by: David S. Miller Fix up "compat_sys_keyctl()" system call. Fix name, and make sure that it's listed as a conditional system call so that we stub it out to ENOSYS if the kernel isn't compiled with key management support. [ATM]: don't leak skb on as_indicate failure; don't wakeup twice on as_close Signed-off-by: Chas Williams Signed-off-by: David S. Miller [Bluetooth] Ignore the BPA 100/105 devices The BPA 100/105 devices from Digianswer identify themself with the USB class code for H:2 devices, but they are using quite a different host transport protocol and so ignore them. Signed-off-by: Marcel Holtmann [MMC] Switch PXAMCI to use supplied scatterlist. This converts the PXA MCI driver to use the supplied scatter list rather than accessing the struct request directly, thereby making this host driver independent of the block layer. We also clean up the driver to use a consistent driver name for resources. [PATCH] scsi/53c700: replace schedule_timeout() with Any comments would be appreciated. Description: Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: James Bottomley [ARM PATCH] 2173/1: OMAP update 7/8, take 3: Add PM support Patch from Tony Lindgren This patch by Dirk Behme, Todd Poynor et al adds power management support for OMAP. Suspend works on at least 1510 and 16xx. Signed-off-by: Tony Lindgren [Bluetooth] Fix another disconnect race When the selecting of the alternate setting for the SCO audio support fails, the hci_usb_disconnect() will dereference a NULL pointer. To avoid this, the isoc_iface variable must be set before releasing the interface and unset afterwards. Signed-off-by: Marcel Holtmann [MMC] Deprecate "req" member of mmc_data structure. Host drivers should now use the scatterlist rather than accessing the request directly. This marks the request pointer as being deprecated so that host driver authors get a chance to fix their drivers up before we remove this member. [Bluetooth] Allow vendor specific packet types The vendor packet type 0xff is not handled at the moment. This patch corrects this behaviour and also adapts the security filter for this packet type. Signed-off-by: Marcel Holtmann [PATCH] scsi/scsi_lib: replace schedule_timeout() with Any comments would be appreciated. Description: Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: James Bottomley ppc32: Move request_irq() calls to arch_initcall() functions request_irq() needs to be called a bit later than we were doing before, causing crashes. Signed-off-by: Randy Vinson Signed-off-by: Tom Rini ppc32: Fix warning in gen550 code. In gen550_dbg.c, cast addr in our direct_inb/oub routines to __iomem. Signed-off-by: Randy Vinson Signed-off-by: Tom Rini [PATCH] SCSI tape: remove remaining typedefs This patch augments Christoph Hellwig's earlier patch by converting the local typedefs to struct definitions. One debugging printk format is also fixed. The patch is against 2.6.10-rc1, compiles and has been tested. Signed-off-by: Kai Makisara Signed-off-by: James Bottomley [CPUFREQ] Reevaluate users requests after denial. Sometimes, a user or userspace daemon wants a specific frequency is set, but that frequency is (temporarily) unavailable or becomes unavailable due to e.g. thermal considerations. As soon as this situation changes, the user wish should be re-evaluated. The attached patch saves the user wish in "cpu_set_freq", and re-uses that whenever appropriate. Thanks to Thomas Renninger for testing. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Don't break on FFFFFFFF'd frequencies. Some BIOSes export invalid _PSS entries where all bits are set to one. While this is totally contrary to the ACPI specification, BIOS vendors try to tell userspace that these entries should not be considered or used. In order to not fail on such entries, the speedstep-centrino already contains a method to ignore these things. However, due to a wrong ordering of checks the driver aborts nonetheless. So move some checks around. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] struct acpi_processor_performance *acpi_processor_perf should be static. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] dbs_tuners_ins should be static. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Attribute definitions in cpufreq core should be static. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] cpufreq_sysctl_table should be static even though it'll be gone soon. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Dothan is stepping 13 == 0x0D instead of 0x13 == 19 Thanks to Brian Miles for debugging this issue. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Rename cpufreq acpi module. The "acpi" cpufreq driver uses the far too generic module name "acpi". Fix it by renaming it to "cpufreq-acpi". A MODULE_ALIAS("acpi"); will allow for backwards-compatible naming until 2005-06-30. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Unify the CPU_FREQ config option. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] 2.4 API clarification. Clarify that cpufreq_set() and cpufreq_setmax() are parts of the 2.4. API to the userspace governor which will be removed soon after 2005-01-01. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Add a unified cpufreq debug infrastructure. cpufreq_debug_printk will print messages if a) debugging for the specified part is activated (add 1 for core, 2 for drivers, 4 for governors and pass value as cpufreq.debug= on the kernel command line). b) and either b1) printk_ratelimit() allows it to be printed, b2) the user disables ratelimit'ing by passing cpufreq.debug_ratelimit=0 on the kernel command line, _or_ b3) during driver initialization [unless a different driver has been initialized successfully] and unloading, and whenever a new policy is set. The last point may cause for numerous messages if an userspace-based dynamic governor is used which mis-uses the policy interface to set specific frequencies. Oh, the ACPI processor.c interface to the file "performance" uses the same trick, but that interface is marked deprecated as well, so I don't care. And debugging isn't activated normally, you know... Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Use the unified cpufreq debug infrastructure in the speedstep library. Modified existing dprintks and added a few which might be / have been of interest. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Use the unified cpufreq debug infrastructure in the speedstep-smi driver. Modified existing dprintks and added a few which might be / have been of interest. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Use the unified cpufreq debug infrastructure in the speedstep-ich driver. Modified existing dprintks and added a few which might be / have been of interest. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Use the unified cpufreq debug infrastructure in the speedstep-centrino driver. Modified existing dprintks and added a few which might be / have been of interest, and cleared some whitespace/tab confusion. The big comment regarding which frequency to pass as "old" value wasn't up to date any longer in two regards: the driver's behaviour had changed, and the core is know able to handle such things... anyways, the comment could be removed. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Use the unified cpufreq debug infrastructure in the p4-clockmod driver. Modified existing dprintks and added a few which might be / have been of interest. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [ARM PATCH] 2080/1: clean up io-{read|write}sl Patch from Nicolas Pitre - eliminate difference between ARMv3 and ARMv4 versions of io-readsl - unified little/big endian support - misc optimisations Signed-off-by: Nicolas Pitre [CPUFREQ] Use the unified cpufreq debug infrastructure in the longrun driver, and add some dprintks which might be / have been of interest. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Use the unified cpufreq debug infrastructure in the powernow-k8 driver. Modified existing dprintks. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Use the unified cpufreq debug infrastructure in the powernow-k7 driver. Modified existing dprintks, and removed the driver-only debug module parameter. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Use the unified cpufreq debug infrastructure in the longhaul driver. Modified existing dprintks, and removed the driver-only debug module parameter. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Use the unified cpufreq debug infrastructure in the gx-suspmod driver. Modified existing dprintks. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Use the unified cpufreq debug infrastructure in the acpi-cpufreq driver. Also convert the driver's ACPI debug messages to cpufreq debug messages. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Add (one each) dprintk for the performance and powersave cpufreq governors. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Add a few dprintks for the userspace cpufreq governor. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Add a few useful dprintks in the frequency table helpers. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Add a few useful dprintks to the cpufreq core Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Show the CPUs which can only change frequencies at the same time in a sysfs file named "affected_cpus". The usefulness of such a file was first noted by Zwane Mwaikambo. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] module_vid_table is only used if DEBUG isn't set, so put #ifdefs around it. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] print_speed and speedbuffer are only used if DEBUG isn't set so put #ifdefs around them. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Use __ATTR in cpufreq.c attribute definitions. Fixes the lack of MODULE_OWNER setting [can't cause problems yet because cpufreq can only be built into the kernel], and allows for code reduction. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Set .owner in cpufreq_userspace.c sysfs attribute definition. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Use __ATTR in cpufreq_ondemand.c attribute definitions. Fixes the lack of MODULE_OWNER setting, and allows for code recuction. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Set .owner in freq_table's sysfs definition. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] ondemand return EINVAL on errors. Return -EINVAL instead of a non-error-value if the user echo'es something bad into attributes generated by the ondemand cpufreq governor. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] NVidia nForce2 FSB cpufreq driver. Adds cpufreq support for FSB changing on nForce2 platforms. On this plattforms the PCI/AGP clock is independent from the FSB and it also doesn't depend on the used CPU. From: Sebastian Witt Signed-off-by: Andrew Morton Signed-off-by: Dave Jones ppc32: Remove sandpoint_early_serial_map() This was causing problems and isn't needed. Signed-off-by: Randy Vinson Signed-off-by: Tom Rini [VLAN]: Sync code and feature set with 2.4.x Signed-off-by: David S. Miller [PATCH] FB_INTEL Kconfig breakage FB_INTEL selects AGP_INTEL (i.e. intel-agp.c), which is i386-only. AGP_INTEL itself depends on X86 && !X86_64 and for a good reason - it doesn't build elsewhere. Added dependency to FB_INTEL itself; as it is allmodconfig had been broken on everything outside i386. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] Fix cc-option call for xcompiles If an arch Makefile overrides CROSS_COMPILE (e.g. parisc, mips, ...) then the cc-option call in the main Makefile uses the wrong compiler to check for options. Signed-off-by: Randolph Chung Signed-off-by: Linus Torvalds Fix atyfb modular build on ppc. Noted by Al Viro, superhacker and endlessly patient person. Sign up today! You too can become a superhacker by setting up a cross-compile environment for all architectures and building "allmodconfig" trees all day long to find places where others have screwed up. Fix kbuild problem with O= Kbuild can't fix up "-I $(src)/.." to the right directory due to the particular magic transformations it does on -I arguments. Remove the space, use "-I$(src)/.." and it works. Hopefully Sam will fix this build issue. I think somebody should dress up as scripts/Makefile.lib for Halloween. Now _that_ would be scary. [libata] cosmetic libata.h changes to make merging with 2.4 easier [PATCH] remove unused include in m68knommu mm/init.c Remove unused shglcore.h include from m68knommu/mm/init.c That file will be removed in an upcoming patch. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] remove unused include in m68knommu mm/memory.c Remove unused shglcore.h include from m68knommu/mm/memory.c That file will be removed in an upcoming patch. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] remove uneeded includes (5206e/config.c) Remove uneeded includes. asm/delay.h is not needed here. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] remove uneeded includes (5249/config.c) Remove uneeded includes. asm/delay.h is not needed here. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] remove uneeded includes (5307/config.c) Remove uneeded includes. asm/delay.h is not needed here. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] remove unused shglcore support Remove unused SHGLCORE support. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] clean up HZ definition Clean up the definition of HZ on m68knommu systems. There is really only a couple of cases to handle, most boards use the traditional 100Hz still. Only special case out those that don't. The current code is just spaghetti. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] remove unused shglcore.h include Remove unused shglcore.h include. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] remove other unused shglcores.h include Remove remaining unused shglcores.h include. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] support all relocation types for m68knommu modules Add code to support the apply_relocate_add() function, needed to support all relocation types of the m68k and Coldfire families. This code is straight out of the m68k support for this. Patch was originally from Christian Magnusson Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] update total_vm on non-MMU configurations This patch fixes 3 problems with the nommu.c support code: 1. export mem_map and vmtruncate (to make them the same as MMU version) 2. update the total_vm usage in mmap routines Without this the OOM killer has no "badness" points to rate processes on... This patch was originally submitted by Giovanni Casoli for a 2.4.26 kernel. I applied it to the 2.6.9 code. 3. provide stub for arch_get_unmapped_area Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [NETLINK]: Check netlink_insert in kernel_create This patch checks the return value of netlink_insert() in netlink_kernel_create(). It could fail if someone loads the same module twice for instance. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [XFRM]: Don't panic in xfrm_user_init Since xfrm_user can be built as a module it's best not to panic when something goes wrong in xfrm_user_init. Call me a wimp for not fixing netlink_kernel_init's return value :) Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [ETHTOOL]: Enforce SG requires TX csum rule. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [ACPI] C1 fixes when processor driver is loaded honor "halt=" cmdline parameter use monitor/mwait when available http://bugzilla.kernel.org/show_bug.cgi?id=2280 Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown [PATCH] apply recent ES7000 ACPI interrupt fix to MPS mode Before: IRQ26 -> 0:10-> 1:2 IRQ27 -> 0:11-> 1:3 After: IRQ26 -> 1:2 IRQ27 -> 1:3 IRQ58 -> 0:10 IRQ59 -> 0:11 Signed-off-by: Natalie Protasevich Signed-off-by: Len Brown 8250_pnp serial_req.port_high fix for Tiger Signed-off-by: David Shaohua Li Signed-off-by: Len Brown [ACPI] introduces acpi_penalize_isa_irq() to to avoid PCI devices use IRQ of legacy PNP devices. Signed-off-by: David Shaohua Li Signed-off-by: Len Brown [ACPI] export acpi_match_ids() Signed-off-by: David Shaohua Li Signed-off-by: Len Brown [ACPI] create ACPI-based PNP driver. With this driver, legacy device drivers (floppy ACPI driver, COM ACPI driver, and ACPI motherboard driver) which directly use ACPI can be removed, since now we have unified PNP interface for legacy ACPI enumerated devices. Originally by Matthieu Castet Signed-off-by: Li Shaohua Signed-off-by: Len Brown [ACPI] fix video module unload oops Signed-off-by: Luming Yu Signed-off-by: Len Brown NTFS: In fs/ntfs/aops.c::ntfs_writepage(), if t he page is fully outside i_size, i.e. race with truncate, invalidate the buffers on the page so that they become freeable and hence the page does not leak. Signed-off-by: Anton Altaparmakov NTFS: Implement extension of resident files in the regular file write code paths (fs/ntfs/aops.c::ntfs_{prepare,commit}_write()). At present this only works until the data attribute becomes too big for the mft record after which we abort the write returning -EOPNOTSUPP from ntfs_prepare_write(). Signed-off-by: Anton Altaparmakov [PATCH] move key_init to security_initcall During system boot many probes, etc. will generate upcalls to userspace via call_usermodehelper(). This has the effect of calling execve() before the key subsystem has been initialized, and thus Oopsing on a NULL key_jar during key_alloc(). Move key_init to security_initcall so that it's called along with other security initialization routines which have similar requirements. Signed-off-by: Chris Wright Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] shmem NUMA policy spinlock The NUMA policy for shared memory or tmpfs page allocation was protected by a semaphore. It helps to improve scalability if we change that to a spinlock (and there's only one place that needs to drop and reacquire). Oh, and don't even bother to get the spinlock while the tree is empty. Acked-by: Andi Kleen Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] statm: __vm_stat_accounting The procfs shared_vm accounting in do_mmap_pgoff didn't balance with munmap in the case of shared anonymous: because file comes in NULL, whereas vm_file gets set at the end by shmem_zero_setup. Update file; and update vm_flags (a driver is likely to add VM_IO or VM_RESERVED, modifying reserved_vm); and update pgoff (doesn't affect procfs accounting, but could affect vma_merge - though at present all drivers which modify vm_pgoff set a VM_SPECIAL which prevents merging). And do that __vm_stat_account before advancing to make_pages_present. Signed-off-by: Hugh Dickins Acked-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] statm: shared = rss - anon_rss The third "shared" field of /proc/$pid/statm in 2.4 was a count of pages in the mm whose page_count is more than 1 (oddly, including pages shared just with swapcache). That's too costly to calculate each time, so 2.6 changed it to the total file-backed extent. But Andrea knows apps and users surprised when (rss - shared) goes negative: we need to provide an rss-like statistic, close to the 2.4 interpretation. Something that's quick and easy to maintain accurately is mm->anon_rss, the count of anonymous pages in the mm. Then shared = rss - anon_rss gives a pretty good and meaningful approximation to 2.4's intention: wli confirms that this will be useful to Oracle too. Where to show it? I think it's best to treat this as a bugfix and show it in the third field of /proc/$pid/statm, after resident, as before - there's no evidence that the total file-backed extent was found useful. Albert would like other fields to revert to page counts, but that's a lot harder: if mprotect can change the category of a page, then it can't be accounted as simply as this. Only go that route if real need shown. Signed-off-by: Hugh Dickins Acked-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] statm: fix negative data The sixth "data" field of /proc/$pid/statm was sometimes negative: text is a subset of shared_vm, and so was subtracted twice from total_vm. Signed-off-by: Hugh Dickins Acked-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] omit CommitAvail CommitLimit was a good addition to /proc/meminfo, but we don't usually show both what's used and what's free: don't waste lines of screenspace, omit CommitAvail, let the user do the arithmetic as with all the others. And in updating that Documentation, removed the long-gone ReverseMaps. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] tmpfs truncate latency High latency observed when deleting a large video file from tmpfs. shmem_truncate held info->lock (easily dropped) and nested atomic kmaps (more awkward to handle, since it's structured to keep them) while scanning the many pages of its swap vector. Now be prepared to cond_resched every 64 ops (but scan an empty page in one go). shmem_free_pages to free a linked list of empty swap vector pages at the end (cond_resched every 64): could still free them one by one in the main loop, but this foreshadows scalability changes - which will want to use RCU on them, only freeing the pages after a grace period. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] anon cris align address_space CRIS does not demand alignment, so PageAnon's PAGE_MAPPING_ANON bit got mixed up with the low bit of the struct address_space *mapping pointer. Patch based on that from Mikael Starvik, but moved the alignment to the declaration of struct address_space itself, and align to sizeof(long) so it's well-aligned on all architectures. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] add nth_page() Provide a function to get the pageframe number of the nth page at scatterlist.page. We cannot just index off scatterlist.page because the physically-contiguous pages may not be contiguous in mem_map[]. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] SELinux: fix netif bugs and simplify. This patch fixes and simplifies locking in the SELiunux netif cache. An old problem (which I forgot about) is fixed where a netif lookup can be followed by a preemption, causing a race against sel_netif_put(). Kaigai Kohei discovered a problem where netif lookups were also not protected against races with sel_netif_flush(). The code has now been reworked to fix these problems, eliminate the refcounting and remove atomic operations entirely from the read path (generally making better use of RCU). The avc entry ref has been removed as part of this simplification in anticipation of an RCU scalability patch which removes them in general. Signed-off-by: James Morris Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] SELinux: fix sidtab locking bug This patch by Kaigai Kohei fixes a bug in the SELinux sidtab code, where we do a spin_unlock_irq() while nested under another irq lock, which enables interrupts and allows a deadlock to happen: sidtab_set() is called between POLICY_WRLOCK and POLICY_WRUNLOCK in services.c:1092. sidtab_set() uses SIDTAB_LOCK()/SIDTAB_UNLOCK(), but SIDTAB_UNLOCK() enables any interruptions because it's defined as spin_unlock_irq(). If an interruption occurs between SIDTAB_UNLOCK() and POLICY_WRUNLOCK, and interruption context try to hold the POLICY_RDLOCK, then a deadlock happen in the result. The solution is to save & restore flags on the inner lock, per the patch below. Signed-off-by: James Morris Signed-off-by: Stephen Smalley Signed-off-by: Kaigai Kohei Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: iSeries console: cleanup after tty_write user copies removal This patch just removes more of the infrastructure in the PPC64 iSeries console driver that is no longer needed since we no longer need to do copies from user mode in the tty drivers. Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: cpu hotplug notifier for numa This patch is from Nathan Lynch . The NUMA properties of all "possible" cpus are not necessarily available at boot time on ppc64 LPAR. Only the properties for present cpus are known. This patch modifies the ppc64 numa code to map a cpu to its node right before it is brought up -- this means that secondary cpus are now mapped to their nodes during smp_init(). Cpus are removed from their nodes after they have gone offline. Also some minor cleanups: - Stash the "minimum common depth" in a global at boot time, so we don't have to rediscover it every time something changes. - Remove unnecessary variable from of_get_associativity() which is accessed while possibly uninitialized. - Remove the cpu portion from dump_numa_topology() since it will show only the boot cpu now. We could display this information from smp_cpus_done() if necessary. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: disable broken L2 cache on all 440GX revs Always disable L2 cache on PPC440GX. All revs/speeds of silicon have parity error problems despite errata claims to the contrary. Signed-off-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] PPC/PPC64: Fix FP state corruption on UP Unfortunately the patch Ben sent last week to fix a bug in the saving and restoring of floating-point and altivec context across signal handlers introduced another bug, which tends to corrupt the FP and altivec contexts of other tasks. This patch fixes the problem for both ppc32 and ppc64. Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: rework hugepage code Rework the ppc64 hugepage code. Instead of using specially marked pmd entries in the normal pagetables to represent hugepages, use normal pte_t entries, in a special set of pagetables used for hugepages only. Using pte_t instead of a special hugepte_t makes the code more similar to that for other architecturess, allowing more possibilities for consolidating the hugepage code. Using independent pagetables for the hugepages is also a prerequisite for moving the hugepages into their own region well outside the normal user address space. The restrictions imposed by the powerpc mmu's segment design mean we probably want to do that in the fairly near future. Signed-off-by: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: do_signal() update for generic changes A while back get_signal_to_deliver() changed to take a struct k_sigaction *. This updates do_signal() and handle_signal() to follow the generic API change. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: compile fixes A few random build failures/warnings popped up in 2.6.9, this fixes them. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sh: syscall updates This adds the new syscalls (waitid/add_key/request_key/keyctl). Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] HPET reenabling after suspend-resume hpet hardware seems to need a little prodding during resume for it to start sending the timer interupts again. Attached patch does it for both i386 and x86_64. Makefile change below: Right now suspend-resume ordering of system devices depends on their order of linking. It is ugly. But, thats the way it works currently. And we want timer device to resume before PIC. Signed-off-by: "Venkatesh Pallipadi" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86-64 clustered APIC support Forthcoming IBM boxes will be using Nocona and/or Opteron chips in clustered mode to get beyond 8 CPUs. In fact, there are plans to try for 128 CPUs when the Tulsa chip comes out. Thus, there are a fair number of signed vs. unsigned changes in the patch. Thanks to the HPET timer and some HW changes, I've been able to remove the MPS/ACPI string comparisons from the detection code. Instead, it scans bios_cpu_apicid and uses simple heuristics to select the correct IRQ delivery mode. No need for a config option. Hurrah! Likewise, I've been able to avoid the preprocessor tricks that the i386 sub-arch needed to build with one or more sub-arches. Reluctantly-Acked-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ia64 iomap implementation This preserves the ioreadX() == inX() semantics (same as i386), since it's not clear that the speedup of omitting the mf.a for port operations is worth the risk of breaking drivers. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Kill useless pm_access from vt.c pm_access does nothing these days, and looks ugly. This removes it from vt.c. That actually looks like last user in the tree; it should be possible to kill pm_access completely after 2.6.10. Ouch and add warning to obsolete pm.txt file. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] swsusp: print error message when swapping is disabled This patch gives some clues to the user when swapping is not enabled during swsusp. Please apply. Signed-off-by: Zhu Yi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: use generic IRQ code Convert UML to use the generic IRQ code. Signed-off-by: Chris Wedgwood Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: Build fix for TT w/o SKAS This is required to get UML to build with only TT mode. Signed-of-by: Chris Wedgwood Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: Kconfig.debug update Update Kconfig.debug so we get SYSRQ back and also the spinlock debugging options. Signed-off-by: Chris Wedgwood Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: minor warning removal Include some files to remove missing prototype warnings. Signed-off-by: Chris Wedgwood Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: mconsole_proc rewrite This is an update/resync of kraxel's mconsole_proc rewrite from about two months ago and IMO it should be merged as-is (yes, it means /proc has to be mounted but the current code crashes so this is better IMO). Signed-off-by: Chris Wedgwood Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: resolve symbols in back-traces Resolve symbols in back-traces. Signed-off-by: Chris Wedgwood Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: tty_write fix Make the s/390 console drivers compile without warnings again after the recent tty layer change that moved the copy_from_user out of the drivers. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] scheduler: remove redundant #ifdef Removes a redundant #ifdef CONFIG_SMP that is nested within an enclosing #ifdef CONFIG_SMP. Signed-off-by: Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] vmscan: pages_scanned fix kswapd is still sometimes going into loops. The problem seemed to be happening on systems with zero inactive pages in ZONE_DMA, so pages_scanned could never be increased, all_unreclaimable would never be set, and kswapd would never break. So change pages_scanned to be a count of the number of _active_ list pages scanned rather than inactive. This has been reported to solve the problems. This is not subject to the reverse problem where one might have zero active list pages, because inactive pages are either be reclaimed, or put onto the active list. I think it is reasonable to have all_unreclaimed trigger based on the amount of active list scanning rather than inactive. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] savagefb export fixes Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] radeonfb: screeninfo initialization cleanup This patch changes the initialization of radeonfb_default_var to use named initializers and avoids explicitly setting fields that are automatically zeroed. Signed-off-by: Pekka Enberg Acked-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] radeonfb: If no video memory, exit with error Nothing good will happen if we try to ioremap and use a zero-sized frame buffer. I observed this problem on an ia64 sx1000 box, where the BIOS doesn't run the option ROM. If we try to continue, radeonfb just gets hopelessly confused because the card isn't initialized correctly. Signed-off-by: Bjorn Helgaas Acked-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Fix rivafb crashes on PPC - fixes crashes when changing video modes/switching away from X on ppc - fixes random crashes when scrolling in e.g. vi - improves on the NV30 support - reintroduces noaccel (not perfect but helps a lot for debugging) - converts MODULE_PARM to module_param - cleans up some printks, FB_ACCELF_TEXT cruft Most of this is taken from either XFree86 4.3 or BenH's 2.4 ppc tree. From: Antonino Daplas - adjust pixmap->scan_align to 1 and use cfb_* drawing functions if FBINFO_HWACCEL_DISABLED is set Signed-off-by: Guido Guenter Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Add __iomem annotations for savagefb Add __iomem annotations for savagefb Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Add __iomem annotations to intelfb - Add __iomem annotations to intelfb Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbcon: Fix endian bug in fbcon_putc (console mouse problem) The typecast (const unsigned short *) &c in fbcon_putc is not correct for big-endian machines. This problem manifests as a black cursor that can be used to erase the console screen contents. The correct fix is to use scr_writew instead. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbcon: Remove spurious casts This patch removes unnecessary casts from drivers/video/console/fbcon.c. Assignment from a void pointer does not require a cast and char type is promoted to int automatically. Signed-off-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbcon: Replace logo_shown magic numbers with constants This patch replaces logo_shown magic numbers with constants in drivers/video/console/fbcon.c. Signed-off-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport raise_softirq The patch below unexports raise_softirq(). raise_softirq() is not the right api for drivers to use, instead raise_softirq_irqoff() is, and thankfully all in-kernel code is using that variant already. To avoid future "accidents", unexport. Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] vmalloc_to_page helper After William did the remap_pfn_range change, a very common pattern became: page = page_to_pfn(vmalloc_to_page((void *)pos)); if (remap_pfn_range(vma, start, page, PAGE_SIZE, PAGE_SHARED)) { the patch below adds a very simple helper, vmalloc_to_pfn() to simplify this a bit. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove unused code: dump_extended_fpu dump_extended_fpu() is used nowhere in the kernel; save a few bytes... Signed-off-by: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] make filemap_fdatawrite_range() static The patch below marks filemap_fdatawrite_range static, it's not used outside mm/filemap.c. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: bttv IR input update This is a update for the IR input modules for the bttv driver. It adds IR support to more TV cards and has some some minor cleanups. It also removes all trailing whitespaces. I've a script to remove them from my sources now, that should kill those no-op whitespace changes in my patches after merging this initial cleanup. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: bttv whitespace cleanup The patch just removes all trailing whitespaces, there are no actual code changes. I've a script to remove them from my sources now, that should kill those no-op whitespace changes in my patches after merging this initial cleanup. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: i2c whitespace cleanup The patch just removes all trailing whitespaces, there are no actual code changes. I've a script to remove them from my sources now, that should kill those no-op whitespace changes in my patches after merging this initial cleanup. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: IR whitespace cleanup The patch just removes all trailing whitespaces, there are no actual code changes. I've a script to remove them from my sources now, that should kill those no-op whitespace changes in my patches after merging this initial cleanup. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: msp3400 update This is a update for the msp3400 module. Changes: * switch over to 2.6-ish insmod options. * use kthread for thread management. * add support for v4l2 audio ioctls. * merge a number of changes from the ivtv project. * add suspend/resume functions. The patch also removes all trailing whitespaces. I've a script to remove them from my sources now, that should kill those no-op whitespace changes in my patches after merging this initial cleanup. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: tuner update This is an update for the v4l tuner modules (tuner.o + tda9887.o). Changes: * fix two tuner config entries. * switch insmod options to new 2.6-ish style. * add suspend/resume functions. The patch also removes all trailing whitespaces. I've a script to remove them from my sources now, that should kill those no-op whitespace changes in my patches after merging this initial cleanup. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: videobuf whitespace cleanup The patch just removes all trailing whitespaces, there are no actual code changes. I've a script to remove them from my sources now, that should kill those no-op whitespace changes in my patches after merging this initial cleanup. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: videodev whitespace cleanup The patch just removes all trailing whitespaces, there are no actual code changes. I've a script to remove them from my sources now, that should kill those no-op whitespace changes in my patches after merging this initial cleanup. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: config cleanups Cleanup the video4linux driver configuration by using "select" instead of "default if ...". Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] RCU: rcu_assign_pointer() removal of memory barriers This patch adds the rcu_assign_pointer() API that helps reduce the need for explicit memory barriers in code that uses RCU. This API buries the required memory barriers in a macro that also does the assignment. This has been tested successfully on i386 and ppc64. Signed-off-by: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] RCU: use rcu_assign_pointer() This patch uses the rcu_assign_pointer() API to eliminate a number of explicit memory barriers from code using RCU. This has been tested successfully on i386 and ppc64. Signed-off-by: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] RCU: eliminating explicit memory barriers from SysV IPC This patch uses the rcu_assign_pointer() API to eliminate a number of explicit memory barriers from the SysV IPC code that uses RCU. It also restructures the ipc_ids structure so that the array size is stored in the same memory block as the array itself (see the new struct ipc_id_ary). This prevents the race that the earlier code was subject to, where a reader could see a mismatch between the size and the actual array. With the size stored with the array, the possibility of mismatch is eliminated -- with out the need for careful ordering and explicit memory barriers. This has been tested successfully on i386 and ppc64. Signed-off-by: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove dead exports in sounds/oss Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport getnstimeofday This recently added function is only used by the posix timers code, no need to be exported. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport kick_process This isn't exactly the kind of interface modules should use. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove page_follow_link All filesystems have been switched to page_follow_link_light Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport sys_lseek Fortunately dvb stopped using it in their firmware loader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove ext2 xatts exports I think Andreas exported them to allow modular xattr handlers, but with James rework these aren't possible anymore, and we never had them anyway. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] parport: kill dead code and exports There's lots of exports in parport that aren't used by any drivers. Behind many of them there's actually dead code. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport vc_cons_allocated Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mark pi_unclaim static Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport set_selection and paste_selection Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport firmware_class it's marked static already, and there's no point in exporting it Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ramdisk.txt update General cleanup and updating of ramdisk.txt. Signed-off by: Jim Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Unexport some RxRPC symbols Remove some of the exports on RxRPC symbols that aren't currently used (and most probably won't be) by external modules. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] kill excessive cdrom prints Don't know where this came from, but dumping this on every open gets boring really quickly. Signed-off-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport add_timer_on() add_timer_on() isn't used by modules (in fact it's only used ONCE, in workqueue.c) and it's not even a good api for drivers, in fact, the comment for it says * This is not very scalable on SMP. Double adds are not possible. Signed-off-by: Arjan van de Ven Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Fix incorrect Mt Rainier detection cdrom_is_mrw() can incorrectly think that a drive is Mt Rainier capable, because if forgets to check if the "GET CONFIGURATION" command returns the MRW feature number. According to the MMC spec, the drive shall return all feature numbers >= the starting feature number, so even if the drive doesn't support Mt Rainier, it can return some data that makes cdrom_is_mrw() incorrectly think the drive is MRW capable. This problem stops me from mounting DVD+RW discs in R/W mode on my laptop, because it makes cdrom_open_write() call cdrom_mrw_open_write() which fails because the drive isn't really MRW capable. The fix is to make sure the returned feature number is the correct one for Mt Rainier. Signed-off-by: Peter Osterlund Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] add a bunch of missing files to Documentation/00-INDEX Add a bunch of entries to Documentation/00-INDEX that are currently missing (and removes the entry for one file that no longer exist). Patch has already been OK'ed by Paul G. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] make buffer head argument of buffer_##name "const" Allow the buffer_foo() predicates to take a (const struct buffer_head *). I've checked that the argument of test_bit is indeed "const" on all architectures. Signed-off-by: Werner Almesberger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ftape has no maintainer After tracking down the original author of the ftape sources, I found out that he no longer had interest in maintaining it. Signed-off-by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ftape documentation fixes Description: Cleanup and update to Documentation/ftape.txt Signed-off by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] signal.c: gcc-3.4 fix Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer unifying (Core) To make spinlock/rwlock initialization consistent all over the kernel, this patch converts explicit lock-initializers into spin_lock_init() and rwlock_init() calls. Currently, spinlocks and rwlocks are initialized in two different ways: lock = SPIN_LOCK_UNLOCKED spin_lock_init(&lock) rwlock = RW_LOCK_UNLOCKED rwlock_init(&rwlock) this patch converts all explicit lock initializations to spin_lock_init() or rwlock_init(). (Besides consistency this also helps automatic lock validators and debugging code.) The conversion was done with a script, it was verified manually and it was reviewed, compiled and tested as far as possible on x86, ARM, PPC. There is no runtime overhead or actual code change resulting out of this patch, because spin_lock_init() and rwlock_init() are macros and are thus equivalent to the explicit initialization method. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer unifying (Network drivers) To make spinlock/rwlock initialization consistent all over the kernel, this patch converts explicit lock-initializers into spin_lock_init() and rwlock_init() calls. Currently, spinlocks and rwlocks are initialized in two different ways: lock = SPIN_LOCK_UNLOCKED spin_lock_init(&lock) rwlock = RW_LOCK_UNLOCKED rwlock_init(&rwlock) this patch converts all explicit lock initializations to spin_lock_init() or rwlock_init(). (Besides consistency this also helps automatic lock validators and debugging code.) The conversion was done with a script, it was verified manually and it was reviewed, compiled and tested as far as possible on x86, ARM, PPC. There is no runtime overhead or actual code change resulting out of this patch, because spin_lock_init() and rwlock_init() are macros and are thus equivalent to the explicit initialization method. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix show_refcnt return value type module_attribute.show is defined to return ssize_t Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove invoke_softirq This was used by the early irqstacks implementation on s390 and has been replaced by __ARCH_HAS_DO_SOFTIRQ now. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove mousedrivers.sgml It's been totally obsoleted by the input layer Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix via-pmu.c compilation without CONFIG_PMAC_PBOOK This patch fixes via-pmu.c compilation when CONFIG_PMAC_PBOOK is not set. Looks like the #endif was one line too late. Signed-off-by: Colin Leroy Acked-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove itimer_ticks and itimer_next These two variables are long, long dead. This patch removes them. Signed-off-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] cfq v2 switch bug Fix online switching issue with cfq v2. It does deferred clearing of e->elevator_data, which screws up the current io scheduler. It does not have to, so just remove it. Signed-off-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] handle posix message queues with /proc/sys disabled register_sysctl_table() fails if sysctl support is not compiled into the kernel. The POSIX message queue subsystem aborted it's initialization if register_sysctl_table() fails, and that causes an oops in sys_mq_open(). The patch fixes that by ignoring failures from register_sysctl_table(). Signed-off-by; Manfred Spraul Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] issues with online scheduler switching There are two issues with online io scheduler switching that this patch addresses. The first is pretty simple - it concerns racing with scheduler removal on switch. elevator_find() does not grab a reference to the io scheduler, so before elevator_attach() is run it could go away. Add elevator_get() to solve that. Second issue is the flushing out of requests that is needed before switching can be problematic with requests that aren't allocated in the block layer (such as requests on the stack of a process). The problem is that we don't know when they will have finished, and most io schedulers need to access the elevator structures on io completion. This can be fixed by adding an intermedia step that switches to noop, since it doesn't need to touch anything but the request_queue. The queue drain can then safely be split into two operations - one that waits for file system requests, and one that waits for the queue to completely empty. Requests arriving after the first drain will get stuck in a seperate queue list. Signed-off-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] bttv subdev fix - Make bttv check the device_register return value. - Yet another unchecked return value fixed. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove double newline from sysrq action_msg __handle_sysrq already prints a newline, so the action_msg string doesnt need yet another newline. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Remove build warning from drivers/char/random.c on 32-bit platforms Remove build warning from drivers/char/random.c on 32-bit platforms. Signed-off-by: Chris Wedgwood Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] error out on execve with no binfmts Early calls to userspace can invoke an execve() before any binfmt handlers are registered. Properly return an error in this case rather than 0. On at least one arch (x86_64) without this patch, the system will double fault on early attempts to call_usermodehelper. Signed-off-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sonypi: module related fixes * use module_param() instead of MODULE_PARM() and __setup() * use MODULE_VERSION() Signed-off-by: Stelian Pop Signed-off-by: Linus Torvalds [PATCH] sonypi: replace homebrew queue with kfifo Signed-off-by: Stelian Pop Signed-off-by: Linus Torvalds [PATCH] sonypi: power management related fixes * switch from a sysdev to a platform device * drop old style PM code * use pci_get_device()/pci_dev_put() instead of pci_find_device() Patch originaly from Dmitry Torokhov . Signed-off-by: Stelian Pop Signed-off-by: Linus Torvalds [PATCH] sonypi: rework input support * feed most of special keys through the input subsystem * initialize two separate input devices: a mouse like one for the jogdial and a keyboard like one for the special keys * add support for SONYPI_EVENT_FNKEY_RELEASED Many people participated in a way or another to this patch, including Daniel K. , Bastien Nocera , Dmitry Torokhov and Vojtech Pavlik . Signed-off-by: Stelian Pop Signed-off-by: Linus Torvalds [PATCH] sonypi: make CONFIG_SONYPI depend on CONFIG_INPUT Signed-off-by: Stelian Pop Signed-off-by: Linus Torvalds [PATCH] sonypi: don't suppose the bluetooth subsystem is initialy off Leave the choice to the user. Signed-off-by: Stelian Pop Signed-off-by: Linus Torvalds [PATCH] sonypi: whitespace and coding style fixes Signed-off-by: Stelian Pop Signed-off-by: Linus Torvalds [PATCH] sonypi: bump up the version number Signed-off-by: Stelian Pop Signed-off-by: Linus Torvalds [PATCH] skip sync_arb_IDs on P4/Xeon The "Synchronize Arbitration IDs with APIC IDs" IPI does not make sense on Pentium 4 and Xeon because they don't have an APIC bus where arbitration IDs would be needed. The Intel Developers manual (Vol. 3, Ch. 8.6.1) says this IPI is unsupported on P4/Xeon. Using it may, according to Intel, lead to unpredictable results. Signed-off-by: Martin Wilck Signed-off-by: Linus Torvalds [PATCH] ppc64 iSeries pci cleanups This merges two files (iSeries_IoMmTable.[ch]) into iSeries_pci.c. This allowed quite a few more things to become declared static. It then does some fairly mechanical cleanups in iSeries_pci.c (replacing studly caps, removing the last of the PCIFR() macros and removing a couple of empty or unused routines). There are no semantic changes. Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds [SKBUFF] remove skb->mac.raw setting after hdlc_type_trans Arnaldo Carvalho de Melo : [dscc4.c sets skb->mac.raw after hdlc_type_trans] >> Francois, is this really what is intended? I left it as In the pre-eth_type_trans area, yes :o/ I did not test dscc4 in a bridged setup. Please fix the driver in your patch. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Francois Romieu Signed-off-by: David S. Miller [SKBUFF] introduce x25_type_trans Signed-off-by: Arnaldo Carvalho de Melo Signet-off-by: David S. Miller [IPVS]: Update version to 1.2.1 Signed-off-by: David S. Miller [PATCH] rmmod ohci1394 hangs this sequence of commands will hang the final rmmod. init=/bin/bash --login mount proc modprove -v ohci1394 rmmod ohci1394 modprobe -v ohci1394 rmmod ohci1394 -> hangs knodemgrd_0 exits on the first rmmod, but leaves nodemgr_serialize in down state. This fixes it for me. Signed-off-by: Olaf Hering Acked-by: Ben Collins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] acpi: better encapsulate eisa_set_level_irq() From: Bjorn Helgaas Move the "only do this once" stuff from acpi_register_gsi() into eisa_set_level(). Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: propagate pci_enable_device() errors From: Bjorn Helgaas Jeff Garzik pointed out that I should have propagated the error returned from pci_enable_device() rather than making up -ENODEV. Propagate pci_enable_device() error returns rather than using -ENODEV. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: remove unconditional PCI ACPI IRQ routing From: Bjorn Helgaas Now that PCI interrupts are routed in pci_enable_device(), remove the unconditional routing previously done in pci_acpi_init(). This has the potential to break drivers that don't use pci_enable_device() correctly, so I also added a "pci=routeirq" kernel option that restores the previous behavior. I intend to remove that option, along with all the code below, in a month or so. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: add hook for PCI resource deallocation From: Kenji Kaneshige This patch adds a hook 'pcibios_disable_device()' into pci_disable_device() to call architecture specific PCI resource deallocation code. It's a opposite part of pcibios_enable_device(). We need this hook to deallocate architecture specific PCI resource such as IRQ resource, etc.. This patch is just for adding the hook, so 'pcibios_disable_device()' is defined as a null function on all architecture so far. I tested this patch on i386, x86_64 and ia64. But it has not been tested on other architectures because I don't have these machines. Signed-off-by: Kenji Kaneshige Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: Changed pci_find_device to pci_get_device From: Hanna Linder Another simple patch to complete the /i386 conversion to pci_get_device. I was able to compile and boot this patch to verify it didn't break anything (on my T22). Signed-off-by: Hanna Linder Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] Fix ppc32 compile D'oh. Something got cut-off there on Randy's end. Obviously correct fix follows. Signed-off-by: Tom Rini Signed-off-by: Linus Torvalds [PATCH] Fix x86-64 genapic build The x86-64 genapic patch that was recently merged missed some definitions and doesn't compile at all. This fixes it by adding the missing defines for genapic Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds [VLAN]: Revert vlan_dev_hard_start_xmit part of Ben Greear's changes They are questionable at best. Based upon commentary by Tommy Christensen. Signed-off-by: David S. Miller [TG3]: Use mmiowb in tg3.c From: Jesse Barnes This patch originally from Greg Banks. Some parts of the tg3 driver depend on PIO writes arriving in order. This patch ensures that in two key places using the new mmiowb macro. This not only prevents bugs (the queues can be corrupted), but is much faster than ensuring ordering using PIO reads (which involve a few round trips to the target bus on some platforms). Arthur has another patch that uses mmiowb in tg3 that he posted earlier as well. Signed-off-by: Greg Banks Signed-off-by: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: David S. Miller [TG3]: Use mmiowb in tg3_poll From: Returning from tg3_poll() without flushing the PIO write which reenables interrupts can result in lower cpu utilization and higher throughput. So use a memory barrier, mmiowb(), instead of flushing the write with a PIO read. Signed-off-by: Arthur Kepner Signed-off-by: Andrew Morton Signed-off-by: David S. Miller [TG3]: Bump driver version and reldate Signed-off-by: David S. Miller [X25]: Stop x25_destroy_socket timer looping From: Andrew Hendry The sk_timer.data for the x.25 destroy_socket timer went missing at some stage, causing a timer loop where x25_destroy_socket would keep setting up timers to call itself. This patch puts the sk_timer.data back. Signed-off-by: Andrew Hendry Signed-off-by: Andrew Morton Signed-off-by: David S. Miller [ETHERTAP]: Add missing newline to debug printk From: Andrew Hendry Very trivial, ethertap debug missing a newline. Signed-off-by: Andrew Hendry Signed-off-by: Andrew Morton Signed-off-by: David S. Miller [X25]: Stop /proc/net/x25/route infinitely reading From: Andrew Hendry route add --x25 0/0 eth0 cat /proc/net/x25/route reads the single routing entry forever. This patch makes x25_get_route_idx behave the same as x25_get_socket_idx which works correctly. Signed-off-by: Andrew Hendry Signed-off-by: Andrew Morton Signed-off-by: David S. Miller [X25]: Dont log unknown frame type when receiving clear confirm From: Andrew Hendry There is no need to log unknown [NETFILTER]: Avoid warning on CONNTRACK_STAT_INC in destroy_conntrack() From: Rusty Russell ip_conntrack_put can be called in any context in theory: in particular, MASQUERADE will can call it (via ip_ct_selective_cleanup) when an interface comes up with a different address. Move the CONNTRACK_STAT_INC inside the lock: it needs preemption disabled. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: David S. Miller [PNP] handler more than 16 IRQs Signed-off-by: David Shaohua Li Signed-off-by: Len Brown NTFS: Remove unused function fs/ntfs/runlist.c::ntfs_rl_merge(). (Adrian Bunk) Signed-off-by: Adrian Bunk Signed-off-by: Anton Altaparmakov [ide] PIO bugfix We need to k[un]map_atomic() the current page not the first page of the scatterlist segment. Fixes OOPS when using HIGHMEM. Big thanks to Randy Dunlap for a lot of debugging/testing. Signed-off-by: Bartlomiej Zolnierkiewicz [ide] remove hwif from /proc/ide/ as part of ide_unregister_hwif() Original patch from Mark Lord . Signed-off-by: Bartlomiej Zolnierkiewicz [ide] hpt34x: kill hpt34x.h Signed-off-by: Bartlomiej Zolnierkiewicz [ide] pmac: kill CONFIG_BLK_DEV_IDEDMA_PMAC_AUTO DMA is always used by default (->autodma is never checked). Signed-off-by: Bartlomiej Zolnierkiewicz [ide] setup-pci: small ide_get_or_set_dma_base() cleanup * hwif->dma_base is set in ->init_iops() for MMIO * if !dma_base then dma_base is really equal to zero * remove dead code from simplex check Signed-off-by: Bartlomiej Zolnierkiewicz [ide] setup-pci: simplify autodma logic Do not set hwif->autodma in ide_pci_setup_ports(). All DMA capable PCI host drivers override it. Signed-off-by: Bartlomiej Zolnierkiewicz [ARM] Use cpu_vm_mask to indicate whether the MM is mapped. [ide] kill IDEPCI_FLAG_FORCE_MASTER cs5530 overrides hwif->autodma anyway. Signed-off-by: Bartlomiej Zolnierkiewicz [ARM] Use cpu_vm_mask to determine whether to flush TLB/caches. Since bit 0 is only set when the MM is mapped onto the CPU, we can use this rather than comparing the MM pointer with current->active_mm. This simplifies the inline cache flushing and tlb code. [ide] make destroy_proc_ide_interfaces static destroy_proc_ide_interfaces is only used inside ide-proc.c; so lets make it static. Signed-off-by: Arjan van de Ven Signed-off-by: Bartlomiej Zolnierkiewicz [ide] ide-disk: enable stroke by default From: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz [ARM] Add disable_irq_nosync() and CPU number headings [ARM] Remove extraneous spaces. [ARM] include/asm-arm/arch-integrator/time.h is unused, remove it. [ARM] Fix wrong variable name in icside.c [PATCH] direct IO write memory leak fix It seems that O_DIRECT write sometimes leaks memory. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Add typechecking to suspend types and powerdown types This adds typechecking to suspend types and powerdown types. This should solve at least part of suspend type confusion. There should be no code changes generated by this one. Acked-by: Patrick Mochel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] key_init ordering fix The data structures which are set up by key_init() are used by exec(). And we're using exec() super-early via the hotplug events from do_basic_setup():driver_init(). So call key_init() directly, prior to driver_init(). Cc: David S. Miller Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] swapper_space warning suppression Suppress page allocation warnings arising from radix_tree_node_alloc() allocations on behalf of swapper_space: these are expected under heavy load. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: fix ppc4xx_progress warnings The patch fixes these warnings by doing two things: 1) Add the argument to the printk. 2) Rearrange the ifdef to eliminate the unused variable and function warnings. Signed-off-by: Scott Anderson Signed-off-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Fix boot on PowerMac Tom's recent irq patch broke PowerMac (and possibly others). I think he forgot that PReP, CHRP and PowerMac are all built together in a single kernel image, thus all of those arch_initcall's will end up beeing called, even on the wrong machine... Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64 iSeries: fix for generic irq changes The generic irq patches broke pci irqs on ppc64 iSeries. Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: setup cpu_sibling_map on iSeries Nathan Lynch pointed this out: The CPU sibling map is never initialized on iSeries. This makes the scheduler very unhappy if CONFIG_SCHED_SMT is enabled, causing an oops in find_busiest_group during boot. Below patch adds the expected init. Signed-off-by: Olof Johansson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: Enable maple IDE fixup Now that pci_get_legacy_ide_irq() support has been merged, it's time to enable use of it by the Maple platform code. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Fix safe_smp_processor_id after genapic genapic broke early safe_smp_processor_id(), especially when you got a WARN_ON or oops early it would loops forever in show_trace. The reason was that the x86_cpu_to_apicid array wasn't correctly initialized. This patch fixes this by just testing for this case. Orginally from James Cleverdon Acked-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Fix warning in genapic Straightforward patch to remove a warning in genapic about a unused function. Independently done by Chris Wright too. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] m32r: fix a typo of delay.c This patch fixes a typo of arch/m32r/lib/delay.c. It is required to fix a compile error for non-CONFIG_ISA_DUAL_ISSUE configuration. NOTE: The m32r has a kind of ISA (instruction set architecture) like a 2-way VLIW. Originally the m32r has two types of 16-bit/32-bit instructions. Only 16-bit instruction pair can be executed in parallel on a m32r chip with dual issuing support (e.g. M32700). According to the insturction dual issuing of the m32r, a programmer/compiler can explicitly put two 16-bit instructions into an instruction word, which are to be executed in parallel. ex. Assembly coding style of two 16-bit instruncions; insn A and B: 1) insn A insn B ; sequential execution (implicit) 2) insn A -> insn B ; sequential execution (explicit) 3) insn A || insn B ; parallel execution Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: fix mainline lazyness about TTY layer patch While changing the TTY layer, an API parameter was removed, so it was removed by almost all calls, changing their prototype. But one use of one such function was not updated, breaking UML compilation. This is the fix. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3 block reservation patch set -- ext3 preallocation cleanup Cleans up the old ext3 preallocation code carried from ext2 but turned off. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3 block reservations rbtree implementation and other changes From: Stephen Tweedie contributions From: Badari Pulavarty and probably me. This is the ext3 block reservation patch. It improves the layout of ext3 files by establishing, for each inode, reserved areas of the disk in which only that file can allocate blocks. Those reserved areas are managed in an rbtree, via the in-core inode. It's a bit like ext2 preallocation only stronger in that it can span already-allocated blocks, including the per-blockgroup inode tables and bitmaps. The patch fixes ext3's worst performance problem: disastrous layout when multiple files are being concurrently grown. It increases the size of the inode by rather a lot. A todo item is to dynamically allocate the `struct reserve_window_node', so we don't need to carry this storage for inodes which aren't opened for writing. The feature is enabled by mounting with the "reservation" mount option. Reservations default to "off". Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3 reservation: default to on Enable the reservation code by default. So reservations default to "on". They can be disabled by mounting with the "noreservation" mount option. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3: online resizing The patch below adds online resize capability to ext3 based on Andreas patch for 2.4 and fixed up by Stephen. The patch also removes s_debts: s_debts is currently not used by ext3 (it is created, destroyed and checked but never set). Remove it for now. Resurrecting this will require adding it back in changed form. In existing form it's already unsafe wrt. byte-tearing as it performs unlocked byte increment/decrement on words which may be being accessed simultaneously on other CPUs. It is also the only in-memory dynamic table which needs to be extended by online-resize, so locking it will require care. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Convert MODULE_PARM to module_param in i810fb Convert MODULE_PARM to module_param in i810fb Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Remove module parameter 'disabled' from savagefb Remove module parameter 'disabled' from savagefb Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Convert MODULE_PARM to module_param in intelfb fbdev: Convert MODULE_PARM to module_param in intelfb Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Convert MODULE_PARM to module_param in neofb Convert MODULE_PARM to module_param in neofb Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Fix io access in neofb - Fix IO access in neofb - Use readl/writel - add __iomem annotations Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Add __iomem annotations to sstfb Add __iomem annotations to sstfb Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Add __iomem annotations to tdfxfb Add __iomem annotations to tdfxfb Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Do not memset the framebuffer memory in asiliantfb Do not memset the framebuffer memory in asiliantfb Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Add __iomem annotations to cyber2000fb Add __iomem annotations to cyber2000fb Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Add __iomem annotations to pm2fb Add __iomem annotations to pm2fb Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Add __iomem annotations to hgafb Add __iomem annotations to hgafb Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Add __iomem annotations to cirrusfb Add __iomem annotations to cirrusfb Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Add __iomem annotations to vfb Add __iomem annotations to vfb Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Check if cursor image has changed in intelfb Check if cursor image has changed in intelfb Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Maintainership Accepted Geert's offer to maintain the framebuffer layer. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ik8.c: export power_status parameter through sysfs I8K: Switch to using module_param, allow switching 'power_status' through sysfs. Signed-off-by: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Unwind information fix for the vsyscall DSO When working on GDB support I found a typo. I assume the comment is correct. If you step to this particular instruction and backtrace, GDB gets lost. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] make dnotify a configure-time option make dnotify configurable, via CONFIG_DNOTIFY. CONFIG_EMBEDDED is required for disabling dnotify. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] convert pipefs to fs_initcall() Normal initcalls which call out to userspace may need to create pipes. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Fix deprecated MODULE_PARM for CAPI subsystem The MODULE_PARM is deprecated now and should be replaced by module_param() or module_param_named(). Signed-off-by: Marcel Holtmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Documentation/cpqarray.txt update General cleanup of Documentation/cpqarray.txt. Removal of old and obsolete references, removed references to an external patch. Signed-off-by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Documentation/mkdev.ida removal This file is no longer reqired - the MAKEDEV program makes the ida/ nodes automatically. Signed-off-by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Make x86 semaphore routines use register calling convention. This avoids a bug where the compiler would overwrite the stackframe that the caller also considered to be a register save area. It also shrinks the code segment by a tiny amount by moving the failure case argument setup into the slow path. This not only makes the fast path smaller, but it makes it easier on gcc (gcc is not very good at generating code that uses fixed register names). [PATCH] uninline __sigqueue_alloc Christoph suggests letting the compiler choose. No real compelling reason to inline anyhow. I had some vmlinux size numbers suggesting inline was better, but re-running them on newer kernel is giving different results, favoring uninline. Best let compiler choose. Un-inline __sigqueue_alloc. Signed-off-by: Chris Wright Signed-off-by: Linus Torvalds [CPUFREQ] Fix x86-64 compile. Signed-off-by: Dave Jones [CPUFREQ] Remove config.h includes from ondemand driver. Adrian Bunk noticed the duplicate, but we don't actually need this include at all. Signed-off-by: Dave Jones USB: fix up serial object reference count bug on error path. Thanks to Chris Rankin for pointing this out. Signed-off-by: Greg Kroah-Hartman [ARM] etherh: add ethtool support. [ARM] etherh: report errors when trying to parse MAC address. [PATCH] 8390.c: Use mdelay(10) rather than udelay(10*1000) ARM udelay can't cope with >2ms delays. Signed-off-by: Russell King Signed-off-by: Jeff Garzik [PATCH] fix smc91x compilation error It looks like this bit got mismerged (pci.h removed but DMA arguments convertion missing). Signed-off-by: Nicolas Pitre Signed-off-by: Jeff Garzik [PATCH] e100: update maintainer My intel.com address will bounce. Signed-off-by: Scott Feldman Signed-off-by: Jeff Garzik [PATCH] amd8111e: Fix identation of amd8111e_rx_poll() This patch does an indentation fix to amd8111e_rx_poll() which was incorrectly shifting left in the middle of a while() loop, thus rendering the function difficult to read. There is no actual code change. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik [PATCH] amd8111e: Add support for ppc64 eval board This patch adds a few memory barriers, cleans up a little bit the use of the "status" field in the rx & tx routines, and adds probing for the external PHY to the driver. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Jeff Garzik [ARM] etherh: add __iomem annotations. [PATCH] scsi/ahci: replace schedule_timeout() with msleep()/ssleep() Description: Uses msleep() / ssleep() [as appropriate] instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Jeff Garzik [PATCH] via-rhine: references __init code during resume Fix __init section usage: rhine_resume calls enable_mmio, so latter cannot be __devinit; Error: ./drivers/net/via-rhine.o .text refers to 0000000000000925 R_X86_64_PC32 .init.text+0xfffffffffffffffc Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik [ARM] Add initial __iomem annotations to ARM io.h headers. [ARM] s3c2410: DMA uses __iomem pointers. [ARM] Add __iomem annotations to ARM amba drivers. [Bluetooth] Fix deprecated MODULE_PARM for PCCARD drivers The MODULE_PARM is deprecated now and for the Bluetooth PCCARD drivers it should be replaced by module_param() and module_param_array(). Signed-off-by: Marcel Holtmann [Bluetooth] Send HCI_Reset for new Microsoft dongle The new Microsoft Wireless Transceiver for Bluetooth 2.0 is based on a Broadcom chip with the HID proxy support. To initialize these kind of devices correctly it is necessary to send HCI_Reset as the first command. Signed-off-by: Marcel Holtmann [Bluetooth] Add security callback to the core To give higher layers like RFCOMM the possibility to use the Bluetooth security mechanisms, they need a way to get feedback from the HCI core layer when they succeeded or failed. This patch introduces a callback structure that can be used for this kind of notification. Signed-off-by: Marcel Holtmann [libata sata_promise] s/sata/ata/ 100% cosmetic: rename various symbols with 'sata' in them to 'ata', in preparation for addition of support for a PATA controller. Signed-off-by: Tobias Lorenz Signed-off-by: Jeff Garzik [SERIAL] Clean up serial_core.c write functions. Since the tty layer now takes care of user space writes, __uart_user_write() and associated temporary buffer and temporary buffer semaphore have all become unnecessary. There's also little point in having __uart_kern_write() separate from uart_write(), so combine the two together. Adrian Bunk kindly provided the patch to remove __uart_user_write(). The rest of the work is rmk's. Signed-off-by: Adrian Bunk Signed-off-by: Russell King [SERIAL] 8250: Fix resource handling. serial8250_request_std_resource() is now responsible for claiming the standard resources, _and_ calling ioremap if necessary. serial8250_release_std_resource() performs the complementary function in its entirety. serial8250_*_rsa_resource() perform the similar operations for RSA ports, with the exception that RSA ports can only be mapped into IO space. [SERIAL] 8250: move basic initialisation of 8250 ports. This moves the basic initialisation of 8250 ports from serial8250_register_ports() into serial8250_isa_init_ports() [SERIAL] Re-order 8250 serial driver initialisation/finalisation. Only register the 8250 serial driver with the device model after registering and setting up our internal uart ports. Do the reverse on module finalisation. [SERIAL] 8250: Add platform device for ISA 8250-compatible devices. Add a platform device for ISA 8250-compatible serial devices listed in the table in include/asm-*/serial.h. Arrange for unregistered serial devices to be owned by this device. This enables power management for ISA 8250 devices, and starts to opens the way for architectures to dynamically provide their own lists of 8250 devices via platform device(s). [SERIAL] 8250: add probe and remove device driver methods. This change allows platform devices named "serial8250" to provide lists of serial ports to the 8250 driver at runtime, in addition to the hard coded table in include/asm-*/serial.h. The next step is to deprecate the tables in serial.h. [SERIAL] 8250: prevent ports with zero clocks being registered. [PATCH] stifb bugfixes - Fix "sti= parameter ignored by stifb" bug (Stuart Brady) - Fix the STI crash with HCRX-24 in 32bpp mode (Helge Deller) [PATCH] kernel-parameters update for PA-RISC - Add the PARISC tag (Thibaut Varene) - Mark some existing PA-RISC specific entries with it (Thibaut Varene) - Document pdcchassis (Thibaut Varene) [SERIAL] Undo "get_legacy_serial_ports" patch for PPC. This patch conflicts with work to properly integrate the device model into the serial layer, and provide architectures with a *clean* way to tell 8250.c about their serial ports at run time. ppc64: install outside of source tree Rationale: When building outside source tree, install.sh is looked for in the obj side. Status: tested on ppc64 builds Signed-off-by: Doug Maxey Signed-off-by: Sam Ravnborg kconfig: Fix menuconfig on Solaris The following two bits are needed to get it working (not as colorful as on Linux, but it functions) for me. First, unless CURS_MACROS is defined, scroll(x) doesn't get expanded to wscrl(x, 1). I did some quick grepping on Cygwin and Linux (debian/unstable) and didn't see CURS_MACROS show up anywhere else, but to be safe I put it inside of __sun__. Next this uses libcurses instead of libncurses otherwise we get a bunch of undefined refs to w32attrset, w32addch, acs32map and few more. Signed-off-by: Tom Rini Signed-off-by: Sam Ravnborg kbuild: Documentation/kbuild/makefiles.txt: check_gcc -> cc-option It's not good to show the obsolete check_gcc in an example. Signed-off-by: Adrian Bunk Signed-off-by: Sam Ravnborg amd8111e network driver: fix silly typo That's "cpu", not "cpy". kbuild: Include useful absolute symbols in kallsyms Some absolute symbols are useful, they can even appear in back traces. Tweak kallsyms to retain the useful absolute symbols. This list is from ia64, add absolute symbols from other architectures as required. Signed-off-by: Keith Owens Signed-off-by: Sam Ravnborg m32r: misc kbuild cleanups o Remove unused LDFLAGS_BLOB assignement (from Brian Gerst) o Use implicit rule for vmlinux.lds (from Al viro) Signed-off-by: Sam Ravnborg kbuild: additional warning fixes on Solaris 9 A coworker of mine give them a look-over and spotted a few places where I missed changing some casts. Signed-off-by: Tom Rini Signed-off-by: Sam Ravnborg kbuild: allow architectures to specify defconfig file with KBUILD_DEFCONFIG For some architectures is does not make sense to maintain a single default configuration - arm is a good example here. KBUILD_DEFCONFIG is introduced allowing relevant architectures to point out a configuration kept in arch/$(ARCH)/configs as the configuration to be used when executing 'make defconfig'. This patch selects versatile_defconfig as the default configuration for arm. The reason to keep defconfig is that is has proved valuable in many testing scenarios when one are doing a cross architecture build of the kernel to do a simple compile-time check of some changes. Signed-off-by: Sam Ravnborg [libata ahci] fix rather serious (and/or embarassing) bugs - Add definition for SActive register - Add most interrupt sources to default interrupt mask - Write low 32 bits of FIS address to PxFB, where they belong - Set command active bit in PxSACT before setting command issue bit in PxCI - Announce Sub Class Code in driver info message [IDE, SATA or RAID] and additionally, from me [jgarzik]: - ignore ports-implemented bitmap for now; it's a write-only register that silly BIOSen initialize incorreclty Signed-off-by: Matthijs Melchior Signed-off-by: Jeff Garzik [libata ahci] bump version to 1.00 Do not recompile if localversion changes Changing localversion causes a few files to be recompiled, namely those who include . Replace with in a few places. Long term solution is to split up in two files. Signed-off-by: Sam Ravnborg Patch to arch/sparc/Kconfig [1 of 5] Fixes x86-specific help in SPARC32 SMP support help. From: Jim Nelson Acked-by: William Lee Irwin III Signed-off-by: Sam Ravnborg More patches to arch/sparc/Kconfig [3 of 5] Fixes x86-specific bootloader help in serial console. From: Jim Nelson Acked-by: William Lee Irwin III Signed-off-by: Sam Ravnborg More patches to arch/sparc/Kconfig [5 of 5] Fixes x86-specific bootloader help in printer config. From: Jim Nelson Acked-by: William Lee Irwin III Signed-off-by: Sam Ravnborg More patches to arch/sparc/Kconfig [4 of 5] Makes sun4 default to "N" - most SPARC32 systems did not use these. From: Jim Nelson Acked-by: William Lee Irwin III Signed-off-by: Sam Ravnborg Re: More patches to arch/sparc/Kconfig [2 of 5] Fixes typo in help in openpromfs. From: Jim Nelson Acked-by: William Lee Irwin III Signed-off-by: Sam Ravnborg Make "atomic_dec_and_lock()" a macro. We rename the actual architecture-specific low-level implementation to have a prepended underscore: "_atomic_dec_and_lock()". This extra macro indirection is so that we can make the macro do the lock context counting. That will be the next patch. Add sparse checker rules for conditional lock functions: trylock and atomic_dec_and_lock. This means that we now have all of the spinlock context counting infrastructure in place, and you can check-compile the kernel with sparse -Wcontext. [SERIAL] 8250_acorn: Convert to use serial8250_{un,}register_port. [ARM] No need for rpc_map_io to be public. [ARM] riscpc: add iomd, keyboard and acornfb platform devices. - Add iomd, keyboard and acornfb platform devices. - Convert rpckbd to use centrally registered platform device. - Convert acornfb to use a platform device. [SERIAL] 8250: Warn when ports with zero base_baud are registered. [SERIAL] serial_cs: Convert to use serial8250_{un,}register_port. [SERIAL] 8250_pnp: Convert to use serial8250_{un,}register_port. [SERIAL] Don't use UPF_AUTOPROBE, fix two build problems. The curse of the missing __devexit_p() returns, and asm-*/ obviously marks the end of the comment. [SERIAL] 8250_acpi: Convert to use serial8250_{un,}register_port. Annotate scheduler locking behaviour. This annotates the scheduler routines for locking, telling what locks a function releases or acquires, allowing sparse to check the lock usage (and documenting it at the same time). Lock-annotate some kernel functions as an example of how it works. In particular, a function that is called with a lock held, and releases it only to re-acquire it needs to be annotated as such, since otherwise sparse will complain about an unexpected unlock, even though "globally" the lock is constant over the call. Annotate UP spinlock stubs with lock annotations. This way you can do a checking run on UP too - even if the locks don't actually _matter_, they should still be right, I'd hope. [SERIAL] Don't detect console availability using port->ops. Use !iobase && !membase rather than !ops for console port availability. [SERIAL] Fix deadlock on removal of 8250 module. We must unregister all serial ports before driver_unregister() can complete. This means that we must unregister all ports in serial8250_remove, including our legacy ISA ports. We flag this special cleanup operation by setting serial8250_isa_devs to NULL and not handling our own platform device any differently from any others. [ARM PATCH] 2175/1: add reference for problem worked around by patch #1824/1 Patch from Nicolas Pitre Signed-off-by: Nicolas Pitre [ARM PATCH] 2176/1: S3C2410 - fixes for reset and idle Patch from Ben Dooks This patch fixes the following problems: - panic() in reset should be warning print, so that the system can then be soft-reset if this ever happens - arch_idle() can now be over-ridden for purposes of implementing dyanmic voltage scaling (DVS) or any other form of idling Signed-off-by: Ben Dooks [ARM PATCH] 2177/1: Trivial: contents of mach-h720x/Kconfig should be conditional on ARCH_H720X Patch from G N Barzini Currently under "System Type" you are always offered "h720x Implementations" regardless of the system type selected. The fix for this in the other Kconfig files seems to be enclose their contents conditional in 'if ARCH_FOO'/'endif'. This patch does that. [ARM PATCH] 2178/1: mnfd (move negated) emulation is busted on big- endian Patch from Lennert Buytenhek When you issue the mnfd opcode to negate a double, nwfpe is supposed to flip the most significant bit of your double, which is the sign bit. However, on big endian systems, it ended up flipping the most significant bit of the least significant sub-u32, which is one of the mantissa bits. On my system this was manifesting itself as sed regression tests failing, and ntpd/ntpdate consistently adjusting the system clock into the wrong direction. In pretty much all of NWFPE, doubles are stored in u64s and manipulations on those doubles are done by using u64 bitops. But for negation and fabs() it was poking into one of the sub-u32s directly instead of XORing the u64 with 0x8000000000000000 resp. ANDing with 0x7fffffffffffffff. Since on big-endian, 'native u64 order' means that the most significant byte (containing bits 63-56) is kept at the lowest byte address, the sign bit is the MSB of the first sub-u32, instead of the MSB of the second one as is the case on little endian. Signed-off-by: Lennert Buytenhek [ARM PATCH] 2179/1: gcc-4.0 static declaration of 'meminfo' follows non- static declaration build error Patch from George G. Davis Building kernels with recent gcc-4.0-20041024 snapshot results in "static declaration of 'meminfo' follows non-static declaration" build error. Since the "extern struct meminfo meminfo" definition is not required, this patch removes it to fix the build. Signed-off-by: George G. Davis Make sparse pick up the gcc internal include directory automatically. m68k used to do this by hand, but it really ends up being needed for any environment that does cross-builds, so just do it unconditionally. This should mean that you never need to cross-build sparse or have any other hacks for checking a cross-built environment. [ARM PATCH] 2181/1: Fix gcc-4.0 static declaration of '__clz_tab' follows non-static declaration build error Patch from George G. Davis Building kernels with recent gcc-4.0-20041024 snapshot results in "static declaration of '__clz_tab' follows non-static declaration" build error. Since the "extern const UQItype __clz_tab[]" definition is not required, this patch removes it to fix the build. Signed-off-by: George G. Davis [SPARC64]: Do free_initmem() poisioning. Just like on x86 Signed-off-by: David S. Miller [SPARC64]: Update defconfig. [SPARC64]: Add __must_check to user copy routines. Signed-off-by: David S. Miller [SPARC64]: Fix IRQ setting in sunsu serial driver. up->irq was just duplicating up->port.irq so delete the former and only use the latter. We were not initializing up->port.irq so this would cause port shutdown crashes when synchronize_irq() was called. Based upon a bug report and patch from RChan Signed-off-by: David S. Miller [ARM PATCH] 2085/1: PXA SSP driver Patch from Liam Girdwood This patch adds support the PXA250, 255, 26x and 27x SSP ports. It provides a generic core for simple IO-based SSP applications and allows easy port setup for DMA access. Depends on register definitions in patch 2084/1 Signed-off-by: Liam Girdwood [ARM PATCH] 2084/1: PXA SSP, I2S and other misc register defs Patch from Liam Girdwood Adds some PXA register and bit definitions:- o SSP ports o I2S o AC97_SYSCLK (Mainstone) o I2C Alternate function and direction o ASSP and NSSP Clock enables Signed-off-by: Liam Girdwood [ARM] Remove duplicate includes from ARM files. This set of changes came from a larger patch by Adrian Bunk. [PATCH] parisc: arch/parisc/kernel/perf_asm.S Indentation and comment cleanup Committed-by: Grant Grundler [PATCH] parisc: unwind fixes - fix unwind table search so it works reliably - add special case handling for ret_from_kernel_thread and _switch_to_ret - tidy up the code a bit - Fix sp falling in an unmapped kernel page - Sparse annotations Committed-by: Randolph Chung [PATCH] parisc: spinlock fixes - Fix SMP f_list corruption problem. This was rather subtle. It turns out that gcc was doing a small amount of reordering around the file_lock because it doesn't see our spinlock implementation as being a barrier. To fix this I - Added the appropriate barriers to all the spinlocks. - Removed the atomic opencoded spinlock and redid it as a proper one. SMP now seems stable on a 2xA500 and has survived a 10 hour 35 loop make -j 4 kernel compile without showing any problems (previously, it usually fell over in the first loop). - Since we have one or two users who don't want SMP, make the code base compile for UP again ... - missing parenthesis for pointer dereferencing Committed-by: James Bottomley Committed-by: Thibaut Varene [PATCH] parisc: debuglock fixes - pdc_printf from Randolph Chung - implement memory barriers in debuglocks Committed-by: Thibaut Varene [PATCH] parisc: fix 64-bit gcc 3.3 compiles Remove gcc alias directive to fix gcc-3.3.4 64-bit kernels Committed-by: Carlos O'Donell [PATCH] parisc: register usage documentation update Register usage documentation update Committed-by: Randolph Chung [PATCH] parisc: remove unused header file Remove unused asm/som.h (Olaf Hering) Committed-by: Matthew Wilcox [PATCH] parisc: make atomic_t 32-bit Make atomic_t an int instead of a long to match the other architectures Committed-by: Matthew Wilcox [PATCH] parisc: make __kernel_clock_t long fix __kernel_clock_t definition so that e.g. proper process times are returned to userspace Committed-by: Randolph Chung [PATCH] parisc: fix HPUX compile problem Fix compile error when HPUX support is enabled Committed-by: Randolph Chung [PATCH] parisc: assembly fixes and comments Add comments and references for relied-upon translations Add some extra comment to space_check Add support for prober and probew in our non-access TLB fault emulation path Force sr2 to 0 in syscall_restore Committed-by: Carlos O'Donell [PATCH] m68k: HP300 core updates Update of HP300 core support to use bootinfo etc. (from Kars de Jong) Signed-off-by: Kars de Jong Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: HP300 DIO HP300 DIO bus updates from Kars de Jong: - Removed kludges for internal HPIB, no need to handle it as a DIO device - Removed dio_scodetoviraddr() and introduced dio_scodetophysaddr() instead, to be able to support DIO-II - Removed trailing white space - Changed error return code of dio_find() from 0 to -1, since select code 0 is a valid select code - Added support for DIO-II - Fixed problem with DIO_ENCODE_ID() Signed-off-by: Kars de Jong Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: HP300 LANCE HP300 LANCE updates from Kars de Jong: - Updated HP LANCE driver to use the new DIO semantics - If only HP LANCE or MVME147 LANCE is selected, enable compile-time choice of LANCE register access. If both are defined, go through the function pointer - Added support for CONFIG_NET_POLL_CONTROLLER - Fixed problem with disabling board interrupts in hplance_close() which caused the driver to lock up Signed-off-by: Kars de Jong Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: HP300 fb HP300 frame buffer device updates from Kars de Jong: - Updated to use the new DIO semantics - Added support for DIO-II boards - Added support for 8 bit Catseye boards - Fixed colour map support - Added fb_blank() implementation - Added fb_fillrect() implementation - Added fb_sync() implementation Signed-off-by: Kars de Jong Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: M68k I/O for generic 8250 on HP300 M68k I/O updates from Kars de Jong and Jochen Friedrich: - To be able to use the generic 8250 driver on the HP300, added dummy implementations of inb(), inb_p(), outb() and outb_p() - Added implementations of readb(), writeb(), readl(), and writel() for the 8250 driver Signed-off-by: Kars de Jong Signed-Off-By: Jochen Friedrich Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: HP300 8250 serial for DCA and APCI ports Created HP300 8250 driver which supports DCA and APCI ports. Support for APCI is still experimental and unfinished (no support for interrupts). Console support should be okay though (from Kars de Jong) Signed-off-by: Kars de Jong Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: HP300 config HP300 configuration updates from Kars de Jong: - Updated help for CONFIG_HP300 - DIO support defaults to y - HP DCA support depends on SERIAL_8250 - Added HP APCI option - Removed HP DCA from SERIAL_CONSOLE dependencies Signed-off-by: Kars de Jong Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: HP300 SCSI chip is 98265A HP300: Fix typos in the DIO output. The SCSI chip is a 98265A, not a 98625A. NetBSD has this already fixed. Signed-off-by: Jochen Friedrich Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: hades-pci.c: replace pci_find_device() with pci_get_device() As pci_find_device() is going away I have replaced this call with pci_get_device(). Signed-off-by: Hanna Linder Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: HP300: Convert DIO bus and its drivers to the new driver model HP300: Convert DIO bus and its drivers to the new driver model (from Jochen Friedrich). Signed-off-by: Jochen Friedrich Signed-off-by: Kars de Jong Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: fix incorrect config comment in check_bugs() M68k: Fix incorrect config comment in check_bugs() Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: missing/superfluous config.h M68k: Add missing and remove superfluous #include Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: Sun-3 Makefile: join short multi-line Sun-3 Makefile: join short multi-line Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: MVME167 serial: Replace bottom half handler with task queue handler MVME167 serial: Fix compilation by replacing the bottom half handler with a task queue handler, based on the Cyclades driver (from Kars de Jong) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: Add 43 missing syscalls M68k: Add 43 missing syscalls (up to 2.6.9) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: Update defconfig for 2.6.9 M68k: Update defconfig for 2.6.9 Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: Add defconfig for Amiga M68k: Add defconfig for Amiga (based on the Debian config) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: Add defconfig for Apollo M68k: Add defconfig for Apollo (derived from the Debian config for HP9000/300) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: Add defconfig for Atari M68k: Add defconfig for Atari (based on the Debian config) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: Add defconfig for BVME4000 and BVME6000 M68k: Add defconfig for BVME4000 and BVME6000 (based on the Debian config) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: Add defconfig for HP9000/300 and HP9000/400 M68k: Add defconfig for HP9000/300 and HP9000/400 (based on the Debian config) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: Add defconfig for Macintosh M68k: Add defconfig for Macintosh (based on the Debian config) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: Add defconfig for MVME147 M68k: Add defconfig for MVME147 (based on the Debian config) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: Add defconfig for MVME162, MVME166, and MVME167 M68k: Add defconfig for MVME162, MVME166, and MVME167 (based on the Debian config) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: Add defconfig for Q40 and Q60 M68k: Add defconfig for Q40 and Q60 (based on the Debian config) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: Add defconfig for Sun 3 M68k: Add defconfig for Sun 3 (based on the Debian config) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: Add defconfig for Sun 3x M68k: Add defconfig for Sun 3x (derived from the Debian config for Sun 3) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: Disable SERIO_I8042 M68k: Disable SERIO_I8042 Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: Reiserfs: Add missing #include Reiserfs: Add missing #include Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: Sun 3: Fix modular XFS by exporting vmalloc_end Sun 3: Fix modular XFS by exporting vmalloc_end Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] m68k: Remove duplicate includes M68k: Remove duplicate includes (from Adrian Bunk) Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds Undo totally broken m68k patch. Note to self: any m68k patch that touches a SMP file is likely not worth it. Cset exclude: geert@linux-m68k.org[torvalds]|ChangeSet|20041101000206|42067 [PATCH] FAT: remove incorrect BUG_ON() This is valid state if file was accessed by multiple processes at the same time. Signed-off-by: OGAWA Hirofumi Signed-off-by: Linus Torvalds [PATCH] FAT: fix VFAT_IOCTL_READDIR_BOTH ioctl If "utf8" option was specified and app uses VFAT_IOCTL_READDIR_BOTH ioctl, utf8_wcstombs() is used. utf8_wcstombs() doesn't add the nul terminate. Then fat_ioctl_filldir() uses a wrong length of name by strlen(). This patch passes the correct length to fat_ioctl_filldir(), and doesn't use nul terminate anymore. Many helps by Alex Villacís Lasso. Thanks. Signed-off-by: OGAWA Hirofumi Signed-off-by: Linus Torvalds [SPARC64]: Add dummy pci_get_legacy_ide_irq() routine. Signed-off-by: David S. Miller [PATCH] Use optimised byteswap again Looks like Al's patch to sparsify the byteorder code prevented use of the assembler-optimised code. Not that I can blame him -- three underscores are C-coded and two underscores are assembly-optimised. [PATCH] m68knommu: add hardware defines for the ColdFire 527x CPU family Add SIM hardware module definitions for the ColdFire 527x CPU family. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: new CPU support strings in setup Change 5280 and 5282 CPU support to be generic 528x family. Also add support for the new 527x ColdFire family. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: update syscall table to be inline with other architectures Update the m68knommu system call table to be in line with all other architectures. There is really no reason this needs to be different from any other architecture. Signed-off-by: Geert Uytterhoeven Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: build real lib udelay() function Build the new m68knommu lib function udelay(). Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: new board support nad missing sections for linker script Couple of updates for ther m68knommu linker script. . Add support for the Freescale M5271EVB and M5275EVB boards . Add support for the Sneha CPU16B board . Changes to use the generic 528x define to 5280 and 5282 base boards . Add the missing param section . Align the ramfs section on a 4k (pseudo page size) boundary Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: create real lib udelay() function Create a real non-inlined function for m68knommu udelay(). We can save a little code space this way (and on most uClinux patforms this is a problem). Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: new CPU and board options for configuration A few updates to the m68knommu configuration: . Made the Morotola 5280 and 5282 support be a common 528x family . Add support for selecting the 527x ColdFire family (5270/5271/5274/5275) . Add support for selecting Freescale M5271EVB board . Add support for selecting Freescale M5275EVB board . Add support for selecting Sneha CPU16B board . Add support for selecting Feith SCALES and CANCAM boards . Fix some gramatical errors in help lines Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: update syscall definitions to match new syscall table Update the m68knommu system call definitions to match the modified syscall table. This will bring it into line with other architectures. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: fix calculation overflow in udelay() on fast CPU's Re-work the udelay() function. On fast ColdFire CPU's we are overflowing in the calculation and getting totally bogus results. On old 68k and ColdFire CPU's we have no 32*32->64 multiply instruction. So we resort to a mul/shift calculation similar to what ARM uses. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: clock definitions for 527x ColdFire CPU's Add clock rate definitions for newly support ColdFire 527x family of CPU's. And switch to the generic 528x define for the 5280 and 5282 CPU's. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: fix do_signal() to properly use get_signal_to_deliver() Completely rework m68knommu do_signal() signal handling code. Changed to use get_signal_to_deliver() properly, and remove un-neccessary local signal type checks. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: makefile support for new CPU and board types Add build support for new CPU families and boards. Specifically for the 527x ColdFire family, and the generic 528x CPU family. Also made the switch to -O1, gives smaller code on m68k and ColdFire platforms. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: checksum.h needs linux/in6.h Need to include linux/in6.h in m68knommu checksum.h to get a clean compile. All other architectures to this too. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [SERIAL] 8250: Return interrupt handler status. Thomas Koeller points out that we're always returning IRQ_HANDLED from our interrupt handler, even if we find no interrupt work to be done. NTFS: Fix stupid bug in fs/ntfs/attrib.c::ntfs_attr_find() that resulted in a NULL pointer dereference in the error code path when a corrupt attribute was found. Thanks to Domen Puncer for the bug report. Signed-off-by: Anton Altaparmakov [SERIAL] replace schedule_timeout() with msleep/msleep_interruptible() Use msleep()/msleep_interruptible() [as appropriate] instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Russell King [SERIAL] 8250_gsc: Convert to use serial8250_{un,}register_port. [ARM] mtd: update mapping drivers. This updates dc21285.c, integrator-flash.c and sa1100-flash.c map drivers. JFS: use alloc_metapage for consistency We defind alloc_metapage, but instead of using it, the potential callers are calling mempool_alloc directly. Since we have and use the function, free_metapage, we should be consistent and use alloc_metapage. This patch also changes the argument to alloc_metapage so that the caller passes gfp_mask directly, rather than a less descriptive flag. Signed-off-by: Dave Kleikamp [ARM PATCH] 2183/1: GPIO84:81 for PXA26x defines Patch from Matthias Burghardt Adds bit definitions for PXA26x\'s GPIO lines 81 to 84 and their alternate functions JFS: make some symbols static The patch below makes some JFS symbols that are only used inside the file they are defined in static. Signed-off-by: Adrian Bunk Signed-off-by: Dave Kleikamp [PATCH] Don't initialize /dev/pg0 to be always busy Without this patch my HP CD-Writer doesn't work. With this applied everything is fine. Signed-off-by: Tero Roponen Signed-off-by: Linus Torvalds [NET] add missing includes and forward decls to filter.h Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller NTFS: Add MODULE_VERSION() to fs/ntfs/super.c. Signed-off-by: Anton Altaparmakov [Bluetooth] Fix connection hash bug When calling hci_conn_hash_del() the acl_num value is incremented, but it must be decremented. Signed-off-by: Marcel Holtmann [NET] add missing include to divert.h Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller [ide] remove more dead ide exports From: Christoph Hellwig Signed-off-by: Bartlomiej Zolnierkiewicz [ide] obsolete /proc/ide/hd?/settings Majority of these settings is also available through ioctls. We will deal with the rest during deprecation period. Signed-off-by: Bartlomiej Zolnierkiewicz [ide] obsolete some command line parameters "hdx=autotune", "hdx=noautotune": * should be handled by host drivers needing them "idex=autotune", "idex=noautotune": * should die "idex=ata66": * should be handled by host drivers needing it "idex=dma": * works only for: cs5220.c, generic.c, hpt366.c, triflex.c * DMA should be used by default "idex=reset", "idex=serialize": * host drivers should set these settings when needed "idex=base[,ctl[,irq]]": * host drivers should auto-detect correct settings * ordering should be controlled by user-space "ide0=four": * should be handled by ide-generic driver Signed-off-by: Bartlomiej Zolnierkiewicz [ide] obsolete "enable DMA by default" config options CONFIG_IDEDMA_PCI_AUTO and CONFIG_IDEDMA_ICS_AUTO Host drivers should deal with broken hardware themselves. Warn if DMA support is enabled but "enable DMA by default" is not. Signed-off-by: Bartlomiej Zolnierkiewicz [PATCH] parisc: Merge head64.S and head.S Merge head64.S and head.S Cleanup 64-bit sp manipulations Committed-by: Kyle McMartin Committed-by: Randolph Chung [PATCH] parisc: small debug cleanup in power.c small debug cleanup Committed-by: Randolph Chung [PATCH] parisc: add HP copyright to perf counters add HP copyright Committed-by: Grant Grundler [PATCH] parisc: Fix 64-bit linking add some more BL macros and b,l in appropriate places in entry.S to expand the range of our jumps and work around the 64 bit binutils problem where it will allow the jump ranges to go beyond their permitted limits without complaining. Committed-by: James Bottomley [PATCH] parisc: Kconfig debugging options PA-RISC does have spinlock debugging and doesn't have the frame pointer option. USERMODE had been added twice to spinlock debugging, so remove that. Committed-by: Randolph Chung Committed-by: Matthew Wilcox [PATCH] parisc: make install Add a make install target Committed-by: Matthew Wilcox [PATCH] parisc: Fix N-class SMP Fix N class SMP The main fixes are: - memory barriers to our space and control register moves - fix for the N class merced bus problem which can't have more than one PxTLB broadcast outstanding at once - make smp_call_function() wait until the function completes This now boots and runs on a 32MB N4000 in Fort Collins with 2 cpus and discontig mem support. Committed-by: James Bottomley Committed-by: Randolph Chung [PATCH] parisc: update a500_defconfig Enable SMP on A500 by default Committed-by: Paul Bame [PATCH] parisc: Initialise restart_block Calling sys_restart_syscall without having taking a signal across a syscall leaves the restart_block uninitialized, allowing malicious user code to crash the kernel. FIX: Define INIT_THREAD_INFO such that restart_block.fn is set to the default do_not_restart_syscall. Committed-by: Carlos O'Donell [PATCH] parisc: Add user_space macro Add user_space macro, to determine if we are in a user versus kernel space. Committed-by: Carlos O'Donell [PATCH] parisc: Light-weight syscall support Add light-weight-syscall support to parisc. The first LWS is atomic CAS. Committed-by: Carlos O'Donell [PATCH] sysfs backing store - prepare sysfs_file_operations helpers From: Maneesh Soni o The following patch provides dumb helpers to access the corresponding kobject, attribute or binary attribute given a dentry and prepare the sysfs_file_operation methods for using sysfs_dirents. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] fix oops with firmware loading From: Maneesh Soni My fault, a bad typo in fs/sysfs/bin.c. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] sysfs backing store - add sysfs_direct structure From: Maneesh Soni o This patch introduces the new sysfs_dirent data structure. The sysfs_dirent is added to the dentry corresponding to each of the element which can be represented in sysfs like, kobject (directory), text or binary attributes (files), attribute groups (directory) and symlinks. o It uses dentry's d_fsdata field to attach the corresponding sysfs_dirent. o The sysfs_dirents are maintained in a tree of all the sysfs entries using the s_children and s_sibling list pointers. o This patch also changes how we access attributes and kobjects in file_operations from a given dentry, basically introducing one more level of indirection. o The sysfs_dirents are freed and the sysfs_dirent tree is updated accordingly upon the deletion of corresponding dentry. The sysfs dirents are kept alive as long as there is corresponding dentry around. The are freed when the dentry is finally out of dcache using the ->d_iput() method. o This also fixes the dentry leaks in case of error paths after sysfs has got a newly alocated (and hashed) dentry from sysfs_get_dentry() by d_drop()'ing the dentry. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] sysfs backing store: use sysfs_dirent based tree in file removal From: Maneesh Soni o This patch uses the sysfs_dirent based tree while removing sysfs files and directories. This avoids holding dcache_lock by not using dentry based vfs tree. Thus simplyfying the removal logic in sysfs. o It uses two helper routines sysfs_get_name(), to get the name for sysfs element and sysfs_drop_dentry() to delete the dentry given a sysfs_dirent. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] sysfs backing store: use sysfs_dirent based tree in dir file operations From: Maneesh Soni o This patch implements the sysfs_dir_operations file_operations strucutre for sysfs directories. It uses the sysfs_dirent based tree for ->readdir() and ->lseek() methods instead of simple_dir_operations which use dentry based tree. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] sysfs backing store: stop pinning dentries/inodes for leaf entries From: Maneesh Soni o This patch stops the pinning of non-directory or leaf dentries and inodes. The leaf dentries and inodes are created during lookup based on the entries on sysfs_dirent tree. These leaves are removed from the dcache through the VFS dentry ageing process during shrink dcache operations. Thus reducing about 80% of sysfs lowmem needs. o This implments the ->lookup() for sysfs directory inodes and allocates dentry and inode if the lookup is successful and avoids the need of allocating and pinning of dentry and inodes during the creation of corresponding sysfs leaf entry. As of now the implementation has not required negative dentry creation on failed lookup. As sysfs is still a RAM based filesystem, negative dentries are not of any use IMO. o The leaf dentry allocated after successful lookup is connected to the existing corresponding sysfs_dirent through the d_fsdata field. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] Fix race in sysfs_read_file() and sysfs_write_file() From: Simon Derr - fixes the race between threads by adding a semaphore in sysfs_buffer - allocates the buffer upon call to pread(). We still call again fill_read_buffer() if the file is "rewinded" to offset zero. - fixes the comparison in flush_read_buffer(). Signed-off-by: Simon Derr Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] Possible race in sysfs_read_file() and sysfs_write_file() From: Simon Derr Add a `needs_read_fill' field in sysfs_buffer so that reading after a write in a sysfs file returns valid data. (instead of the data that have been written, that may be invalid or at the wrong offset) Signed-off-by: Simon Derr Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] Fix deadlocks on dpm_sem From: Paul Mackerras Currently the device_pm_foo() functions are rather prone to deadlocks during suspend/resume. This is because the dpm_sem is held for the duration of device_suspend() and device_resume() as well as device_pm_add() and device_pm_remove(). If for any reason you get a device addition or removal triggered by a device's suspend or resume code, you get a deadlock. (The classic example is a USB host adaptor resuming and discovering that the mouse you used to have plugged in has gone away.) This patch fixes the problem by using a separate semaphore, called dpm_list_sem, to cover the places where we need the device pm lists to be stable, and by being careful about how we traverse the lists on suspend and resume. I have analysed the various cases that can occur and I am confident that I have handled them all correctly. I posted this patch together with a detailed analysis 10 days ago. Signed-off-by Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] Driver core: export device_attach Driver core: make device_attach() global and export it and driver_attach() so subsystems can have finer control over binding process. Signed-off-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman [PATCH] Driver core: add driver_probe_device Driver core: rename bus_match into driver_probe_device and export it so subsystems can bind an individual device to a specific driver without getting involved with driver core internals. Signed-off-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman [PATCH] kobject: fix hotplug bug with seqnum On Sat, Oct 30, 2004 at 04:54:29AM +0200, Kay Sievers wrote: > On Sat, Oct 30, 2004 at 02:25:23AM +0200, Kay Sievers wrote: > > On Sat, Oct 30, 2004 at 02:00:45AM +0200, Kay Sievers wrote: > > > On Fri, Oct 29, 2004 at 06:13:19PM -0500, Greg KH wrote: > > > > On Fri, Oct 29, 2004 at 11:28:56PM +0200, Kay Sievers wrote: > > > > > > But there might still be a problem. With this change, the sequence > > > > > > number is not sent out the kevent message. Kay, do you think this is an > > > > > > issue? I don't think we can get netlink messages out of order, right? > > > > > > > > > > Right, especially not the events with the same DEVPATH, like "remove" > > > > > beating an "add". But I'm not sure if the number isn't useful. Whatever > > > > > we may do with the hotplug over netlink in the future, we will only have > > > > > /sbin/hotplug for the early boot and it may be nice to know, what events > > > > > we have already handled... > > > > > > > > > > > I'll hold off on applying this patch until we figure this out... > > > > > > > > > > How about just reserving 20 bytes for the number (u64 will never be > > > > > more than that), save the pointer to that field, and fill the number in > > > > > later? > > > > > > > > Ah, something like this instead? I like it, it's even smaller than the > > > > previous patch. Compile tested only... > > > > > > I like that. How about the following. It will keep the buffer clean from > > > random chars, cause the kevent does not have the vector and relies on > > > the '\0' to separate the strings from each other. > > > I've tested it. The netlink-hotplug message looks like this: > > > > > > recv(3, "remove@/class/input/mouse2\0ACTION=remove\0DEVPATH=/class/input/mouse2\0SUBSYSTEM=input\0SEQNUM=961 \0", 1024, 0) = 113 > > > > Hmm, these trailing spaces are just bad, sorry. I'll better pass the > > envp array over to send_uevent() and clean up the keys while copying > > the env values into the skb buffer. This will make the event payload > > more safe too. So your first version looks better. > > How about this? We copy over key by key into the skb buffer and the > netlink message can get the envp array without depending on a single > continuous buffer. > > The netlink message looks nice like this now: > > recv(3, " > add@/devices/pci0000:00/0000:00:1d.1/usb3/3-2/3-2:1.0\0 > HOME=/\0 > PATH=/sbin:/bin:/usr/sbin:/usr/bin\0 > ACTION=add\0 > DEVPATH=/devices/pci0000:00/0000:00:1d.1/usb3/3-2/3-2:1.0\0 > SUBSYSTEM=usb\0 > SEQNUM=991\0 > DEVICE=/proc/bus/usb/003/008\0 > PRODUCT=46d/c03e/2000\0 > TYPE=0/0/0\0 > INTERFACE=3/1/2\0 > ", 1024, 0) = 268 Here is an improved version that uses skb_put() to fill the skb buffer, instead of trimming the buffer to the final size after we've copied over all keys. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman [PATCH] Driver core: add driver symlink to device Driver core: when binding device to a driver create "driver" symlink in device's directory. Rename serio's "driver" attribute to "drvctl" (write-only) Signed-off-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman [PATCH] take me home, hotplug_path[] Move hotplug_path[] out of kmod.[ch] to kobject_uevent.[ch] where it belongs now. At some time in the future we should fix the remaining bad hotplug calls (no SEQNUM, no netlink uevent): ./drivers/input/input.c (no DEVPATH on some hotplug events!) ./drivers/pnp/pnpbios/core.c ./drivers/s390/crypto/z90main.c Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman NTFS: Make several functions and variables static. (Adrian Bunk) Signed-off-by: Adrian Bunk Signed-off-by: Anton Altaparmakov [PATCH] fix IBM cyclone clock and some cleanup - fix broken IBM cyclone time interpolator support - add support for cyclic timers through an addition of a mask in the timer interpolator structure - Allow time_interpolator_update() and time_interpolator_get_offset() to be invoked without an active time interpolator (necessary since the cyclone clock is initialized late in ACPI processing) - remove obsolete function time_interpolator_resolution() - add a mask to all struct time_interpolator setups in the kernel - Make time interpolators work on 32bit platforms Signed-off-by: Christoph Lameter Signed-off-by: Linus Torvalds [PATCH] PCI: Updated patch to add ExpressCard support This patch adds ExpressCard support to pciehp driver. It also includes the code that implements _OSC method call in driver/pci/pci-acpi.c for use by the drivers. Signed-off-by: Dely Sy Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: Updated patch to fix adapter speed mismatch for 2.6 kernel After doing more testing, I found that I couldn't use quirk to set the flag to identify the chipset, for there are platforms that have other bridge chip with PCI-X hotpluggable slots in the same system. Therefore, I use the vendor id and device id to identify the bridge chip that needs the workaround. The code doing the workaround remains unchanged. Signed-off-by: Dely Sy Signed-off-by: Greg Kroah-Hartman [PATCH] pci/quirks: replace schedule_timeout() with msleep() Description: Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Greg Kroah-Hartman [PATCH] hid-core: add two devices to device blacklist This patch adds the Delorme Earthmate usb gps and the Cypress hid->com rs232 adapter to hid-core's device blacklist. Signed-off-by: Lonnie Mendez Signed-off-by: Greg Kroah-Hartman [PATCH] UHCI: Workaround for broken remote wakeup This patch adds a workaround for host controllers that don't properly support remote wakeup. That includes Intel controllers (on certain badly designed motherboards) and a recent Genesys Logic controller. Although the UHCI driver avoids suspending the Intel-based controllers, this workaround will handle things about as well. In the not-too-distant future I will have to revamp most of the root-hub suspend/resume code in the UHCI driver. For now, please apply the patch. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove dead code in usb video Hi, Patch below removes somem dead, never used code from the usbvideo driver, including a function that uses interruptible_sleep_on_timeout() oddly. Signed-off-by: Arjan van de Ven Signed-off-by: Greg Kroah-Hartman [PATCH] usbcore and system sleep states This patch makes usbcore behave better with system sleep states, fixing some PM/PCI integration problems as well as some PM/USB ones. - PCI HCDs should behave better, even if they don't support PCI PM; tested with both ACPI and APM suspend cycles, and swsusp. - Systems that advertise ACPI S1 support don't necessarily support the PCI D1 or D2 states for their USB controllers. (Examples include Centrino laptops.) This patch makes them suspend into D3hot, which always works (and won't take much longer to resume, either). - Handle the "go into deeper suspend" transition the way PCI drivers are supposed to. - Understand that USB only has one suspend state: if the device is suspended, it can't do any better. - Export some symbols to HCDs, so they can reuse more of the existing usbcore framework. Plus minor related cleanups. The PCI D1/D2 state issue is a variant of an earlier problem, with the same root cause: the PM core thinking there's a one-to-one mapping between system states (roughly: ACPI S0/S1/S3/S4) and PCI states that a given device can support (only D0 is required, D3hot is common). That same issue comes up again with USB. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: make pci_save_state() only happen when no suspend() Recent PCI changes are killing USB Power Management, and maybe more. The root cause is a change to the PCI suspend code from back in May, saving a copy of pci config space after the PCI driver did. That was OK until a recent change made it overwrite the copy that the PCI device driver would later restore ... net result for USB is that DMA would always be disabled after resume. This patch restores the long-documented behavior of PCI driver suspend/resume calls (drivers are responsible for saving and restoring config space state), and also removes a superfluous line from the USB suspend logic. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] EHCI suspend/resume updates This patch much improves suspend/resume behavior of EHCI, as tested with "echo suspend > /sys/power/state" and "echo disk > /sys/power/state". - Quiescing the controller has to handle a case where the software has finished shutting down periodic and async schedules, but the hardware hasn't yet finished its part. - When suspending the root hub, be more by-the-book so that resumes behave better. - When resuming after suspend-to-disk, or in general when no port is suspended, the driver re-uses the initialization logic. That logic needed to understand that resources don't need re-allocation, and that a few things need to be reset to the default state. - More code paths needed to notice a suspended controller, and stop right away. - To shut down the controller, start with the root hub ports and work up from there. Tested by writing "suspend" or "disk" to /sys/power/state; several systems resumed OK, at least given the associated usbcore patches. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] OHCI suspend/resume updates (minor) This marks the controller as running at the end of a "resume" path used when the controller lost power, or was otherwise reset (not a real resume). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] usbcore, diagnostic tweaks Minor updates for better diagnostics from usbcore: - Only print ep0 maxpacket when it's not what we first tried - have khubd say when it's looking at a hub - When warning about synchronous control or bulk timeouts, report the program that triggered the message. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] UHCI: Convert remainder to bitwise-and This patch, suggested by Karsten Wiese, converts a few remainder ('%') operations in the UHCI driver to bitwise-and ('&'). It's not a huge change, but this is a common idiom in C and it will save a few bytes with some compilers. Also one of the changes is in an inner loop, so it might help a little bit. From: Karsten Wiese Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Dequeuing of root-hub URBs This patch fixes a tiny SMP-type hole in root-hub synchronization. Although the HCD glue layer properly unlinks root-hub status URBs synchronously, it doesn't do so for URBs sent to endpoint 0. This patch copies some code from usb_kill_urb, to make such unlinks wait until the host controller driver has finished handling the URB. This behavior is required for hcd_endpoint_disable to work correctly. The patch also renames usb_rh_status_dequeue to usb_rh_urb_dequeue (to better describe its updated function) and declares the routine static. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [APPLETALK]: Remove an unused function Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller [IRDA]: Remove an unused function in net/irda/qos.c Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller [AX25]: Remove an unused function in ax25_route.c Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller [NETFILTER]: Remove an unused function in ipt_tcpmss.c Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller [PATCH] USB: fix ohci_restart warning With 2.6.10 getting warning about ohci_restart() defined and not used if !CONFIG_PM. Signed-off-by: Stephen Hemminger Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] Lock initializer unifying Batch 2 (USB) To make spinlock/rwlock initialization consistent all over the kernel, this patch converts explicit lock-initializers into spin_lock_init() and rwlock_init() calls. Currently, spinlocks and rwlocks are initialized in two different ways: lock = SPIN_LOCK_UNLOCKED spin_lock_init(&lock) rwlock = RW_LOCK_UNLOCKED rwlock_init(&rwlock) this patch converts all explicit lock initializations to spin_lock_init() or rwlock_init(). (Besides consistency this also helps automatic lock validators and debugging code.) The conversion was done with a script, it was verified manually and it was reviewed, compiled and tested as far as possible on x86, ARM, PPC. There is no runtime overhead or actual code change resulting out of this patch, because spin_lock_init() and rwlock_init() are macros and are thus equivalent to the explicit initialization method. That's the second batch of the unifying patches. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Greg Kroah-Hartman [PKT_SCHED]: Add generic classifier routines. Adds generic routines used by classifier to: - bind/unbind to classes - configure action/police/indev - dump action/police Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: cls_fw: Cleanup fw_classify Cleans up fw_classify by using the generic routines and adds a additional but unneeded continue to document that an action may overrule the filter's match result. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: cls_fw: Use generic routines to configure action/policer Adds a new function fw_change_attr using the new generic routines which can be used to change attribute but also to initially set them to avoid duplicated code. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: cls_fw: Use generic routines to dump action/policer Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: cls_fw: Whitespace/ifdef fixes Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: cls_fw: Break is not enough to stop walking break is not enough to escape from the walking loops, since multiple encapsulated loops are used to traverse the hash tables. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PATCH] USB: add id for Siemens x65 series of mobiles to pl2303 driver [PL2303] add id for Siemens x65 series of mobiles Tested with CX65 and S65 models Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Greg Kroah-Hartman [PKT_SCHED]: cls_fw: CONFIG_NET_CLS_IND is not dependant on CONFIG_NET_CLS_ACT Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PATCH] USB stv680.c: remove an unused function The patch below removes an unused function from drivers/usb/media/stv680.c Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman [PATCH] USB ohci-dbg.c: remove an unused function The patch below removes an unused function from drivers/usb/host/ohci-dbg.c Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman [PATCH] UHCI: Use a sane timeout for device initialization This patch changes the device initialization code for the UHCI driver to use a more meaningful timeout than simply waiting for 1000 loop iterations. It also causes the code to fail when a timeout occurs rather than proceed blindly. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [NETFILTER]: ipt mutex locks access Signed-off-by: Harald Welte Signed-off-by: David S. Miller [PKT_SCHED]: Add iptables action. Signed-off-by: jamal Signed-off-by: David S. Miller [SCTP]: Remove an unused function in outqueue.c Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller [XFRM]: Move xfrm4_rcv export to its site Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [IPSEC]: Make ah4/esp4/ipcomp depend on INET As it is someone could disable INET and still enable ah4/esp4/ipcomp. This patch adds the dependency on INET to prevent this. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [TCP]: Modularize tcpdiag This is the first step in fixing the tcpdiag/modular ipv6 issue. We modularise tcpdiag in the obvious way. Next we can move out the IPv6-specific stuff. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [NET]: Unexport call_netdevice_notifiers() Signed-off-by: Arjan van de Van Signed-off-by: David S. Miller [PKT_SCHED]: cls_route: Use generic routines for class binding and police config/dump Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: cls_rsvp*: Use generic routines for class binding and police config/dump Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: cls_tcindex: Use generic routines for class binding and police config/dump Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: cls_u32: Use generic routines for class binding and police config/dump Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PATCH] parisc: add copyright to sba_iommu add copyright for knaresh - he did initial work for pa8800 support on 2.4 Committed-by: Grant Grundler [PATCH] parisc: better stack traces In parisc_terminate(), do the stack trace from the faulting location instead of from the current (i.e. parisc_terminate()) location. Committed-by: Randolph Chung [PATCH] parisc: fix ptrace Make ptrace work again someone (not naming names) forgot that %cr30 is the *thread* register not the task register. Committed-by: James Bottomley [PATCH] parisc: signal race fixes Signal race fixes Committed-by: Carlos O'Donell Committed-by: James Bottomley [PATCH] parisc: support get/put_unaligned We need to include asm-generic/uaccess.h for the new get/put_unaligned macros Committed-by: James Bottomley [PATCH] parisc: _raw_write_trylock Need a _raw_write_trylock() for the out of line spinlock code to compile ... nothing in the kernel actually uses this, of course ... Committed-by: James Bottomley [PATCH] parisc: remove K_STW_PIC and K_LDW_PIC There is no pure assembly inline syscall for userspace to include. Thus remove the definitions of K_STW_PIC and K_LDW_PIC. Committed-by: Carlos O'Donell [PATCH] parisc: Remove isr verification Remove isr verification printf. This is not needed, and was never needed, we always have access to the page if we made it past the security check in traps.c Committed-by: Carlos O'Donell [TCP]: Unexport sysctl_tcp_tw_recycle Unexport sysctl_tcp_tw_recycle; nothing is using it in modules (it's quite internal to the ipv4 code after all); as a bonus item it gets rid of an ifdef... Signed-off-by: Arjan van de Ven Signed-off-by: David S. Miller [XFRM]: Fix build failures without CONFIG_INET Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [TG3]: Fix fiber hw autoneg bounces We've recently noticed that the autonegotiation cleanup made a while back (between tg3 3.8 and 3.9) has issues which make the link bounce up and down. I've traced it to be caused by the tg3_timer 1 second work noticing that MAC_STATUS_LNKSTATE_CHANGED was set, which driver would see as the link going down. Upon further inspection, it appears that we don't wait long enough between setting SG_DIG_CTRL and reading the SG_DIG_STATUS for the result. The following patch (from a quasi recent bk tree) makes this code path wait up to 200ms for the link to establish. In my testing, I'm seeing it take around 20ms for the negotiation to complete. I haven't had the chance to test how this patch affects the case where the switch doesn't have autoneg enabled, although I suspect fallback should work correctly. Please consider applying, thanks, Signed-off-by: Mike Waychison Signed-off-by: David S. Miller [TG3]: Use ioremap_nocache(). Noticed by Andi Kleen. Signed-off-by: David S. Miller [TG3]: Bump driver version and reldate. Signed-off-by: David S. Miller [NETFILTER]: Fix build without INET. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller [NET]: Fix unbalanced local_bh_enable() in dev_queue_xmit() Signed-off-by: Ingo Molnar Signed-off-by: David S. Miller [ATM]: [ambassador] fix type and printk warning (from Randy Dunlap ) Signed-off-by: Chas Williams Signed-off-by: David S. Miller [ATM]: [drivers] add missing pci_tbl exports (pointed out by Adam [ACPI] ACPIPNP handle IRQ resource value of 0 (David Shaohua Li) Signed-off-by: Len Brown [ACPI] fix x86_64 build warnings in video.c (Luming Yu) Signed-off-by: Len Brown [NET] add missing include to inet.h Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller [NET] add missing include to inetdevice.h Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller [NET] add missing include to icmp.h Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller [NET] add missing include to iw_handler.h Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller [ACPI] correct compiled-in acpi_dbg_level default Signed-off-by: Len Brown [ACPI] fix return values for ACPI_FUNCTION_TRACE http://bugzilla.kernel.org/show_bug.cgi?id=3336 Signed-off-by: Len Brown [ACPI] Remove default PNPACPI driver binding to legacy ACPI devices. This conflicted with PNP-aware and ACPI-aware drivers, and required that its exclude-list carry vendor-specific driver names, which we can't possibly maintain. Signed-off-by: David Shaohua Li Signed-off-by: Len Brown [SERIAL] Add support for Dell PCI Remote Access Card III. [SERIAL] Add ALPHA_KLUDGE_MCR from include/linux/serialP.h [SERIAL] 8250: Remove two warnings. [PATCH] libata PIO bugfix Untested but based on working IDE fix. We need to kmap()/kunmap() the current page not the first page of the scatterlist segment. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik [IA64-SGI] remove duplicate INVALID_* defines from arch.h When I did the sparse stuff, I noticed some duplicate INVALID_* defines. This patch removes one set of them and adds the proper include file to sn_sal.h. Signed-off-by: Jesse Barnes Signed-off-by: Tony Luck [IA64-SGI] remove redundant macros This patch removes some redundant nasid conversion macros from arch.h and updates callers to use the version they were defined to instead. Signed-off-by: Jesse Barnes Signed-off-by: Tony Luck [IA64-SGI] move nic_t to asm/sn/types.h Somehow nic_t crept into arch.h. Move it to types.h where it belongs (it depends on u64, so pull in linux/types.h too). Signed-off-by: Jesse Barnes Signed-off-by: Tony Luck [IA64-SGI] Delete unused variable (master_node_bedrock_address) Delete master_node_bedrock_address. It is no longer needed. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck [IA64] cleanup CPU drift print This patch skips printing drift information of a cpu where ITC drift information is not supported by SAL. Without this, bogus value (-1ppm) is printed on boot. CPU 1: base freq=200.007MHz, ITC ratio=10/2, ITC freq=1000.035MHz+/--1ppm is now CPU 1: base freq=200.007MHz, ITC ratio=10/2, ITC freq=1000.035MHz Signed-off-by: Takayoshi Kochi Signed-off-by: Tony Luck [IA64-SGI] update sn2_defconfig Update sn2_defconfig to reflect some new options: o enable MCA debugging of more than just TLB errors o enable tmpfs xattr support o enable kernel userspace events o defaults for other new options Signed-off-by: Jesse Barnes Signed-off-by: Tony Luck [IA64] tiger_defconfig update for 2.6.10-rc1 Enable MCA_RECOVERY, TMPFS_XATTR, and other miscellaneous config options. Signed-off-by: Tony Luck [IA64] promote configs/generic_defconfig to defconfig arch/ia64/defconfig should be one that is usable by the largest cross-section of the ia64 community. Replace old version with an updated version of generic_defconfig. Change suggested by Jesse Barnes. Signed-off-by: Tony Luck [ARM PATCH] 2187/1: fix lacking capability in pxa_gpio_mode() Patch from Nicolas Pitre This allows to set the default state of GPIOs before they're enabled as output, eliminating spurious level transitions. Signed-off-by: Nicolas Pitre [ARM PATCH] 2188/1: Add missing MODULE_LICENSE declaration in PXA Lubbock PCMCIA driver Patch from George G. Davis The Lubbock PCMCIA socket driver, drivers/pcmcia/pxa2xx_lubbock.c, lacks a MODULE_LICENSE declaration. This patch merely adds the missing MODULE_LICENSE declaration to eliminate tainted kernel warnings when this driver is built as a module. I have intentionally not used the Dual MPL/GPL license in this case because 1) current linux-2.6.10-rc1 PXA PCMCIA drivers use only the GPL license, 2) the original source files on which the PXA PCMCIA drivers are based, i.e. the SA11xx PCMCIA drivers, state: "If you wish to allow the use of your version of this file only under the terms of the GPL and not to allow others to use your version of this file under the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the GPL." Signed-off-by:: George G. Davis [ARM PATCH] 2189/1: S3C2410 - select pclk as source for timer if none specified for machine Patch from Ben Dooks Select the PCLK based TIMER4 to provide the system timer tick if there is no machine specific timer setup specified. This should make it easier to add new machines, as well as cut down on the code required in time.c when they are added. Signed-off-by: Ben Dooks [ARM PATCH] 2190/1: S3C2410 - fix compile for S3C2440 CPUs Patch from Ben Dooks Fixes mis-labelled timer variables, and incldes the clock header to allow the code to compile. This was not caught on previous rounds as all the s3c2440 machine support is pending the finalisation of the new s3c2440 uart driver (arriving soon) Signed-off-by: Ben Dooks [SERIAL] Fix PPC64 for recent serial changes - linux/8250.h is replaced by linux/serial_8250.h - we now pass serial port information via a platform device. [PATCH] standalone sys_ni.c for not-implemented syscalls Sticking the not-implemented syscall stuff in sys.c is a pain because the cond_syscall()s explode when certain prototypes are in scope. And we need those prototypes' header files for the C code in sys.c. Fix all that up by moving all the sys_ni_syscall code into its own .c file. Signed-off-by: Peter Chubb Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: 40x and Book E debug: core support This patch updates the 40x and Book E Debug exception handling paths to handle kernel space debug events. It also fixes up the in-kernel ppc32 kgdb stub to work properly. Signed-off-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: 40x and Book E debug: 4xx platform support This patch adds support to the 40x and 44x platform code for initializing debug events and using the in-kernel kgdb stub. Signed-off-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: fix early request_irq Here's a patch which backs out the fix Randy Vinson came up with, and makes i8259_init() and openpic_hookup_cascade() use setup_irq (tested on LoPEC). This also converts the rest of the request_irq callers that were expecting the old behavior (psurge SMP, chrp xmon, 85xx, some 82xx). This is more untested, but looks correct. I've left 8xx alone in this as it needs other changes before it would make sense. Signed-off-by: Tom Rini Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Fix 32bit aio setup Kernel 2.6.9-rc3-mm3 has a bug in function sys32_io_setup in file arch/x86_64/ia32/sys_ia32.c. Local variable ctx64 is not initiated before sys32_io_setup calls sys_io_setup. If ctx64 is not zero, and sys_io_setup will return -EINVAL. Generic function compat_sys_io_setup has not the bug. Here is the patch against 2.6.9-rc3-mm3. Just use compat_sys_io_setup to replace sys32_io_setup. Signed-off-by: Zhang Yanmin Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Update cpuid feature tables. Add missing AMD CPUID feature bits. Fix wrong definition for AMD HTVALID flag. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Report SSE3 on AMD CPUs From: Mark Langsdorf Report SSE3 on AMD CPUs in /proc/cpuinfo Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Fix compat_timer_t Fix type of compat_timer_t Pointed out by Matthew Wilcox Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Defconfig update Update defconfig At the request of willy: add UHCI Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Fix e820 overflow. Originally from Venkatesh Pallipadi for i386 An e820 map with more than 18 entries would overflow into the EDID area in the zero page. Fix this. This is a x86-64 port of Venka's i386 version. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Add early exception handler Add an early exception handler on x86-64 to get better debugging output for crashes before traps_init. Requires earlyconsole. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Fix some readl/writel warnings Fix lots of readl/writel warnings in arch/x86_64 Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Fix make all From: Olaf Hering make all fails while building a helper app: arch/x86_64/boot/tools/build.c:36:22: asm/boot.h: No such file or directory This patch fixes it for me. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Fix CONFIG_X86_MCE Fix CONFIG_X86_MCE to really enable/disable the MCE code Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: add nmi button support Ported from i386 Support a sysctl to raise an oops with an NMI Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Don't wait on panic Don't wait for a response from other CPUs on panic Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Poison initdata Due to popular request Unconditionally poison __init code after bootup. Poison initdata too. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Add 32bit quota support [untested, but other 64bit ports seem to get away with it] sys_quotactl seems to be 32/64bit clean, enable it for 32bit. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Fix setup asm constraints Fix some asm constraints in setup. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Auto enable HPET on Summit From: James Cleverdon Switch to HPET timer automatically mode on Summit 2 Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Fallback to swiotlb for dma_alloc_coherent From: Suresh B Siddha Coresponding change to IA64 code is in, so this can be merged too. - fallback to swiotlb for consistent DMA mappings - fix a memory leak in dma_alloc_coherent Signed-off-by: Suresh Siddha Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Use compat readdir and aio functions This patch replaced some sys32 syscall functions of X86_64 with the corresponding compat version. Signed-off-by: Pu Long Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Remove bogus __initdata in wakeup path Found by Randy Dunlap Don't mark use_sysenter __initdata, it is used on suspend Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86-64: fix sibling map again Recent x86-64 sibling map fix for clustered mode by James (http://linux.bkbits.net:8080/linux-2.6/cset@414b34a6jkiHQ5AnhA269av76y3ZAw?nav=index.html) is not the recommended way of fixing it. That patch assumes BIOS for non-clustered systems accept the HW assigned value. Why make this assumption when we can fix it in a better fashion(which is also used by x86 kernel's today) Basically use HW assigned apic_id's(returned by cpuid) for non clustered systems and for clustered use BIOS provided apic_id's. Appended patch does this. Note: Similar issue was earlier disussed in context of x86 approx an year back and James then backed out his changes. http://www.ussg.iu.edu/hypermail/linux/kernel/0312.2/0167.html Signed-off-by: Suresh Siddha Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: set -fno-strict-aliasing for early boot code The boot decompressor is miscompiled by recent gcc 4.0s without this patch. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Print real error when initramfs gunzip failed Print the real error when initramfs gunzip failed. gunzip already sets up message correctly. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Add panic blinking to 2.6 This patch readds the panic blinking that was in 2.4 to 2.6. This is useful to see when you're in X that the machine has paniced It addresses previously criticism. It should work now when the keyboard interrupt is off. It doesn't fully emulate the handler, but has a timeout for this case. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] m32r: Fix ELF_CORE_COPY_REGS macro to generate a correct "core" file This patch fixes ELF_CORE_COPY_REGS() macro in order to dump register information into "core" files correctly, because both parameters pr_reg and regs are passed as pointers to "elf_gregset_t" and "struct pt_regs", respectively. I've tested it by using a native m32r GNU debugger. Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] m32r: remove rep_nop() Remove rep_nop() from include/asm-m32r/processor.h, because REP NOP (PAUSE) is a x86 specific instuction. Instead of rep_nop(), barrier() should be used for cpu_relax() as well as other architecuture. * include/asm-m32r/processor.h: - Change not to include "cachectl.h". - Remove rep_nop() and redefine cpu_relax() as barrier(). * arch/m32r/kernel/smpboot.h: - Use cpu_relax() instead of rep_nop(). Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] m32r: remove old ELF relocation types Remove old relocation type definitions from include/asm-m32r/elf.h. These ELF relocations are obsolete and no longer used. * include/asm-m32r/elf.h: - Remove old relocation types. Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: make zfcp compile again. Make zfcp compile again after the SPI-5 constants and the interface to suspend I/O to scsi devices got added. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] loop: convert to module_param Convert loopback device to new module_param to get rid of warning. Signed-off-by: Stephen Hemminger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] rd: convert to module_param and add module alias Convert Ramdisk block device to module_param to get rid of warning. Add module alias to cause correct autoloading. Signed-off-by: Stephen Hemminger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fs/buffer.c exports for NTFS I renamed the functions to more descriptive names: create_buffers -> alloc_page_buffers __set_page_buffers -> attach_page_buffers And I added a EXPORT_SYMBOL_GPL for alloc_page_buffers and made attach_page_buffers static inline and moved it to . Signed-off-by: Anton Altaparmakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3_bread() cleanup - remove unused local - whitespace - put_bh() is faster than brelse() Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] key management: fix locking problem and move __key_check() out of line The attached patch fixes a locking problem in key_lookup() and moves __key_check() out of line. Signed-Off-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] radeonfb: more initializer fixes Use 8-bit palette entries for radeonfb and avoid zero-initialization as suggested by Geert Uytterhoeven. Signed-off-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v850: Work around include-definition-loop problem in Signed-off-by: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v850: Add definitions for memcpy_fromio and memcpy_toio Signed-off-by: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v850: Add __param linker section Signed-off-by: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v850: Fix misnamed variable in ptrace.c Signed-off-by: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v850: signal handling race fix Signed-off-by: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] HPET init/add fixes Cleanup/bugfix HPET driver: - hpet_init() could return failure with driver still registered with ACPI - driver add() functions were marked __init, but can be called any time until driver is unregistered (not a real problem until HPETs can be hotplugged) - time interpolator registration now done in driver add() path, so we can support removal of HPETs someday - physical MMIO address should be printed, not ioremapped address Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Documentation/digiboard.txt update Remove obsolete Documentation/digiboard.txt file - driver was obsoleted by the digiecpa driver. Signed-off-by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Documentation/00-INDEX.txt update Remove reference to to-be-deleted file in Documentation/00-INDEX. Signed-off-by: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] MAINTAINERS update Fix reference to digiboard maintenance status - the digiecpa driver obsoleted the original driver. Signed-off-by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Documentation/digiecpa.txt update Update status of digiecpa driver & fix broken links in Documentation/digiecpa.txt. Signed-off-by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] digiecpa MAINTAINERS update Update status of digiecpa driver in MAINTAINERS. Signed-off-by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] computone: Documentation/computone.txt update Minor cleanup and status update to Documentation/computone.txt. Signed-off-by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] computone: MAINTAINERS update Update status of Computone Intelliport driver in MAINTAINERS. Signed-off-by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] floppy: Updates to Documentation/floppy.txt Cleanup and update to Documentation/floppy.txt. Fix one incorrect option in listing. Signed-off-by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] document mmiowb and readX_relaxed a bit more in deviceiobook.tmpl This is a small patch to deviceiobook.tmpl to describe the new mmiowb routine a bit more completely. I've also updated it to provide pointers to drivers that do write flushing, use mmiowb, and use the readX_relaxed routines. Acked-by: Grant Grundler Signed-off-by: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] saa7111.c: fix VIDEO_MODE_SECAM VIDEO_MODE_SECAM was incorrectly writing the contents of cached register 14 back to hardware register 8, rather than using cached register 8. Signed-off-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] therm_adt746x: gradually change fan speed and start both fans on Albooks Here's the patch that supercedes the one I asked you to drop. It changes the fan speed logic so that the fans will go incrementally fast instead of using just two steps. Also, it starts and stops both fans instead of just one on Powerbooks 15" and 17" (functionality asked by most of the Albooks users on Debian's ML, and justified by the fact that fan 1 and fan 2 do not correspond to CPU and GPU, as we previously thought). Signed-off-by: Colin Leroy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] parisc: use fixups for exception support Revamp exceptions support to use fixup sections Committed-by: Randolph Chung [PATCH] parisc: export global fixup routines export global fixup routines Committed-by: Randolph Chung [PATCH] parisc: Add memory clobber to userspace syscall wrapper Add memory clobber to userspace syscall wrapper provided by kernel, this matches glibc definition. Committed-by: Carlos O'Donell [PATCH] parisc: Fix LBA/SBA bugs - Fix Astro/Elroy LMMIO space reporting in /proc/iomem. - Output in /proc/iomem include PCI bus number and "Extra LMMIO" range. - LBA now reports proper addresses routed down from SBA. - add mercury_cfg_ops. This fixes the tg3 init delay problem. PDC took ~20ms per PCI cfg write. tg3 performs ~1600 writes (~30 seconds per NIC) during init. Alternative is the relocate PDC to host ram. But that would burn ~4MB of RAM. This is cheaper. - add PCI_F_EXTEND to asm/pci.h - replaces private definitions Committed-by: Grant Grundler [PATCH] parisc: fix CONFIG_DISCONTIGMEM support fix CONFIG_DISCONTIGMEM support Committed-by: Randolph Chung [PATCH] parisc: new memcpy routines - new memcpy routine, replaces memcpy, bcopy, copy_{from,to,in}_user implementations - workaround gcc-3.0 limitations for asm() - Pip and Rufus pointed out the flaw in the current misaligned memcopy routines. Randolph now owes lots of Milk bones. - updates to work with testsuite - sparse annotations - Improve copy performance for small and unaligned copies - Enable merge optimization for non-PA20 builds too Committed-by: Randolph Chung Committed-by: James Bottomley [PATCH] parisc: register cpus with sysfs register cpus with sysfs Committed-by: Randolph Chung [PATCH] parisc: dump the stack on a BUG() dump the stack on a BUG() Committed-by: Randolph Chung [PATCH] parisc: Stop exporting the old memcpy symbols Stop exporting the old memcpy symbols Committed-by: Randolph Chung [PATCH] parisc: remove lcopy_*_user remove the now unused lcopy_*_user routines Committed-by: Randolph Chung [PATCH] parisc: fix PTRACE_GETEVENTMSG PTRACE_GETEVENTMSG was not 64-bit clean, fix it Committed-by: Randolph Chung [PATCH] parisc: new syscalls Add new syscalls: tkill, waitid, fadvise64_64, set_tid_address, tgkill, mbind, [sg]et_mempolicy, {,l,f}{set,get,list,remove}xattr, timer_{create,settime,gettime,getoverrun,delete}, clock_{settime,gettime,getres,nanosleep} Committed-by: Matthew Wilcox [PATCH] parisc: fix security hole The default interruption handler "handle_interruption" does not properly check to see if the faulting space is the same as the users space. The problem lies in the fact that if a fault happens on the gateway we will not deliver signals to the process, the process will not die, and we may continue handling the same fault in a loop forever. Any malicious user code can crash the kernel by jumping into the gateway page at an inopportune address. The solution is to check if the user has the right privilege and if the spaces match, both faulting and currently active. The best action is to force the process back to it's own space of execution at address zero, and let it take a SIGSEGV. The process can never recover from this because it happens immediately after the return from the interrupt via rfi or rfir. Committed-by: Carlos O'Donell [PATCH] parisc: superio cleanup Superio cleanup Committed-by: Grant Grundler [PATCH] parisc: checksum improvements Small tweaks to the checksumming routines Fix a corner case in csum_partial Committed-by: Randolph Chung [PATCH] fbdev: workaround for broken X servers XFree (and X.org) has both always been broken in their conversion of the DPMS blanking mode when passing to the kernel ioctl FBIOBLANK (in fbdev mode). This patch makes sure that at least the value passed by userland stays in the legal range, which has the side effect that an X DPMS POWERDOWN request will result as an fbdev VESA_POWERDOWN request at the fbdev level now, instead of an out-of-range value. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] atyfb: Fix power management The new atyfb has the return value for the Power Management routine wrong. This prevents sleep from working on PowerBooks with mach64 video chips. This fixes it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds NTFS: Modify fs/ntfs/aops.c::mark_ntfs_record_dirty() so it allocates buffers for the page if they are not present and then marks the buffers belonging to the ntfs record dirty. This causes the buffers to become busy and hence they are safe from removal until the page has been written out. Signed-off-by: Anton Altaparmakov [PATCH] fix SCSI bounce limit Just had a case with a gdth adapter not working in a 16GB box. Seems to me that the SCSI bounce decision is completely screwy - it returns the device dma mask, if it is set only and the box doesn't have an iommu. So if we can't get the mask, we allow any io. Not so good. I think the logic should be more as follows: if (isa) return bounce_above_isa; if (has_iommu) return bounce_nothing; if (we_know_device_dma_mask) return mask; else return default_to_32bit; Patch corrects scsi_calculate_bounce_limit() to actually work partly sanely. Signed-off-by: Jens Axboe Signed-off-by: James Bottomley [IPV6]: Do not purge default routes by RA. Signed-off-by: Hideaki YOSHIFUJI Signed-off-by: David S. Miller [TCP]: Modular ipv6 support in tcpdiag This patch allows tcpdiag to support ipv6 work as a module when itself is also a module. I was planning for a more extensible method but now I think the effort would be better directed at a new generic socket netlink interface than the TCP-specific tcpdiag. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [NET]: Move local_bh_enable back in dev_queue_xmit Based upon a patch from Herbert Xu: > Hi Ingo: > > Your recent fix to dev_queue_xmit moved the local_bh_disable to > include stuff like skb_linearize and skb_checksum_help. These > are potentially expensive operations. Since they don't need to > run with preempt off, we could simply move the local_bh_enable > up instead. No, this breaks the normal return path. How about this instead? Signed-off-by: Tommy S. Christensen Signed-off-by: David S. Miller kbuild: Prefer Kbuild as name of the kbuild files The kbuild syntax is unique and does only have very few things in common with usual Makefile syntax. So to avoid confusion make the filename 'Kbuild' be the preferred name as replacement for 'Makefile'. No global renaming planned to take place for now, but new stuff expected to use the new 'Kbuild' filename. Signed-off-by: Sam Ravnborg kconfig: drop usage of shared libraries Drop usage of shared libraries. It breaks on several non-i386 build environemnts - especially the ones popular for embedded development. This is a minimal version. Based on idea from Bertrand Marquis and patch from Dan Kegel. Signed-off-by: Sam Ravnborg ppc: fix building arch/ppc/boot/lib/ with make O= arch/ppc/boot/lib/ reuses zlib_inflate from lib/zlib_inflate but kbuild does not support two different places utilising the same .o file. It results in recompile for each build because options to compiler changes etc. So the trick used here is to make a copy of the required .c files. Acked-by: Tom Rini Signed-off-by: Sam Ravnborg kernel-doc: support for comma-separated members in structs and unions Fix the following warnings $ make sgmldocs ... Warning(include/linux/skbuff.h:283): No description found for parameter 'len,data_len,mac_len,csum' Warning(include/linux/skbuff.h:283): No description found for parameter 'local_df,cloned,pkt_type,ip_summed' Warning(include/linux/skbuff.h:283): No description found for parameter 'protocol,security' ... Warning(include/linux/skbuff.h:283): No description found for parameter 'head,*data,*tail,*end' ... by adding support for comma-separated members in structs and unions. Signed-off-by: Alexey Dobriyan Signed-off-by: Sam Ravnborg kernel-doc: print arrays in declarations correctly Do not convert arrays into pointers while generating documentation for them. I.e, print struct sk_buff { char cb[40]; }; as "char cb[40]", not "char * cb". Signed-off-by: Alexey Dobriyan Signed-off-by: Sam Ravnborg kernel-doc: don't print ... twice in variadic functions Signed-off-by: Alexey Dobriyan Signed-off-by: Sam Ravnborg kbuild: check timestamps on files for initramfs Add a comment to gen_initramfs_list.sh output that contains the numeric mtime of the last modified file in the source directory, or the mtime of the source list. This should cause the initramfs image to be rebuild if a file in the source directory changed, or the source list (if that was used rather than a directory as source). Signed-off-by: Martin Schlemmer Signed-off-by: Sam Ravnborg [IA64] implement pcibios_resource_to_bus and pcibios_bus_to_resource Patch from Matthew Wilcox: Since some ia64 platforms have non-identity-mapped PCI busses, we need to implement pcibios_resource_to_bus and pcibios_bus_to_resource. Also clean up some >80 column comments and delete an unnecessary parameter to pcibios_fixup_device_resources(). Signed-off-by: Tony Luck [IA64-SGI] Do not disable interrupts in ia64_sn_plat_specific_err_print ia64_sn_plat_specific_err_print() ends up calling vfree() which requires IPI which can deadlock if interrupts are disabled. Do not disable interrupts in ia64_sn_plat_specific_err_print(). Signed-off-by: Keith Owens Signed-off-by: Tony Luck [PATCH] sysfs: fix sysfs backing store error path confusion o sysfs_new_dirent to retrun 0 if kmalloc fails. Thanks to Milton Miller for spotting this. Signed-off-by: Maneesh Soni Signed-off-by: Greg Kroah-Hartman [PATCH] small sysfs cleanups The patch below does the following cleanups for the sysfs code: - remove the unused global function sysfs_mknod - make some structs and functions static Please check whether this patch is correct, or whether some of the things I made static should be used globally in the forseeable future. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman [PKT_SCHED]: tcf_action: copy generic stats via TCA_ACT_STATS Dumps the statistic common to all action modules via the newly introduced TLV type TCA_ACT_STATS in tcf_action_copy_stats but allows the corresponding module to dump its own statistic by implementing the get_stats callback. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: gact: use gnet_stats for action stats Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: ipt: use gnet_stats for action stats Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: mirred: use gnet_stats for action stats Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: pedit: use gnet_stats for action stats Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: police: use gnet_stats for action policer stats Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: police: use gnet_stats for old policer stats Transforms old policer to use generic statistic via TCA_STATS2 and maintain backward compatibility via TCA_STATS. Adds a new API for classifiers to invoke the dumping process. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: cls_*: use tcf_police_dump_stats to dump via new gnet_stats API Signed-off-by: Thomas Graf Signed-off-by: David S. Miller USB: fix up pl2303 device ids that ended up getting duplicated. Signed-off-by: Greg Kroah-Hartman [GNET_STATS]: Export gnet_stats_start_copy_compat to modules. Signed-off-by: David S. Miller [IA64-HP] Fix for bits_wanted in sba_iommu.c bits_wanted is expanded to bytes using the wrong shift value (when iovp_shift != PAGE_SHIFT), resulting in an explosion of used iommu resources. This potentially results in mistakenly running out of DMA mapping resources when the system is under *heavy* i/o load. Signed-off-by: Nigel Croxon Signed-off by: Alex Williamson Signed-off-by: Tony Luck [PATCH] dummy_hcd: minor fixups Although this is the first patch in a series of six, it's not closely related to the others. This includes a whole bunch of simple cleanups for the dummy-hcd driver, all of which fall into the following categories: Convert explicit container_of() to type-safe inline functions, Minimize reliance on global variables. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] dummy-hcd: Refactor startup and shutdown This patch reorganizes the startup and shutdown code in the dummy-hcd driver to make it consistent with all the other host controller drivers. For example, the platform device representing the HC hardware is allocated separately and given as an argument to the probe() and remove() routines, as it would be for a real device. This paves the way to making widespread and uniform changes in all the HCDs at once. Please apply. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] usb-serial: add interrupt out support and improved debug messages This patch adds equal support for interrupt out transfers to the usb serial core to match the current interrupt in support. It also improves a few debug messages, nothing major. Signed-off-by: Lonnie Mendez Signed-off-by: Greg Kroah-Hartman [PATCH] USB: fix bug Delete the second pci_set_master(), not the first one. Signed-off-by: Greg Kroah-Hartman [PATCH] USB: clean up error messages Neither requests to suspended devices nor control request stalls should ever log fault messages, they happen routinely; this stops such logging. There's also a better message for control/bulk timeout -- but after the HCD finishes unlinking the URB, not from 'swapper' in the timer callback! Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] usbcore: Make the core release hcd structures This patch contains changes to usbcore making the core responsible for deallocating memory for usb_hcd structures, rather than calling back into the host controller drivers. This solves a long-standing oops, since the drivers may have been unloaded from memory by the time the release routine is called. (There probably are some Bugzilla entries caused by this, but I don't know which ones.) To really fix this up properly will require merging the HCD "glue" layer into the higher core structures. As things stand now, a usb_hcd contains a usb_bus member, and the usb_bus is associated with a class_device: when the class_device is released the usb_hcd gets deallocated. It's awkward in that neither the usb_hcd nor the usb_bus has its own reference count, and the class_device is created when the bus is registered (not when it is initialized). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB PCI drivers: hcd release changes This patch removes the code for deallocating the usb_hcd structure from the three PCI-based host controller drivers. It also moves the embedded struct usb_hcd member to the front of the larger driver-specific structures, as required for the core to do its work. Please apply. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] Non-PCI OHCI drivers: remove hcd release This patch changes the non-PCI-based OHCI-related host controller drivers, removing the code that frees the driver-specific hcd structures. Unfortunately I am not able to test it, because I don't have the necessary hardware. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] dummy-hcd: removal hcd release This patch removes the hcd release code from the final host controller driver, dummy-hcd. Please apply. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] usbcore: add comment to updated hcd.h On Fri, 29 Oct 2004, David Brownell wrote: > Could you add a comment there that the HCD is > now _required_ to return a pointer that usbcore > can pass to kfree? Since that's a layering > violation (in anticipation of later changes to > make it not be one!), it's surprising ... and > in any case, the memory lifecycle is no longer > described just by the calls in this header! That's a reasonable request, and here's an extra patch to add the comment. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [NETLINK]: Hash sockets by pid if not multicast. Collaborative work between David S. Miller and Herbert Xu. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [PATCH] USB: ohci, remove pre-byteswapped constants This is the first of several patches from Dale Farnsworth, laying groundwork for a patch that supports OHCI on more chips (IBM STB04xxx and FreeScale MPC52xx). Replace pre-byteswapped constants for in-memory data structures in ohci.h with cpu-native constants, to help support "big-endian OHCI" hardware. Signed-off-by: Dale Farnsworth Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: ohci, hooks for big-endian registers This is the second of the patches from Dale Farnsworth to support OHCI implementations that use big-endian byte sex for registers ... all register accesses changed, that's why it's so large. (It also includes part of an update from his third patch, so that it compiles/runs by itself.) This patch adds support to the OHCI code for big-endian controllers, maintaining the existing little-endian support. This is done using the following transforms: ohci_readl(p) --> ohci_readl(ohci, p) writel(v, p) --> ohci_writel(ohci, v, p) cpu_to_le16(v) --> cpu_to_hc16(ohci, v) cpu_to_le16p(v) --> cpu_to_hc16p(ohci, v) cpu_to_le32(v) --> cpu_to_hc32(ohci, v) cpu_to_le32p(v) --> cpu_to_hc32p(ohci, v) le16_to_cpu(v) --> hc16_to_cpu(ohci, v) le16_to_cpup(v) --> hc16_to_cpup(ohci, v) le32_to_cpu(v) --> hc32_to_cpu(ohci, v) le32_to_cpup(v) --> hc32_to_cpup(ohci, v) OHCI_FRAME_NO(ohci->hcca) --> ohci_frame_no(ohci) There's no runtime penalty except for systems configured to handle both byteorders at the same time. Signed-off-by: Dale Farnsworth Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb gadget drivers, minor tweaks This has minor patches to the ethernet, file_storage, and zero gadget drivers. - Use longer "manufacturer" strings; CONFIG_LOCALVERSION would overflow. - Remove compile warning on file_storage with non-net2280 - Oops fix in ethernet gadget, on boards that don't report VBUS Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb gadget serial driver v2.0 This patch updates the serial gadget driver: - The bulk is Al Borcher's version 2.0 updates: * Use the new utilities to build config descriptors from tables. * Add CDC ACM support, which brings lots of goodness including interop with Windows. * Work better given PXA 25x hardware automagic. - I have a few minor tweaks. * Match the recent tty API change: from_user is gone!! * Define new product ID for the CDC ACM version, so Windows registry won't get confused by the non-ACM version. * Add OTG descriptor * Allocates packet buffers more efficiently on platforms like OMAP: use kmalloc not the dma-coherent allocator. Al has some docs on how to talk to Windows this, including an INF file. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: ohci-omap, updates for omap1510/5910 and innovator On OMAP-1510 the 48MHz DPLL used by USB is now set up earlier in the boot process. On Innovator, both host ports work by default. (Although USB2 conflicts with ttyS2, which you might prefer.) Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [NET]: Neighbour table entries counter needs to be atomic_t It is updated outside of locks, so... Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [PATCH] USB: add KC2190 support for usbnet. The patch below adds support for the KC2190 usb-to-usb networking device; the version I have reports itself as: Bus 001 Device 003: ID 050f:0190 KC Technology, Inc. I was under the impression that support for this had been added a long time ago, but searching through old kernel versions all I could find was a comment about the chip, with no support. Patch is against 2.6.9 but is pretty minimal. I don't have a Windows box around to test interoperability with that driver, but the patch appears to make it work perfectly between 2 Linux boxes. Signed-off-by: Jonathan McDowell Signed-off-by: Greg Kroah-Hartman [PATCH] cypress_m8: add usb-serial driver 'cypress_m8' to kernel tree This patch adds the cypress_m8 usb-serial driver for the Delorme Earthmate usb gps and the Cypress hid->com rs232 adapter to the kernel tree. Signed-off-by: Lonnie Mendez Signed-off-by: Greg Kroah-Hartman USB: fix sparse warnings in cypress_m8 driver Signed-off-by: Greg Kroah-Hartman [NET]: Zero out SIOCGIFHWADDR buffer if dev->addr_len is zero. This preserves 2.4.x behavior. Signed-off-by: David S. Miller [PATCH] avoid semi-infinite loop when mounting bad ext2 The routine ext2_readdir() will, when reading a directory page returns an error, try the next page, without reporting the error to user space. That is bad, and the patch below changes that. In my case the filesystem was damaged, and ext2_readdir wanted to read 60000+ pages and wrote as many error messages to syslog ("attempt to access beyond end"), not what one wants. [no doubt a similar patch is appropriate for ext3] [PATCH] PPC64 mmu_context_init needs to run earlier Using idr_get_new_above in init_new_context lets us get rid of an awkward init function which wasn't running early enough in boot anyway. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds [TCP]: Fix tcp_diag build with ipv6 completely disabled. Signed-off-by: David S. Miller [ACPI] remove obsolete blacklist entries (Andi Kleen) http://bugzilla.kernel.org/show_bug.cgi?id=3164 Signed-off-by: Len Brown NTFS: Fix stupid bug in fs/ntfs/attrib.c::ntfs_external_attr_find() in the error handling code path that resulted in a BUG() due to trying to unmap an extent mft record when the mapping of it had failed and it thus was not mapped. (Thanks to Ken MacFerrin for the bug report.) Signed-off-by: Anton Altaparmakov NTFS: Drop the runlist lock after the vcn has been read in fs/ntfs/lcnalloc.c::__ntfs_cluster_free(). Signed-off-by: Anton Altaparmakov [PATCH] add READ_BUFFER_CAPACITY as read-ok command Patch is from Daniel Drake Signed-off-by: Jens Axboe Signed-off-by: Daniel Drake Signed-off-by: Linus Torvalds [PATCH] queue congestion threshold hysteresis We need to open the gap between congestion on/off a little bit, or we risk burning many cycles continually putting processes on a wait queue only to wake them up again immediately. This was observed with CFQ at least, which showed way excessive sys time. Patch is from Arjan. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds ppc32: Update MPC8xx code to quasi functional From: Dan Malek Signed-off-by: Robert P. J. Day Signed-off-by: Tom Rini [PATCH] add the physical device and the bus to the hotplug environment Add the sysfs path of the physical device to the hotplug event of class and block devices. This should solve the userspace issue not to know if the device is a virtual one and the "device" symlink will never be created, but we sit there and wait for it to show up not knowing when we should give up. Also the bus name is added to the hotplug event, so we don't need to reverse lookup in the /sys/bus/* directory which bus our physical device belongs to. This is e.g. the value matched against the BUS= key, that may be used in an udev rule. This is a PCI network card: ACTION=add SUBSYSTEM=net DEVPATH=/class/net/eth0 PHYSDEVPATH=/devices/pci0000:00/0000:00:1e.0/0000:02:01.0 PHYSDEVBUS=pci INTERFACE=eth0 SEQNUM=827 PATH=/sbin:/bin:/usr/sbin:/usr/bin HOME=/ This is a IDE CDROM: ACTION=add SUBSYSTEM=block DEVPATH=/block/hdc PHYSDEVPATH=/devices/pci0000:00/0000:00:1f.1/ide1/1.0 PHYSDEVBUS=ide SEQNUM=1017 PATH=/sbin:/bin:/usr/sbin:/usr/bin HOME=/ This is an USB-stick partition: ACTION=add SUBSYSTEM=block DEVPATH=/block/sda/sda1 PHYSDEVPATH=/devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/host1/target1:0:0/1:0:0:0 PHYSDEVBUS=scsi SEQNUM=1032 PATH=/sbin:/bin:/usr/sbin:/usr/bin HOME=/ Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman [PATCH] driver-model: comment fix in bus.c df_01_driver_attach_comment_fix.patch bus_match() was renamed to driver_probe_device() but the comment for device_attach() wasn't updated. This patch updates it. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman [PATCH] driver-model: bus_recan_devices() locking fix df_02_bus_rescan_devcies_fix.patch bus_rescan_devices() eventually calls device_attach() and thus requires write locking the corresponding bus. The original code just called bus_for_each_dev() which only read locks the bus. This patch separates __bus_for_each_dev() and __bus_for_each_drv(), which don't do locking themselves, out from the original functions and call them with read lock in the original functions and with write lock in bus_rescan_devices(). Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman [PATCH] driver-model: sysfs_release() dangling pointer reference fix df_03_sysfs_release_fix.patch Some attributes are allocated dynamically (e.g. module and device parameters) and are usually deallocated when the assoicated kobject is released. So, it's not safe to access attr after putting the kobject. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman [PATCH] driver-model: kobject_add() error path reference counting fix df_04_kobject_add_ref_fix.patch In kobject_add(), @kobj wasn't put'd properly on error path. This patch fixes it. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman [PATCH] driver-model: device_add() error path reference counting fix df_05_device_add_ref_fix.patch In device_add(), @dev wan't put'd properly when it has zero length bus_id (error path). Fixed. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman x86: regparm calling convention for exceptions and interrupts. This clarifies more of the x86 caller/callee stack ownership issues by making the exception and interrupt handler assembler interfaces use register calling conventions. System calls still use the stack. Tested with "crashme" on UP/SMP. kevent: fix build error if CONFIG_KOBJECT_UEVENT is not selected. Thanks to Serge Hallyn for pointing this out. Signed-off-by: Greg Kroah-Hartman [PATCH] kobject_uevent: fix init ordering Looks like kobject_uevent_init is executed before netlink_proto_init and consequently always fails. Not cool. Attached patch switches the initialization over from core_initcall (init level 1) to postcore_initcall (init level 2). Netlink's initialization is done in core_initcall, so this should fix the problem. We should be fine waiting until postcore_initcall. Also a couple white space changes mixed in, because I am anal. Signed-Off-By: Robert Love Signed-off-by: Greg Kroah-Hartman [PATCH] kobject_uevent: add MAINTAINER entry Attached patch adds a MAINTAINER entry for the kernel event layer. Signed-Off-By: Robert Love Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Patch for ub This is a relatively small changeset, to address small nagging problems. Andrew pointed me at the double registration specifically, so I had to do something about it. At least now Fabio's box won't collapse if he configures UB by mistake. Also, a few people complained that the help text was misleading. I have not done anything about the oops on disconnect which happens to Martin Schlemmer. It's next. After that I can get to Peter Jones' CD burning patch and doing resets. - Fix double kobject registration and eventual oops on unplug if a device is not cooperating. - Add a reference to usb-storage into the configuration help. - Just upping timeouts fixes my ZIP drive. - Max out the diag (trace) file size. - Set capacity to zero in case the media is absent. It works in 2.4.10-rc1. Either Al fixed the block layer, or the whole thing was a bug in ub.c (and sd.c) and a big misunderstanding. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman [PATCH] fix wrong kfifo_init buffer size argument kfifo_alloc tries to round up the buffer size to the next power of two. But it accidently uses the original size when calling kfifo_init, which will BUG. Acked-by: Stelian Pop Signed-off-by: Martin Waitz Signed-off-by: Linus Torvalds [ACPI] enable VIA quirk to fix audio interrupt on VIA_8233_5 http://bugzilla.kernel.org/show_bug.cgi?id=3175 Signed-off-by: David Shaohua Li Signed-off-by: Len Brown [ACPI] keep processor driver loaded even if acpi_disabled for benefit of powernow-k8 driver which depends on it but runs even if acpi is disabled. Signed-off-by: Andi Kleen Signed-off-by: Len Brown Make "unlock_buffer()" use the optimized "smp_mb__after_clear_bit()". "clear_buffer_locked()" is just a nicer name for a clear-bit, and on x86 (and others) we don't need any expensive memory barriers after that. [PATCH] PG_writeback: fix waitqueue_active memory barrier The spin_unlock() in rotate_reclaimable_page() is not a sufficient memory barrier. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix kernel BUG at fs/sysfs/dir.c:20! On Thu, Nov 04, 2004 at 12:52:38PM -0800, Greg KH wrote: > Hi, > > I get the following BUG in the sysfs code when I do: > - plug in a usb-serial device. > - open the port with 'cat /dev/ttyUSB0' > - unplug the device. > - stop the 'cat' process with control-C > > This used to work just fine before your big sysfs changes. There is a similar problem reported by s390 people where we see parent kobject (directory) going away before child kobject (sub-directory). It seems kobject code is able to handle this, but not the sysfs. What could be happening that in sysfs_remove_dir() of parent directory, we try to remove its contents. It works well with the regular files as it is the final removal for sysfs_dirent corresponding to the files. But in case of sub-directory we are doing an extra sysfs_put(). Once while removing parent and the other one being the one from when sysfs_remove_dir() is called for the child. The following patch worked for the s390 people, I hope same will work in this case also. o Do not remove sysfs_dirents corresponding to the sub-directory in sysfs_remove_dir(). They will be removed in the sysfs_remove_dir() call for the specific sub-directory. Signed-off-by: Maneesh Soni Signed-off-by: Greg Kroah-Hartman [PATCH] don't divide by zero on bad ext2 fs Experimented a bit more with mounting a bad ext2 filesystem. An immediate crash was caused by zero EXT2_BLOCKS_PER_GROUP(sb). The patch below (relative to 2.6.9) adds a few checks to make sure that things we divide by are not zero. [ACPI] disable PNPBIOS if ACPI, even without PNPACPI Signed-off-by: Len Brown [ACPI] delete duplicated code resulting from auto-merge [PATCH] Wireless Extension dropped patchlet This tiny bit of the last WE-17 patch was lost between me and you. I initially decided to wait to resubmit, but Chris Wedgwood reported that the MadWifi driver needs it. Sorry for not having pushed harder. I recreated this patch, and tested with 2.6.10-rc1, and Chris tested it with MadWifi. Would you mind pushing that up to Linus ? Changelog : o remove unneeded const o spelling + comments Signed-off-by: Jean Tourrilhes Signed-off-by: Jeff Garzik [ARM] sa11x0: use ID of -1 for single devices. [ARM] Optimise cache_is_xxx() macros. Add CONFIG_CPU_CACHE_VIVT and CONFIG_CPU_CACHE_VIPT and use these to conditionalise cache_is_xxx(). This allows unnecessary cache handling code to be removed by the compiler. NTFS: Rewrite handling of multi sector transfer errors. We now do not set PageError() when such errors are detected in the async i/o handler fs/ntfs/aops.c::ntfs_end_buffer_async_read(). All users of mst protected attributes now check the magic of each ntfs record as they use it and act appropriately. This has the effect of making errors granular per ntfs record rather than per page which solves the case where we cannot access any of the ntfs records in a page when a single one of them had an mst error. (Thanks to Ken MacFerrin for the bug report.) Signed-off-by: Anton Altaparmakov NTFS: Fix error handling in fs/ntfs/quota.c::ntfs_mark_quotas_out_of_date() where we failed to release i_sem on the $Quota/$Q attribute inode. Signed-off-by: Anton Altaparmakov NTFS: Fix bug in handling of bad inodes in fs/ntfs/namei.c::ntfs_lookup(). Signed-off-by: Anton Altaparmakov [ARM PATCH] 2185/1: Bit definitions for PXA PWER Patch from Matthias Burghardt Adds bit definitions for PXA Power Manager Wake-Up Enable Register (PWER) to pxa-regs.h Signed-off-by: Matthias Burghardt Signed-off-by: Nicolas Pitre Signed-off-by: Russell King [ARM PATCH] 2191/1: bugfix for PXA SSP Patch from Matthias Burghardt In ssp_init dev->port is not yet initialized. Thus it cannot be used as an argument for request_mem_region. This patch fixes that. [ARM PATCH] 2193/1: S3C2410 - fix wake mask for IRQEINT[0..3], and IRQ_RTC Patch from Ben Dooks Fix incorrect bit masking of the wake maskes for IRQs EINT0 through EINT3 and IRQ_RTC Signed-off-by: Ben Dooks Signed-off-by: Russell King NTFS: Minor cleanup of fs/ntfs/debug.c. Signed-off-by: Anton Altaparmakov [ARM PATCH] 2199/1: S3C2410 - fix warning in include/asm-arm/arch-s3c2410/dma.h Patch from Ben Dooks Make addr_reg an `void __iomem *` instead of an unsigned long. Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2203/1: trivial asm optimization for csum code Patch from Nicolas Pitre Signed-off-by: Nicolas Pitre Signed-off-by: Russell King [ARM PATCH] 2205/1: Fix compilation for IXDP425: typo in mach-ixp4xx/common.c Patch from Peter Chubb Fix a simple typo. [ARM PATCH] 2206/1: convert locomo to use platform_get_resource\platform_get_irq Patch from John Lenz Similar to sa1111.c, convert the locomo_probe function to use the platform_get_resource\platform_get_irq instead of accessing the pdev->resources array directly. [ARM PATCH] 2208/1: S3C2410 - pm updates and fixes Patch from Ben Dooks This fixes the following with s3c24xx power management: - debugging needs UARTs enabled, to re-enabled UART clocks, save their state over suspend, and add this to the current documentation - update the documentation on pm initialisation - fix bug reported by Dimitry Andric where __raw_writel() has arguments the wrong way around - fix typo (lower-case letter in S3C2410_GATSTUs2_OFFRESET) from Dimitry Andric - apply Arnaud Patard's patch for pm call types - move bits of resume code to use printk(KERN_DEBUG) as they are potentially before the UART resume, and are not critical if the system fails to re-start. Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2192/1: small optimization to {read|write}sl routines Patch from Nicolas Pitre Fold two tests in one. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King [ARM] Fix double compare with zero instructions. Accessing register index -1 causes vfp_get_double() to enter an infinite loop. Use VFP_REG_ZERO (value 16) and provide code to emulate a sixteenth register which always returns 0.0 [ARM] Versatile: patch-2.6.9-icst307 Patch from Catalin Marinas Add ICS307 clock support [ARM] Versatile: patch-2.6.9-common Patch from Catalin Marinas Common changes for Versatile PB and AB usb: don't "unsuspend" ports that aren't suspended It apparently really confuses some things (Apple keyboard internal hub for one, but possibly others). Fix USB debugging build. Too much cut-and-paste, hidden by the fact that without debugging, "dev_dbg()" doesn't even look at its arguments. [ARM] Versatile: patch-2.6.9-ab / patch-2.6.9-pb Patch from Catalin Marinas Versatile/AB code after splitting core.c Versatile/PB code after splitting core.c [ARM] Versatile: Remove CONFIG_MMC ifdef blocks These are no longer necessary since MMC support is now merged. [ARM PATCH] 2210/1: S3C2410 - export symbols from arch/arm/mach-s3c2410/gpio.c Patch from Ben Dooks Added missing exports of the functions in gpio.c Thanks to Dimitry Andric for pointing this out Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2211/1: S3C2410 - fix idcode of S3C2410A Patch from Ben Dooks Fix IDCODE for S3C2410A to add missing zero in hex number Thanks to Russell King for pointing this out Signed-off-by: Ben Dooks Signed-off-by: Russell King [ide] shrink hw_regs_t sata_[misc,scr] and priv are write-only Signed-off-by: Bartlomiej Zolnierkiewicz [ARM PATCH] 2209/1: OMAP - only offer OMAP systems if CONFIG_ARCH_OMAP Patch from Ben Dooks Ensure that TI OMAP systems are only offered if the system is configured for TI OMAP. Signed-off-by: Ben Dooks Signed-off-by: Russell King [ide] ns87415: PA-RISC update From: Grant Grundler (minor changes by me - bart) Move Superio (NatSem 87560) IDE hacks into the ns87415 driver instead of exporting IDE data structures. To date, only PA-RISC port is known to use the 87560 chip. Signed-off-by: Bartlomiej Zolnierkiewicz [ide] ns87415: small cleanup ide_hwif_setup_dma() calls pci_set_master() if necessary. pci_set_master() (indirectly via pcibios_set_master()) sets PCI_LATENCY_TIMER to a "reasonable" value. Signed-off-by: Grant Grundler Signed-off-by: Bartlomiej Zolnierkiewicz [ARM PATCH] 2194/1: Change OMAP serial port init to use autodetection Patch from Tony Lindgren This patch changes OMAP serial ports to use the standard 8250 autodetection. Signed-off-by: Tony Lindgren Signed-off-by: Russell King [ARM PATCH] 2195/1: Updates to OMAP clock framework Patch from Tony Lindgren This patch by Tuukka Tikkanen updates the OMAP clock framework. It also contains a patch by Juha Yrjölä to enable 216MHz rate on 16xx. Signed-off-by: Tony Lindgren Signed-off-by: Russell King [ide] remove some cruft from ide.h From: Chris Wedgwood (minor changes by me - bart) Remove some accumulated (unused) cruft from ide.h Signed-off-by: Bartlomiej Zolnierkiewicz [ide] (partially) unify hdreg.h & ata.h Signed-off-by: Chris Wedgwood Signed-off-by: Bartlomiej Zolnierkiewicz [ide] remove debugging delay from CS5520 driver From: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz [PATCH] w1/w1_family: replace schedule_timeout() with msleep_interruptible() Description: Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman [PATCH] w1/w1: replace schedule_timeout() with msleep_interruptible() Description: Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman [PATCH] w1/dscore: replace schedule_timeout() with msleep_interruptible() Description: Uses msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman [PATCH] w1/w1_int: replace schedule_timeout() with msleep_interruptible() Description: Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman usb: remove totally bogus OHCI iomem casts The __iomem attribute was correctly set, and trying to remove it just causes more problems. [PATCH] I2C: lm85.c driver update Signed off by: Justin Thiessen [PATCH] I2C: remove dead code from i2c i2c-core.c has a few never used functions, patch below removes these dead functions. Signed-off-by: Arjan van de Ven Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: New LM63 chip driver This is a new I2C chip driver named lm63, which supports National Semiconductor's LM63 hardware monitoring chip. The LM63 is similar to the LM86 (which we do support through our lm90 driver) with additional monitoring and control of a single fan. It is obviously aimed at the CPU and high-end graphics adapters markets. This new driver is very similar in nature to the lm83 and lm90 driver so I don't have much to add. I developed the driver on a request from Hard Data Ltd. which are using Tyan S4882 boards where four LM63 chips are used (one for each CPU). Tyan provided remote access to a test system so that I could test my driver on real LM63 chips. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman [PATCH] i2c it87.c: remove an unused function The patch below removes an unused function from drivers/i2c/chips/it87.c Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: New PC8736x chip driver This is my port of the pc87360 driver. It supports the hardware monitoring functions of the National Semiconductor PC8736x Super-I/O family. The PC87360, PC87363 and PC87364 only do fan monitoring and control. The PC87365 and PC87366 additionally have voltage and temperature monitoring. The driver was ported upon request from Wincor-Nixdorf, and tested by Rolf Müller there. I wish to thank Rolf for his very efficient cooperation. Please apply, thanks. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman I2C: fix MODULE_PARAM warning in pc87360.c driver Signed-off-by: Greg Kroah-Hartman W1: fix build warnings due to msleep changes. Signed-off-by: Greg Kroah-Hartman PCI: remove kernel log message about drivers not calling pci_disable_device() Signed-off-by: Greg Kroah-Hartman [ACPI] Allow limiting idle C-States. Useful to workaround C3 ipw2100 packet loss, reducing noise or boot issues on some models. http://bugme.osdl.org/show_bug.cgi?id=3549 For static processor driver, boot cmdline: processor.acpi_cstate_limit=2 For processor module, /etc/modprobe.conf: options processor acpi_cstate_limit=2 For manual processor module load: # modprobe processor acpi_cstate_limit=2 From kernel or kernel module: #include acpi_set_cstate_limit(2); Inspired by patches from Jos Delbar and Andi Kleen Signed-off-by: Len Brown [PATCH] PCI: kill old PCI changelog There's not much value in shipping a changelog who's last update was five years ago. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: add pci_fixup_early Port Ivan's early PCI fixups patch to 2.6.10-rc1. Also fix some indentation to make it less than 80 columns. From: Ivan Kokshaysky Signed-off-by: Greg Kroah-Hartman [PATCH] Lock initializer unifying Batch 2 (PCI) To make spinlock/rwlock initialization consistent all over the kernel, this patch converts explicit lock-initializers into spin_lock_init() and rwlock_init() calls. Currently, spinlocks and rwlocks are initialized in two different ways: lock = SPIN_LOCK_UNLOCKED spin_lock_init(&lock) rwlock = RW_LOCK_UNLOCKED rwlock_init(&rwlock) this patch converts all explicit lock initializations to spin_lock_init() or rwlock_init(). (Besides consistency this also helps automatic lock validators and debugging code.) The conversion was done with a script, it was verified manually and it was reviewed, compiled and tested as far as possible on x86, ARM, PPC. There is no runtime overhead or actual code change resulting out of this patch, because spin_lock_init() and rwlock_init() are macros and are thus equivalent to the explicit initialization method. That's the second batch of the unifying patches. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Greg Kroah-Hartman bk-kbuild utsname fix sound/core/info.c:31: sound/utsname.h: No such file or directory sound/core/info.c: In function `snd_info_version_read': sound/core/info.c:965: parse error before `CONFIG_SND_VERSION' sound/core/info.c:962: warning: unused variable `kernel_version' Signed-off-by: Andrew Morton Signed-off-by Sam Ravnborg [PATCH] PCI: ASPM patch for This is the ASPM patch against 2.6.10-rc1-mm2. As mentioned in my last email, this patch has a slight difference than the one for 2.6.10-rc1, because the irqbalance quirk was moved from drivers/pci/quirks.c in 2.6.10-rc1 to arch/i386/kernel/quirks.c in 2.6.10-rc1-mm2. Signed-off-by: Dely Sy Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: add PCI ROMs to sysfs Linus has requested that the sysfs rom attribute be changed to require enabling before it works. echo "0" to the attribute to disable, echoing anything else enables the rom output. The concern is that something like a file browser could inadvertently read the attribute and change the state of the hardware without the user's knowledge. The attached patch includes the previous patch plus the enabling logic. [root@smirl 0000:02:02.0]# [root@smirl 0000:02:02.0]# cat rom cat: rom: Invalid argument [root@smirl 0000:02:02.0]# echo "1" >rom [root@smirl 0000:02:02.0]# hexdump -C -n 20 rom 00000000 55 aa 60 e9 d6 01 00 00 00 00 00 00 00 00 00 00 |U.`.............| 00000010 00 00 00 00 |....| 00000014 [root@smirl 0000:02:02.0]# echo "0" >rom [root@smirl 0000:02:02.0]# hexdump -C -n 20 rom hexdump: rom: Invalid argument [root@smirl 0000:02:02.0]# Signed-off-by: Jon Smirl Signed-off-by: Greg Kroah-Hartman [PATCH] cyclades.c: replace pci_find_device As pci_find_device is going away I've replaced it with pci_get_device. If someone with this hardware could test it I would appreciate it. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman Kbuild: avoid backup localversion files Avoid including as localversion-files the *~ files, i.e. backup files. If I have localversion-a and localversion-a~, I don't want both to be used. Nor I want to use localversion*~ anyway. Don't code that as $(wildcard localversion*[^~]) as that would exclude "localversion" from the wildcard expansion result, because it requires at least one character after localversion to exist in the name file. I.e., Signed-off-by: Paolo 'Blaisorblade' Giarrusso kernel-doc: Print preprocessor directives correctly. Print preprocessor directives (usually "#ifdef CONFIG_SOMETHING" and "#endif") in structs definitions correctly (-text, -html, sgmldocs, htmldocs, pdfdocs, mandocs). Correctly means: - on the separate line - starting from column 0 - not glued to the type of the next member - not breeding if members are separated by comma - not imitating pointers to functions ("#if defined(CONFIG_X)...") - not giving bogus warnings because of this imitation Signed-off-by: Alexey Dobriyan Signed-off-by: Sam Ravnborg [ide] apply undecoded slave fixup only for ide-cs From: Alan Cox (some changes by me - bart) We add probe_hwif_init_with_fixup (seperate naming as requested by Bartlomiej). This runs a fixup on present interfaces before attaching the drives. In order to be useful we need also an _with_fixup version of ide_register_hw function. The sometimes troublesome undecoded slave detector is moved to its own function and exported so that ide-cs and the upcoming delkin_cb can both use it (along with any arch specific cf/pcmcia drivers I don't know about). The non-relevant checks for this scenario are removed. Signed-off-by: Bartlomiej Zolnierkiewicz [ide] siimage: fix the various SI3112 hangs From: Alan Cox (some changes by me - bart) The current driver looks at fields before it is safe to, we move the mod15rm bug handler to be a fixup and this ensures the probe has been completed before we use the ident data. Signed-off-by: Bartlomiej Zolnierkiewicz [SUNGEM]: Use CONFIG_PPC_PMAC throughout. Fixes some build failures ala bugme bugzilla #3706 Signed-off-by: David S. Miller [PKT_SCHED]: Initialize lists of builtin qdiscs. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: Builtin qdiscs should avoid all qdisc_destroy() processing. None of the code in __qdisc_destroy should be applied to a builtin qdisc or am I missing something? The patch below prevents builtin qdiscs from being destroyed and fixes a refcnt underflow whould lead to a bogus list unlinking and dev_put. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: Remove old estimator code, no longer used. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: Fix rcu_assign_pointer fallout, use it in the right place The patch 'RCU: use rcu_assign_pointer()' http://linux.bkbits.net:8080/linux-2.6/diffs/net/sched/sch_api.c@1.39?nav=index.html|src/net/|src/net|src/net/sched|related/net/sched/sch_api.c|cset@1.2287 changed a list_add_tail to list_add_tail_rcu in qdisc_create. It's dev->qdisc not dev->qdisc_list that is protected by RCU, this patch reverts that change. It also removes a misleading comment and replaces the smp_wmb in qdisc_create_dflt by rcu_assign_pointer in dev_activate to document more clearly what is protected. Signed-off-by: David S. Miller [IPV6]: Fix mca_sfcount[] refcounting in error path. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller [PATCH] moxa - dead code removal Moxa is short the final cleanup from the tty changes so has extra wakeup calls that can go [ACPI] ACPICA 20041105 from Bob Moore Implemented support for FADT revision 2. This was an interim table (between ACPI 1.0 and ACPI 2.0) that adds support for the FADT reset register. Implemented optional support to allow uninitialized LocalX and ArgX variables in a control method. The variables are initialized to an Integer object with a value of zero. This support is enabled by setting the acpi_gbl_enable_interpreter_slack flag to TRUE, which is default unless booted with "acpi=strict". Implemented support for Integer objects for the SizeOf operator. Either 4 or 8 is returned, depending on the current integer size (32-bit or 64-bit, depending on the parent table revision). Fixed a problem in the implementation of the SizeOf and ObjectType operators where the operand was resolved to a value too early, causing incorrect return values for some objects. Fixed some possible memory leaks during exceptional conditions. [PKT_SCHED]: pedit: Convert jiffies values to USER_HZ when dumping Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: mirred: Convert jiffies values to USER_HZ when dumping Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: gact: Convert jiffies values to USER_HZ when dumping Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: ipt: Convert jiffies values to USER_HZ when dumping Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [NETFILTER]: Don't use skb_header_pointer in amanda conntrack helper Fixes broken packets, noticed by Matthias Andree Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [DECNET]: Route RCU fix This patch fixes a missing _bh in the 23 August locking update. Without this any attempt to read from /proc/net/decnet_cache causes a 'scheduling while atomic' crash. Signed-off-by: Patrick Caulfield Signed-off-by: David S. Miller [DECNET]: Fix return codes This patch fixes the return codes from sendmsg/recvmsg when a signal happens. Instead of always returning ERESTARTSYS (which confuses X11 rather badly) it should return EINTR for non-blocking operations. Signed-off-by: Patrick Caulfield Signed-off-by: David S. Miller [NET]: Get rid of unused global counter in neighbour This patch gets rid of an unused global counter in neighbour.c. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [PKT_SCHED]: Fix device leaks in mirred action When a mirred action is created it takes two references to the device (dev_get_by_index + dev_hold), but only drops one when it gets destroyed. It also leaks a reference when a mirred action is replaced. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [NETLINK]: Fix pid rover code. I'm not setting the rover pointer at all. Here's a patch to fix that. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [PATCH] hw_random: Remove changelog from hw_random.txt Remove pre-merge changelog from Documentation/hw_random.txt Signed-off-by: James Nelson Signed-off-by: Jeff Garzik [PATCH] net/Kconfig: undo duplicate patch application Signed-off-by: Jeff Garzik [PATCH] hamradio/hdlcdrv: undo duplicat patch application Signed-off-by: Jeff Garzik [PATCH] ata.h undefined types in USB This is todays BK on a x86: CC [M] drivers/usb/storage/freecom.o In file included from include/linux/hdreg.h:4, from drivers/usb/storage/freecom.c:32: include/linux/ata.h:197: error: parse error before "u32" ... and so on for tens of lines. Signed-off-by: Jeff Garzik Remove silly comment from linux/ata.h. XFER_xxx is not necessarily "legacy IDE 'stuff'" [Bluetooth] Use usb_kill_urb() for synchronous unlink The usb_unlink_urb() for synchronous unlink is deprecated and should be replaced by usb_kill_urb(). Signed-off-by: Marcel Holtmann [Bluetooth] Add function for triggering a link key change This patch adds the hci_conn_change_link_key() function that allows to trigger a link key change for an existing connection. Signed-off-by: Marcel Holtmann kconfig: fix xconfig and gconfig Patch that disabled use of loadable modules broke qconf and gconf. Fixed by disabling this also for these targets. Signed-off-by: Sam Ravnborg [Bluetooth] Support responses with zero SCID According to the Bluetooth specification there is no need to fill in the SCID on a failing response. Without a SCID the L2CAP core can't find the corresponding request for it. In the case of the zero SCID the signal identifier should be used to match the response to its request. Signed-off-by: Marcel Holtmann [Bluetooth] Make some functions static This patch makes some needlessly global functions static. Signed-off-by: Adrian Bunk Signed-off-by: Marcel Holtmann Revert x86-64 flexmap code for now For some as-yet unclear reason, it seems to break legacy 32-bit apps on x86-64. Cset exclude: ak@suse.de[torvalds]|ChangeSet|20041102230307|11901 Remove stale 0-byte files They happen with "bk cset -x" - it only undoes the data changes, not the metadata updates. [ARM] Eliminate include/asm-arm/arch-*/serial.h Convert all platform serial tables to use a serial8250 platform device rather than declaring a static table in include/asm-arm/arch-*/serial.h. This change integrates patches from Sascha Hauser to update H720x serial support, and Tony Lindgren to update OMAP serial support. [ARM] Update h720x for timer changes. Patch from Sascha Hauser Update H720x for system timer changes. [ARM PATCH] 1956/2: Re: Motorola i.MX serial driver Patch from Sascha Hauer Here is an updated version of the patch: - updated the patch according to Russell's comments - added proper sysrq handling - update rx counter Sascha Hauer [ARM] Update mach-types. [PATCH] make cdu31a work on at least one system I've got a Sony CDU33A drive with COR334 controller. The Linux cdu31a driver was not updated for 2.6 kernel so it does not work. Here are patches that try to make the driver working with 2.6 kernel: - fix the timeout values in header file - Make the driver work in 2.6.X - Added workaround to fix hard lockups on eject - Fixed door locking problem after mounting empty drive - Set double-speed drives to double speed by default - Removed all readahead things - not needed anymore It does work on my system. I also know that it's still broken - it uses cli(), MODULE_PARM and it's also not very fast (I _never_ reached full 300KB/s with it, but I know that it's possible in Windows) and probably many other things (I'm new to Linux kernel) - so I'm waiting for comments. Do EFI partitions only on ia64. Yes, they might be useful somewhere else too, but the EFI discovery code is so fragile that it's not worth the bother. EFI people informed. aio: remove incorrect initialization of "nr_pages" We should not claim to have filled in the ring_pages[] array until we actually _do_ fill it in. It will confuse the code that frees the structure if we claim there are pages there that don't exist. Noted by Darrick Wong. pc110 touchpad driver: be more polite The PC110 touchpad driver used to just assume that the hardware exists, even though in fact the hw is extremely rare indeed, and just requesting all the resources might stomp on some _other_ hardware. Try to minimize the damage by realizing that the touchpad hw only exists on old ISA-only hardware, and if we have found a PCI device, we should not try to load the touchpad driver. Verified to fix things for Andries Brouwer. [ARM PATCH] 2213/1: lh7a40x serial.h cleanup Patch from Marc Singer As requested, this patch removes the include/asm-arm/arch-lh7a40x/serial.h header. [ARM PATCH] 2214/1: S3C2410 - add missing RTCCON defs Patch from Ben Dooks Add missing RTCCON definitions Signed-off-by: Ben Dooks Signed-off-by: Russell King [PATCH] fix HPET time_interpolator registration Fixup after mid-air collision between Christoph adding time_interpolator.mask, and me removing a static time_interpolator struct from hpet. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] icom makefile fix The new icom.o isn't in drivers/serial/Makefile. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] "PORT_ICOM" defination for icom adapter "PORT_ICOM" is not defined. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport lock_page() It's static inline. Weird. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sparc32: revert sys_setaltroot Description: revert sys_setaltroot Signed-off-by: Clemens Buchacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] bootmem use NODE_DATA Whilst looking at simplifying the implmentation of i386 initialisation code I noticed the following. This change allows these routines to be used in both node based and flat memory models which allows more of the init code to be common in these models. Convert the default non-node based bootmem routines to use NODE_DATA(0). This is semantically and functionally identical in any non-node configuration as NODE_DATA(x) is defined as below. #define NODE_DATA(nid) (&contig_page_data) For the node cases (CONFIG_NUMA and CONFIG_DISCONTIG_MEM) we can use these non-node forms where all boot memory is defined on node 0. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] prio_tree: fix prio_tree_expand corner case Currently we use prio_tree_root->index_bits to optimize the height of both the initial heap-and-radix indexed levels of a prio_tree as well as the heap-and-size indexed overflow-sub-trees. Please see the accompanying prio_tree documentation patch for further details. When index_bits is increased in prio_tree_expand we shuffle the initial heap-and-radix indexed levels to make sure that vmas are placed in the tree at appropriate places. Similarly, since the overflow-sub-trees' heights also depend on prio_tree_root->index_bits we should shuffle all the overflow-sub-trees when index_bits changes. However, I missed to take care of this in my implementation. Recently Stefan Hornburg (Racke) reported the problem and patiently tested the trace patches. Hugh Dickins produced the trace patches that helped to detect the bug. Moreover, Hugh reduced the crash test case to few lines of code. Thanks to both of them. The easy fix is to disable prio_tree_expand code completely. That may lead to skewed trees in some common cases. Hence, this patch takes a different approach. This patch fixes the problem by not optimizing the height of the overflow-sub-trees using prio_tree_root->index_bits. Now all overflow-sub-trees use full BITS_PER_LONG bits of size_index to place the vmas (that have the same start_vm_pgoff) in an overflow-sub-tree. This may result in skewed overflow-sub-trees because all bits in vm_pgoff above prio_tree_root->index_bits will be 0 (zero). However, processes rarely map many vmas with the same start_vm_pgoff and different end_vm_pgoff. Therefore, such skewed sub-trees should be very rare. Signed-off-by: Rajesh Venkatasubramanian Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] prio_tree: add Documentation/prio_tree.txt Add prio_tree.c documentation. Signed-off-by: Rajesh Venkatasubramanian Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix find_next_best_node() If NUMA is enabled, find_next_best_node is responsible for helping build the zonelist for each pgdat in the system. However, if one sets PENALTY_FOR_NODE_WITH_CPUS to a large value in an attempt to prefer nodes w/o CPUs, the local node is erroneously placed after all nodes w/o CPUs in the pgdat's zonelist. This small patch fixes that by just checking if the local node is part of the zonelist yet, and if not, returns it first. Signed-off-by: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] tmpfs: CONFIG_TMPFS=n mount fix My tmpfs superblock changes in 2.6.9 messed up mount -t tmpfs when CONFIG_TMPFS is not enabled: it wrongly claimed to succeed, and left the directory unusable, giving "Not a directory" errors thereafter. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] more hardirq.h consolidation PREEMPT_BITS, SOFTIRQ_BITS, PREEMPT_SHIFT, SOFTIRQ_SHIFT and HARDIRQ_SHIFT are the same for all architectures (and chaning them in future ports doesn't make a lot of sense), so move them to . Make the HARDIRQ_BITS definition guarded by #ifndef HARDIRQ_BITS instead of CONFIG_GENERIC_HARDIRQS so we have a saner way to override it once ports with lots of irq sources are changed to use the generic hardirq framework. Ingo, maybe we should change the default for it back to 8 as that's what most ports use? Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: CPM2 bug Rune has determined that: res6 should be 94 bytes long. However... It does work @ 92 bytes because the compiler alligns the next struct (pci_cpm2_t) on a int boundary anyways (no packing specified fo the structs) I tested it with a module that pronted out the address of the PCI struct that follows the sit_cpm2_t struct. Imap = 0xF0000000 With res6[92] im-pci is @ 0xf0010430 With res6[94] im-pci is @ 0xf0010430 So we're saved by the compiler. Here's the patch Signed-off-by: Rune Torgersen Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Add support for Sandpoint X2 Adrian Cox has modified the Sandpoint code to once again work on the older X2 version of the board. The older version has a number of are on the older version. Signed-off-by: Adrian Cox Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Fix pmac_zilog as console pmac_zilog wasn't properly updating port->timeout, thus broke with serial console. I'm not sure if that timeout thing was added recently or not, since the driver used to work fine. This patch fixes that, and adds some proper SYSRQ support. By default, BREAK is used for sysrq, though some Apple zilog's seem to have non-working BREAK detection logic, thus the driver has a #define option you can manually enable when debugging to do SYSRQ with ctrl-O instead (like pSeries virtual consoles). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Fixup includes include/asm-ppc/time.h has a slightly odd include list which means that some files include and also hope to get others that they really shouldn't be. This makes use (time_t) and (struct rtc_time) instead of , and fixes up the fallout from the change. Compile-tested on lite5200, walnut and defconfig, along with by-hand'ing everything else that included . Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: add PPC440GX L2C error handler This patch adds an L2-Cache error handler. In addition, it reenables setup of the L2 cache based on erratum L2C0_1 now that we have been reassured that there are no more faulty parts being shipped. If there is a problem, the error handler will report it. Signed-off-by: Eugene Surovegin Signed-off-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: iSeries iommu cleanups This patch just does some cleanups of iSeries_iommu.c remove lots of unneeded includes use list_for_each_entry white space formatting No semantic changes. Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: VIO iommu table property parsing wrong With current firmware, the ibm,my-dma-window property now contains two panes for VSCSI server nodes. This breaks the current tests in the setup code. There's a bunch of references to pre-GA firmware bugs. That's a while ago, so we can remove the workarounds without breaking anyone. Signed-off-by: Olof Johansson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: Add option for oprofile to backtrace through spinlocks Now that spinlocks are always out of line, oprofile needs to backtrace through them. The following patch adds this but also adds the ability to turn it off (via the backtrace_spinlocks option in oprofilefs). The backout option is included because the backtracing here is best effort. On ppc64 the performance monitor exception is not an NMI, we get them only when interrupts are enabled. This means we can receive a profile hit that is inside a spinlock when our PC is somewhere completely In this patch we check to make sure the PC of the performance monitor exception as well as the current PC is inside the spinlock region. If so then we find the callers PC. If this is not true we play it safe and leave the tick inside the lock region. Also, now that we execute the SLB handler in real mode we have to adjust the address range that we consider as valid real mode addresses. Otherwise the SLB miss handler will end up as unknown kernel profile hits. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: iommu fixes, round 3 This patch is from John Rose . This patch changes the following iommu-related things: - Renames the [i,p]series versions of iommu_devnode_init(), to keep things logically separate where possible. - Moves iommu_free_table() to generic iommu.c - Creates of_cleanup_node(), which will directly precede the dynamic removal of any device node Signed-off-by: John Rose Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: iSeries_pci.c use for_each_pci_dev() This patch is from Hanna Linder. As pci_find_device is going away using the new for_each_pci_dev macro. If someone with a PPC64 system could test it I would appreciate it. Signed-off-by: Hanna Linder Signed-off-by: Maximilian Attems Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: pmac_pci.c replace pci_find_device with pci_get_device This patch is from Hanna Linder. As pci_find_device is going away using the new for_each_pci_dev macro. Signed-off-by: Hanna Linder Signed-off-by: Maximilian Attems Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: pSeries_pci.c use for_each_pci_dev() This patch is from Hanna Linder. As pci_find_device is going away using the new for_each_pci_dev macro. Signed-off-by: Hanna Linder Signed-off-by: Maximilian Attems Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: pSeries_iommu.c use for_each_pci_dev This patch is from Hanna Linder. As pci_find_device is going away using the new for_each_pci_dev macro. Signed-off-by: Hanna Linder Signed-off-by: Maximilian Attems Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: u3_iommu.c use for_each_pci_dev() This patch is from Hanna Linder. As pci_find_device is going away I've replaced it with pci_get_device and pci_dev_put. Signed-off-by: Hanna Linder Signed-off-by: Maximilian Attems Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] UP local APIC bootstrap cleanup Here is a patch to do some cleanup to code affected by the recent change to the bootstrap code responsible for enabling the local APIC. It adds a message about how to get the APIC enabled if previously disabled by the BIOS to aid people expecting the former behavior. It removes some P4-specific code that's become dead as a result of the change. Finally it improves a couple of inaccurate comments. This has been agreed to be reasonable. Signed-off-by: "Maciej W. Rozycki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86, x86_64: Only handle system NMIs on the BSP While discussing races in the NMI handler's trailer fiddling with RTC registers, I've discovered we incorrectly attempt to handle NMIs coming from the system (memory errors, IOCHK# assertions, etc.) with all processors even though the interrupts are only routed to the bootstrap processor. If one of these events coincides with a NMI watchdog tick it may even be handled multiple times in parallel. Here is a fix that makes application processors ignore these events. They no longer access the NMI status bits at I/O port 0x61 which has also the advantage of removing the contention on the port when the I/O APIC NMI watchdog makes all processors arrive at the handler at the same time. Signed-off-by: Maciej W. Rozycki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ptrace POKEUSR: add comment about the DR7 check. The DR7 register on i386/x86_64 has a special meaning, so there is a special check to do. Since the code is rather difficult, I added an explaination about it. Also, while studying the i386 Intel Manual, I saw that x86_64, even on 32bit emulation, allows using values which are disallowed on i386. It's almost obvious that what it allows is setting a 8-byte wide data watchpoint (in fact I double checked the AMD manuals, just in case, and this is true; I couldn't find a mention of this in my Intel manuals). But since the original ia32 emulation code has this comment: /* You are not expected to understand this ... I don't neither. */ I am dubious that the code in ptrace32.c is wrong: does x86_64 supports 8byte-wide watchpoints in 32-bit emulation? I've checked the AMD manual Vol. 2 (no. 24593), which says that to set the length to 8 bits "long mode must be enabled". This means, actually, that the current code is safe, notwithstanding the comment (which I removed). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Roland McGrath , Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Add p4 clockmod Add links for p4-clockmod driver in x86-64 cpufreq. AK: Made it dependent on EMBEDDED because the driver is only useful in some special situations and should be normally not used. Signed-off-by: "Venkatesh Pallipadi" Signed-off-by: Andi Kleen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86-64: Fix broken NMI change Fix an obviously broken change someone did to the x86-64 NMI handler. reason would get used uninitialized, causing random misbehaviour in the NMI handler and gcc rightly complained about it. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mmtimer driver update: add SHub interrupt support - mmtimer: add support for the use of hardware timers on SGI SHubs (sn subarch) via the posix timer interface. - Allows the scheduling of up to 3 hardware interrupts per node to deliver signals to processes running on those nodes. - Periodic timers in user space capable of supporting intervals down to 10us (<10us supported but will usually result in excessive overruns). - Scheduling accuracy of 40ns. (However, typically it takes at least a few usecs for an interrupt to be forwarded to a signal in user space.) - Add missing SHub information to include/asm-ia64/sn/shub_mmr.h - Reserve timer interrupt used in include/asm-ia64/sn/intr.h Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] m32r: fix arch/m32r/lib/memset.S This patch fixes arch/m32r/lib/memset.S. Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] m32r: fix for use of Mappi PCC Here is a patch to fix compile errors for an Mappi evaluation board. - Just change from CONFIG_M32RPCC to CONFIG_M32R_PCC. Thanks to Naoto Sugai for reporting. Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: fix ptrace() hang on 2.6.9 host due to host changes From: Gerd Knorr , Paolo 'Blaisorblade' Giarrusso Uml was using kill(pid, SIGKILL) instead of ptrace(PTRACE_KILL, pid), which used to work, while being probably undocumented. Due to the changes in 2.6.9 to the ptrace(2) semantics, with the introduction of TASK_TRACED by Roland McGrath, this does not more work, so this patch should fix it. With help of Gerd Knorr report and analysis, and its early fix of this problem. He fixed the problem by sending SIGCONT to the child processes after SIGKILL. Which IMHO should not be needed (I think this is a regression, which he already reported). I improved his one, by replacing the SIGCONT hack with using PTRACE_KILL instead. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml - some comments about forcing /bin/bash Changes a comment about forcing /bin/bash as shell for the UML Makefile. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: add startup check for mmap(...PROT_EXEC...) from /tmp. This adds a check that /tmp is not mounted noexec. UML needs to be able to do PROT_EXEC mmaps of temp files. Previously, a noexec /tmp would cause an early mysterious UML crash. (Actually, not /tmp but $TMP, which often is the same). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: fix syscall auditing Correct the entry_exit parameter for syscall_trace when tracing syscalls. It was the reverse of the needed value. (i.e. it was 1 on entry and 0 on exit). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: fix symbol conflict in linking Since arch/um/kernel/tt/unmap_fin.o is linked statically, it could contain some symbols also contained in the rest of vmlinux; on some systems, this actually happens (due to some glibc differences). Since that file *must* be linked statically and then relinked (its code must remap the whole .text area except the section it is contained in during UML startup), we cannot change this. So, we use objcopy to turn all symbols into local ones except for switcheroo(), which is the only function actually defined in the source (the other ones are brought in during linking). This shouldn't hurt other systems, while improving the behaviour on affected ones (there is still another issue I'm trying to fix). And it is logically always needed (i.e., without this UML has just happened to work until now). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: cleanup header names Rename headers with the same name to avoid specifying the complete path for including them. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: remove useless inclusion Avoid including some unused headers. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: no duplicate current_thread definition From: Paolo 'Blaisorblade' Giarrusso Jeff Dike Currently there are two distinct definitions of current_thread_info (which has its usual meaning) and current_thread (which is the same thing); so define the second to be the first (for UML compatibility). If needed, a search & replace \ to current_thread_info and removing current_thread can be done (that would be a separate, low-priority patch, however). Also, since the involved headers include each other very deeply, we must fix somehow this recursive inclusion or things won't compile. Jeff Dike noted that this can be done easily, since the nasty chain of includes can be broken by eliminating an include of current.h, and implemented this. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: mconsole_proc simplify and partial fix From: Gerd Knorr , and me, Paolo Giarrusso This is a rewrite of the mconsole_proc function. The old code had the problem that the kernel crashed after calling "uml_mconsole proc " a few times. I havn't tracked what exactly causes the problem, I guess trying to access the procfs without actually mounting it somewhere causes some corruption of kernel data structures. The new code simply openes /proc/ via sys_open(). That simplifies the function alot. It also doesn't crash any more ;) Also, from Paolo Giarrusso: When printing the content of a file through the "proc" command, make it begin on his own line. PROBLEMS: Drawback is that it only works when procfs is actually mounted below /proc. And within UML, often this is false, because when building honeypots we mount HPPFS under /proc to avoid the hacker recognizing he's attacking a UML instance. One suggestion I've received to fix the later issue was to mount the procfs within a kernel thread with a private namespace, but I havn't tried that so far. Instead, we'd like to fix the actual code of the mconsole_proc function. From "Anthony Brock" Anthony_Brock (at) ous (dot) edu comes a comment, suggesting where the bug lays (as noted in the source): removing part of the code (it seems the symlink lookup) there are no more crashes. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: catch EINTR in generic_console_write Make generic_console_write() catch the EINTR error code and retry doing the calls accordingly. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: remove SIGPROF from change_signals From: Paolo 'Blaisorblade' Giarrusso Jeff Dike Since local_irq_save() and local_irq_disable() should match (apart from saving the flags), get/set_signals must match [un]block_signals, i.e. change_signals; since get/set_signals don't enable/disable SIGPROF (and this behaviour is safe as explained in the comment the patch adds, since the profiling code does not interact with the kernel code), not even change_signals must toggle it. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: use kallsyms when dumping stack This patch makes UML use print_symbol() when dumping the stack. It is not yet complete (the i386 version uses the frame pointers to walk the stack, for instance), but should be at least enough. Also, it uses bust_spinlock() when dumping errors to help them reach the console. This appears not to be enough - however I analyzed the UML console code, and it seems that UML console don't get flushed *at all* when exiting. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: revert compile-only changes for other ones I'm reverting the compile-time fixes to replace them with a bigger change, which also happens to fix the compilation problem. The change is in next patches. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: fix sysemu test at startup From: Paolo 'Blaisorblade' Giarrusso Bodo Stroesser Jeff Dike Currently, the test for the SYSEMU support on the host is completely wrong, as Bodo noticed. We should change the syscall result (inserting the host pid) and check if it is received correctly by the guest. What we actually do, without this patch, is to overwrite the syscall number. This went unnoticed because we only check that the getpid() syscall from the child does not return its pid. We don't check that it returns the correct value. Also, override the result portably, using the PT_SYSCALL_RET_OFFSET macro which abstract away the host stack frame layout (took from Jeff Dike code). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: more careful test startup From: Paolo 'Blaisorblade' Giarrusso Bodo Stroesser While testing the host ptrace(2) features, we modify the stack frame of a test child which is doing a syscall (namely getpid). Either we override the syscall number or the return value, which become the parent's pid, or we don't, and the return value is the child's pid. Actually, we only compared the return value with the child's pid, so we did not notice a bug where the return value happened to be different from both. So I added a stricter test here. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: use PTRACE_SYSEMU also for TT mode From: Jeff Dike Paolo 'Blaisorblade' Giarrusso As Jeff Dike noted, even if SYSEMU was originally written for use in SKAS mode, there is nothing SKAS specific in SYSEMU, so use it for TT mode, too. SYSEMU simply allows one to ptrace(PTRACE_SYSEMU) a process, that will stop on the syscall entry path like with PTRACE_SYSCALL, but with the difference that it makes sure that the syscall execution is totally skipped and that the child will see the return value set by the ptracer when the child was stopped. We even hope that the SYSEMU patch can be merged in mainline sooner than SKAS. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: Lots of little fixes by Jeff Dike. From: Jeff Dike This is a large set of small fixes and other changes: Fixed a file descriptor leak in the network driver when changing an IP address. The port channel now sets SO_REUSEADDR. Added some initcall and exitcall definitions to arch/um/include/init.h so that they can be used from userspace code. Fixed the error handling in run_helper. Added the log() facility to mem_user.c. Fixed a problem with recursive segfaults not being handled correctly. tty_log_fd and umid aren't added to the command line any more. Fixed some prints. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: clear errno in CATCH_EINTR To avoid silly messages coming out during debugging or when things break, after that we've read in CATCH_EINTR that errno == EINTR, clear it, so that it's 0 in next iteration. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: re-add linux Makefile target - fixes to the old version. We have re-added the "linux" target which just creates a hardlink to vmlinux. It was noted (sorry for forgetting who said this) that "make ARCH=um" will leave an old "linux" file, since the target is not listed in .PHONY. Using a symlink, instead of an hard link, was suggested because the hard link does not get updated with make vmlinux. But mv linux $destpath (the most meaningful installation command) is broken, so I instead added linux to .PHONY. Obviously, linux will not be rebuilt on "make vmlinux ARCH=um", but this makes sense (if people use the new way, don't use old tricks). Anyway, we remove "linux" in any case. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: add missing newline in help string Add missing newline in help string for "nosysemu" param. Run ./vmlinux --help before and after to see the difference. Trivial - must go in. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: update atomic.h so UML builds cleanly The comment should be self-explanatory. This works around a pile of nasty-looking build output. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: handle signal api This first patch lays some groundwork needed by the others. From: Bodo Stroesser - Change the interface to handle_signal so that it doesn't take the system call return value as an argument and eliminate its return value. kern_do_signal also now doesn't return immediately after determining that there is no signal to deliver. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: sysenter is syscall From: Bodo Stroesser - Change is_syscall to check for sysenter and also that we are actually executing a system call. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: generic singlestep syscall From: Bodo Stroesser - Make singlestep_syscall generic rather than being restricted to tt mode. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: generic singlestepping From: Bodo Stroesser - Make singlestepping() generic. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: clear singlestep The patch syscall-security-3 is wrong (provided by me, sorry). I missed, that singlestepping_skas() used to reset PT_DTRACE. This was handled differently in tt and skas. With syscall-security-3 applied, a process in SKAS that singlestepped once continues to singlestep until the next systemcall occurs, even if it is resumed with PTRACE_CONT or PTRACE_SYSCALL. This fix unifies the usage of PT_DTRACE in TT and SKAS. PT_DTRACE now is set by ptrace(PTRACE_SINGLESTEP,...) and reset by singlestepping() and it is evaluated in kern_do_signal(). Signed-off-by: Bodo Stroesser Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: dont check NR_syscalls Remove an unnecessary and even dangerous check in is_syscall() The bug was inserted by my patch syscall-security-1. Signed-off-by: Bodo Stroesser Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: set DTRACE correctly From: Bodo Stroesser - Set PTRACE_DTRACE and singlestep_syscall correctly. Pass out TRACESYSGOOD and make sure the parent gets notified in ptrace_syscall. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: mxb driver and i2c helper cleanup The attached patch cleans up my Video4Linux "MXB" driver and the i2c helper chipset drivers used by that cards. I ran Lindent on the files and fixed some other coding style violations, which makes the patch rather big. But besides the MODULE_PARM => module_param there have been no crucial changes. - [V4L] mxb: replace MODULE_PARM with module_param - [V4L] saa7111: replace MODULE_PARM with module_param - [V4L] tda9840: replace MODULE_PARM with module_param, re-indent code with Lindent, remove unnecessary header includes, code simplification - [V4L] tea6415c: replace MODULE_PARM with module_param, re-indent code with Lindent, remove unnecessary header includes, code simplification - [V4L] tea6420: replace MODULE_PARM with module_param, re-indent code with Lindent, remove unnecessary header includes, code simplification Signed-off-by: Michael Hunold Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: keep tvaudio driver away from saa7146 The attached patch keeps the tvaudio i2c helper module away from any saa7146 based framegrabber. All saa7146 drivers have their dedicated i2c helper modules and don't work together with tvaudio, so keep it away alltogether. This will make mixed-card configurations work. The patch was discussed and ack'ed by Gerd Knorr. - don't attach tvaudio module on saa7146 i2c busses Signed-off-by: Michael Hunold Acked-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] meye: module related fixes - use module_param() instead of MODULE_PARM() and __setup() - use MODULE_VERSION() Signed-off-by: Stelian Pop Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] meye: replace homebrew queue with kfifo Signed-off-by: Stelian Pop Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] meye: picture depth is in bits not in bytes Signed-off-by: Stelian Pop Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] meye: do lock properly when waiting for buffers Signed-off-by: Stelian Pop Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] meye: implement non blocking access using poll() Signed-off-by: Stelian Pop Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] meye: cleanup init/exit paths Signed-off-by: Stelian Pop Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] meye: the driver is no longer experimental and depends on PCI Signed-off-by: Stelian Pop Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] meye: module parameters documentation fixes Signed-off-by: Stelian Pop Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] meye: add v4l2 support Signed-off-by: Stelian Pop Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] meye: whitespace and coding style cleanups Signed-off-by: Stelian Pop Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] meye: bump up the version number Signed-off-by: Stelian Pop Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] meye: cache the camera settings in the driver Retrieving the current settings from the camera does not work very well, we need to cache the values in the driver. Signed-off-by: Stelian Pop Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sonypi: documentation fixes In the latest round of updates for the sonypi driver, I fergot to send the attached patch which fixes the driver documentation. The patch contains mostly whitespace fixes and some additional information regarding the input layer usage. Signed-off-by: Stelian Pop Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] videodev2.h patchlet The following patchlet to videodev2.h brings in the "__user" definition from linux/compiler.h, making it suitable for inclusion in both kernel or user code. Signed-off-by: Stelian Pop Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove journal callback code from jbd With the demise of intermezzo, the journal callback stuff in jbd is entirely unused (neither ext3 nor ocfs2 use it), and thus will only bitrot and bloat the kernel with code and datastructure growth. If intermezzo ever gets resurrected this will be the least of the problems they have to face (both with generic kernel as jbd). Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbcon: Do not touch hardware if vc_mode != KD_TEXT The frambuffer console is still writing to the graphics hardware even if the hardware is not owned anymore by the console. This can lead to crashes with some hardware. A trace of the source indicates that it comes from almost anywhere, anytime. The fix is to return immediately if vc_mode != KD_TEXT. The test is placed in the following functions if not already present. fbcon_cursor() fbcon_putcs() fbcon_clear() fbcon_bmove() fbcon_blank() Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Fix access to ROM in aty128fb Fix access to ROM in aty128fb. Found by sparse. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Fix IO access in rivafb Fix IO access in rivafb: - change NV_RD*/WR* macros to use read*/write* family - use NV_RD*/WR* to access IO memory - add __iomem annotations Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbcon: Add box drawing glyphs to 6x11 font From: David Lazar I've tried to use the 6x11 (mac console) font on the framebuffer console (on the x86 architecture), and I've noticed that the font didn't have the correct box drawing glyphs. As a result I've used as a model the 8x16 font and edited the glyphs for all 256 US ASCII characters, so that they display correctly. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Fix source copy bug in neofb Fix copy system-io copy bug. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbcon/fbdev: Remove fbcon-specific fields from struct fb_info The following fields in struct fb_info is specific only to fbcon: - struct timer_ cursor_timer - int currcon Remove them from struct fb_info and place them in fbcon_par so they become invisible from the drivers. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: atyfb_base.c requires atyfb_cursor() atyfb_base.c requires atyfb_cursor, but it is only available for linking if CONFIG_FB_ATY_CT=y. This patch moves the .o file to the CONFIG_FB_ATY rule. Signed-off-by: Olaf Hering Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Fix atyfb cursor problems Fix atyfb cursor problems: - oops with noaccel option - CONFIG_FB_ATY_CT dependency problem Signed-off-by: Ville Syrjala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Set correct mclk/xclk values for aty in ibook The first iBook needs special mclk/xclk values, or the screen will show only garbage. A patch like this went into 2.4.23. It stopped working after 2.6.10-rc1. http://linux.bkbits.net:8080/linux-2.4/cset@3f966ca7mqKxZorh7Uw2SBAuVbv3mA It was discussed here: http://marc.theaimsgroup.com/?t=106345749200001&r=1&w=4 Signed-off-by: Olaf Hering Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Check for intialized flag before registration in matroxfb In matroxfb_set_par, a flag is set to nonzero which is checked after register_framebuffer(). If this flag is zero, the driver will initialize the hardware. This is necessary because info->currcon (previously checked by matroxfb) has been removed from struct fb_info. Signed-off-by: Antonino Daplas Acked-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbcon: "Do not touch hardware if vc_mode != KD_TEXT: fix Sigh, this patch uncovered a can of worms. I tested different combinations, those with/without xxxfb_blank implementation, framebuffers in directcolor or truecolor, etc. I find that there is a problem unblanking if the hardware has no xxxfb_blank() implementation, and also that the generic fb_blank() in fbmem.c is problematic with drivers in directcolor or pseudocolor mode when called by an fb application such as X. Display blanking is implemented in three ways: 1. using the drivers blanking implementation - info->fbops->fb_blank() 2. clearing the screen with the console erase character - fbcon_blank() 3. setting the color map to all black - fb_blank() The third method is problematic for these reasons: - Setting the colormap to all black will not work in truecolor mode - In directcolor or pseudocolor, it will overwrite the fb application's color map, producing wrong colors. So, remove the generic implementation in fb_blank() and just return -EINVAL if there is no hardware implementation. This will be only used by apps doing an FBIO_BLANK ioctl, and is a more robust approach. Other changes: - Consolidated all tests and created an inlined helper function to check if the framebuffer console is inactive or not. - fix unblanking if driver has no xxxfb_blank() hook. I'm probably missing a few more things, but this patch should be generally correct. Please apply after the entire patch series to avoid rejects. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove two leftover files Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: intelfb code cleanup - fix problems in the __iomem annotation - remove builtinmodes.c - remove INTEL_*_PARAM and use module_param instead - remove intelfb_find_mode() and associated functions and use generic fb_find_mode() instead - trivial documentation fix Signed-off-by: Sylvain Meyer Acked-by: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbcon: Another fix for fbcon generic blanking code If the driver has no fb_blank hook, then the generic method is to clear the screen and then disallow writes to the framebuffer. However, if the console is leaving graphics mode (KD_GRAPHICS), it would update the screen first, then unblank. However, since writes to the framebuffers are disallowed, the update failes, and upon unblank, the screen is left empty except for the flashing cursor. (This happens, for example when switching from X to console). The fix is to allow writes to the framebuffer even if the console is blanked. To imitate a blank screen, the get_color() function will return the attributes of the erase character (black on black) if the console is blanked and if the driver has no fb_blank hook. I think this fixes the rest of the major bugs in the blanking code. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Don't ignore try_stop_module return Since 2.6.4 we've been ignoring the failure of try_stop_module: it will normally fail if the module reference count is non-zero. This would have been mainly unnoticed, since "modprobe -r" checks the usage count before calling sys_delete_module(), however there is a race which would cause a hang in this case. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] /proc/kcore - enable/disable. The presence of /proc/kcore is supposed to be configurable. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] VIA8231 support for parallel port driver This patch allows the kernel to configure port's mode without help of BIOS. It is needed on my machine because its firmware simply ignores the parallel port leaving in unidirectional SPP mode. Notes on usage: To configure the port you need to: - if parport_pc driver is compiled as a module: specify parport_pc init_mode=[spp|ps2|epp|ecp|ecpepp] in /etc/modules file (for Debian Linux). - if the driver is linked statically with the kernel: specify parport_init_mode=[spp|ps2|epp|ecp|ecpepp] in kernel's arguments. This patch is intended for use primarily on Pegasos machines but it will work on any computer with VIA8231 south bridge. In this case it will override BIOS setting if you tell the driver to configure the port. BIOS setting will be honored if you omit init_mode parameter. Technical details: 1. On Pegasos standard port settings (set by OpenFirmware) are: IRQ=7, DMA=3, base address=0x3BC, mode is unidirectional SPP. 2. The patch changes only port mode, all other settings are preserved. So if you have a PC with VIA8231 and use driver to configure the port you'll still be able to change IRQ, DMA and base address in BIOS and these settings will be kept. 3. One exclusion: if you tell the driver to turn on EPP mode (specify epp or ecpepp value) and if default base address is 0x3BC (this is the case on Pegasos) the port will be moved to 0x378. EPP port can't have 0x3BC as the base. Known problems: 1. ECP+EPP mode is strange, it doesn't work even on several PC's i tested with Linux. ECP mode is detected and EPP is not. So if you get the same thing, it's not my fault. I just have no time to deal with it, current result is enough for me. 2. Not all devices work on Pegasos, i tried my Genuis-HR6 parallel port scanner and parallel ZIP drive and both of them don't work. ZIP drive is detected properly but then suddenly gets offline. Scanner does not answer any command at all. Without the patch the same thing happens. Obviously Pegasos has some more problems which are not discovered and not fixed yet. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix alt-sysrq deadlock The sysrq code is taking a spinlock from both interrupt and process context in an unsafe and deadlocky manner. Move all those inlined functions out of sysrq.h, into sysrq.c then withdraw all those exported-to-modules helper functions then remove __sysrq_trylock_table() altogether and then use spin_lock_irqsave() in the appropriate places. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] SysRq-n changes RT tasks to normal Teach sysrq-N to switch all rt-policy tasks to SCHED_OTHER. For recovering from (and diagnosing) userspace bugs. Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix bug in i2o_iop_systab_set where address is used instead of length - Fixed bug in i2o_iop_systab_set where address is used instead of length Signed-off-by: Markus Lidel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove unused lookup_mnt export lookup_mnt() is entirely unused outside of deep vfs internals, remove the export since it's quite a low level interface anyway Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] kprobes: Minor i386 changes required for porting kprobes to x86_64 - Kprobes structure has been modified to support copying of original instruction as required by the architecture. On x86_64 normal pages we get from kmalloc or vmalloc are not executable. Single-stepping an instruction on such a page yields an oops. So instead of storing the instruction copies in their respective kprobe objects, we allocate a page, map it executable, and store all the instruction copies there and store the pointer of the copied instruction in the specific kprobes object. - jprobe_return_end is moved into inline assembly to avoid compiler optimization. - arch_prepare_kprobe() now returns an integer,since arch_prepare_kprobe() might fail on other architectures. - added arch_remove_kprobe() routine, since other architectures requires it. Signed-off-by: Prasanna S Panchamukhi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] kprobes: kprobes ported to x86_64 Adopted from i386 architecture. Kprobes: Helps developers to trap at almost any kernel code address, specifying a handler routine to be invoked when the breakpoint is hit. Useful for analysing the Linux kernel by collecting debugging information non-disruptively. Employs single-stepping out-of-line to avoid probe misses on SMP and may be especially useful in aiding debugging elusive races and problems on live systems. More elaborate dynamic tracing tools can be built over the kprobes interface. Sample usage: To place a probe on __blockdev_direct_IO: static int probe_handler(struct kprobe *p, struct pt_regs *) { ... whatever ... } struct kprobe kp = { .addr = __blockdev_direct_IO, .pre_handler = probe_handler }; register_kprobe(&kp); Jprobes: A special kprobe type which can be placed on function entry points, and employs a simple mirroring principle to allow seamless access to the arguments of a function being probed. The probe handler routine should have the same prototype as the function being probed. The way it works is that when the probe is hit, the breakpoint handler simply irets to the probe handler's rip while retaining register and stack state corresponding to the function entry. After it is done, the probe handler calls jprobe_return() which traps again to restore processor state and switch back to the probed function. Linus noted correctly at KS that we need to be careful as gcc assumes that the callee owns arguments. We save and restore enough stack bytes to cover argument space. Sample Usage: static int jip_queue_xmit(struct sk_buff *skb, int ipfragok) { ... whatever ... jprobe_return(); return 0; } struct jprobe jp = { {.addr = (kprobe_opcode_t *) ip_queue_xmit}, .entry = (kprobe_opcode_t *) jip_queue_xmit }; register_jprobe(&jp); Signed-off-by: Prasanna S Panchamukhi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] VFS maintainer email address updates viro has moved. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Fix ext3_dx_readdir When there are more than one entry in fname linked list, the current implementation of ext3_dx_readdir() can not traverse all entries correctly in the case that call_filldir() fails. If we use system call readdir() to read entries in a directory which happens that "." and ".." in the same fname linked list. Each time we call readdir(), it will return the "." entry and never returns 0 which indicates that all entries are read. Although chances that more than one entry are in one fname linked list are very slim, it does exist. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove dead kernel_map_pages export Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove dead exports from random.c Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport do_settimeofday Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Minor fix of RCU documentation The attached patch fixes an incorrect example in Documentation/RCU/listRCU.txt - the "original" lock-based code should not call RCU functions, of course. Signed-Off-By: Jan "Yenya" Kasprzak Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] documentation: Remove drivers/char/README.computone Remove deprecated file in drivers/char. Signed-off-by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] documentation: Remove drivers/char/README.cyclomY Remove obsolete file from drivers/char. Signed-off-by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] documentation: Remove drivers/char/README.ecpa Remove unneeded file from drivers/char. Signed-off-by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] documentation: Remove drivers/char/README.scc Remove unneeded file in drivers/char. Signed-off-by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] tipar: Documentation/tipar.txt cleanup Minor cleanup of Documentation/tipar.txt. Signed-off-by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ramdisk: Correction to Documentation/kernel-parameters.txt Remove deleted module option in Documentation/kernel-parameters.txt Signed-off-by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Fix building of samba userland After 2.6.8.1, samba userland would no longer build with current kernel headers, as it needs some of the samba kernel headers to work, yet they included outside of __KERNEL__. Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Use add_hotplug_env_var() in firmware loader The add_hotplug_env_var() function is available and so use it in the firmware class code. Signed-off-by: Marcel Holtmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Add __KERNEL__ to The following adds a __KERNEL__ check to . The problem is that the ppp package includes via , which in turn gets . Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix pnpbios fault message When your plug-n-play BIOS is truly broken and generates a fault during use, we report this and suggest disabling it. The message produced suggests using "nobiospnp" to achive this, the correct option is "pnpbios=off". This patch upates the message. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix initcall_debug on ppc64/ia64 ia64 and ppc64 have function descriptors. Booting with initcall_debug will print the descriptor address, not the address and name of the actual function. Another indirection is required. Tested on ppc, ppc64 and ia64. Signed-off-by: Olaf Hering Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Check character flags in ppp_async ldisc Although it was checking the per-character error flags supplied by the driver for ordinary characters, the ppp_async line discipline code wasn't checking the flags for special characters, such as the flag and escape characters (~ and }). This patch adds that check. Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Add argument-less ppdev ioctls to compat_ioctl.h ppdev's ioctls are not available for 32bit apps on 64bit systems. There are four ioctls which take no argument at all (so they are compatible between 32bit and 64bit), these numbers do not clash with any other ioctl code, and so I see no reason why not applying patch below. It solves problem VMware users are faced on 64bit systems if they want to use direct access to the parallel port. Signed-off-by: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix bttv oops in btcx_riscmem_free Signed-off-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] minix_clear_inode fix The patch below fixes two flaws in minix_clear_inode. The first is that it tests bh which is never initialized. (&bh is a parameter of minix_V1_raw_inode, but that routine can fail and return before it has set bh) The second is that generic_delete_inode() goes BUG() in case inode->i_state != I_CLEAR. Clearly, it is expected that inode->i_sb->s_op->delete_inode does a clear_inode() at some point. But minix_delete_inode() calls minix_free_inode() and that routine can print an error and return early, before calling clear_inode(). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] panic_blink and i8042 unloading At unload i8042 sets panic_blink to 0. This will cause problems if kernel panics later as it will just use it assuming that the pointer is correct. Signed-off-by: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds fbdev: fix compile of rivafb on __BIG_ENDIAN Typo introduced by latest cleanups by Antonino [Bluetooth] Some trivial s/int/unsigned int/ In http://janitor.kernelnewbies.org/TODO, Jeff Garzik states: "unsigned int" is preferred to "int", it generates better asm code on all platforms except sh5. Signed-off-by: Carlo Perassi Signed-off-by: Marcel Holtmann [PATCH] rivafb: big-endian IO access fixes In big endian machines, the read*/write* accessors do a byteswap for an inherently little endian PCI bus. However, rivafb puts the hardwire in big endian register access, thus the byteswap is not needed. So for 16- and 32-bit access, instead of read*/write*, use __raw_read*/__raw_write* for all archs. Signed-off-by: Antonino Daplas Signed-off-by: Linus Torvalds I2C: remove probe_range from I2C sensor drivers, as it's not used. Signed-off-by: Greg Kroah-Hartman I2C: remove ignore_range from I2C sensor drivers, as it's not used. Signed-off-by: Greg Kroah-Hartman I2C: remove normal_isa_range from I2C sensor drivers, as it's not used. Signed-off-by: Greg Kroah-Hartman I2C: fix i2c_detect to allow NULL fields in adapter address structure. Signed-off-by: Greg Kroah-Hartman I2C: moved from all sensor drivers from normal_i2c_range to normal_i2c Signed-off-by: Greg Kroah-Hartman I2C: delete normal_i2c_range logic from sensors as there are no more users. [PATCH] I2C: fix lm85.c build warnings Signed-off-by: Justin Thiessen Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: Check for unregistered adapter in i2c_del_adapter The patch adds a check at the beginning of i2c_del_adapter in case someone attempts to remove an adapter that was never added in the first place. This sounds like a good safety, as doing so will lead to an oops at the moment. Also, I have a need for it in the latest version of my i2c-amd756-s4882 patch. I need to remove the original adapter and install the virtual ones instead, but I have no way to know if the original adapter was succesfully added beforehand or not. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman [PATCH] i2c/busses/ : make some code static The patch below makes some needlessly global code under i2c/busses/ static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman [PATCH] S3C2410 i2c updates This patch integrates several fixes to the s3c2410 i2c driver Shannon Holland: - write IICCON in configuration code - add handling for s3c2410 i2c errata - fix clock rate divisor calculation Ben Dooks: - s3c2440 detection - s3c2440 IICLC register setup - add __exit to the module exit - remove return from exit code Signed-off-by: Ben Dooks Signed-off-by: Shannon Holland Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: add Tyan S4882 driver Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman wait_task_stopped() must not just return 0 when it has released the tasklist_lock. Since it released the lock, the process lists may not be valid any more, and we must repeat the loop rather than continue with the next parent. Use -EAGAIN to show this condition (separate from the normal -EFAULT that may happen if rusage information could not be copied to user space). [PATCH] kprobes: Minor changes for sparc64 Minor changes required to port kprobes for sparc64. - arch_prepare_kprobe() returns an integer. - added arch_remove_kprobe(). - changes to access copy of original instruction, since kprobe_opcode_t insn[MAX_INSN_SIZE] is moved from struct kprobe to a struct arch_specific_insn. Signed-off-by: Prasanna S Panchamukhi Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Fix dm_io.c oops in low memory conditions. If you call drivers/md/dm-io.c:resize_pool on an empty pool and mempool_create is unable to make the pool, the condition is not handled correctly, resulting in an oops in mempool_destroy. Trivial fix. [IPV6] Fix unresolved symbol timer_bug_msg. Closed: Bug#3717 (by John Goerzen ) Signed-off-by: Hideaki YOSHIFUJI [ACPI] ibm ACPI 0.8 by Chris Wright and Borislav Deianov Signed-off-by: Len Brown [ARM PATCH] 2182/1: apcs-32 and alignment-traps command line options are deprecated in gcc-4.0 Patch from George G. Davis Recent gcc-4.0 and gcc-csl-arm-branch tool chains no longer include support for apcs-32 and alignment-traps command line options. This patch tests for presence of these deprecated c/l options and uses new gcc-4.0 c/l options instead if they are not supported by the current toolchain. Signed-off-by: George G. Davis Signed-off-by: Russell King [ARM PATCH] 2215/1: S3C2410 - i2c registers for s3c2440a Patch from Ben Dooks Added S3C2440_IICLC register definitions Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2216/1: Update iop3xx timers to new update process times scheme Patch from Dave Jiang Updates the timer irqs to call the new update process time scheme Signed-off-by: Dave Jiang Signed-off-by: Russell King NTFS: - Add mapping of unmapped buffers to all remaining code paths, i.e. fs/ntfs/aops.c::ntfs_write_mst_block(), mft.c::ntfs_sync_mft_mirror(), and write_mft_record_nolock(). From now on we require that the complete runlist for the mft mirror is always mapped into memory. - Add creation of buffers to fs/ntfs/mft.c::ntfs_sync_mft_mirror(). - Do not check for the page being uptodate in mark_ntfs_record_dirty() as we now call this after marking the page not uptodate during mft mirror synchronisation (fs/ntfs/mft.c::ntfs_sync_mft_mirror()). - Improve error handling in fs/ntfs/aops.c::ntfs_{read,write}_block(). Signed-off-by: Anton Altaparmakov NTFS: - Fix creation of buffers in fs/ntfs/mft.c::ntfs_sync_mft_mirror(). Cannot just call fs/ntfs/aops.c::mark_ntfs_record_dirty() since this also marks the page dirty so we create the buffers by hand and set them uptodate. - Revert the removal of the page uptodate check from fs/ntfs/aops.c::mark_ntfs_record_dirty() as it is no longer called from fs/ntfs/mft.c::ntfs_sync_mft_mirror(). Signed-off-by: Anton Altaparmakov NTFS: Disable the file size changing code from fs/ntfs/aops.c::ntfs_prepare_write() for now as it is not safe. Signed-off-by: Anton Altaparmakov [ARM PATCH] 2219/2: Ignore IRQ_NONE for edge triggered interrupts Patch from Ian Campbell As discussed on the ARM Linux kernel mailing list. With edge triggered interrupts it is impossible to avoid spurious interrupts and so it makes sense to just ignore IRQ_NONE return values in this case. Signed-off-by: Ian Campbell Signed-off-by: Russell King [ARM] rtctime tweaks - if alarm operations are NULL, don't allow alarm ioctls to succeed. - if ops->ioctl is NULL, don't try to call NULL function. - only display the alarm times in /proc/rtc if we successfully read the alarm time. [PATCH] kobject: fix double kobject_put() in error path of kobject_add() This fixes a problem introduced in the previous set of driver model changes that has been seen by a lot of people (most notibly the greater than 256 pty users, but others might also be hitting this without realizing it.) Also add a comment so we don't try to "fix" this again. Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds [CRYPTO]: Add Anubis support. Signed-off-by: Aaron Grothe Signed-off-by: James Morris Signed-off-by: David S. Miller [ARM] Add static partitioning information to flash_platform_data. [ARM] Add SA1100 generic flash infrastructure. [ARM] Add Assabet flash device partitioning and location data. [ATM]: [atmtcp] fix refcounting and vcc search Signed-off-by: Chas Williams Signed-off-by: David S. Miller [NET]: Remove dead exports from net/core/dev.c Signed-off-by: Christoph Hellwig Signed-off-by: David S. Miller [ARM PATCH] 2220/1: S3C2410 - regs-dsc.h fixes Patch from Ben Dooks The following fixes are included: - fix the addresses of S3C2440_DSCx (off by 4) - SCK0/SCK1 definitions the wrong way around - renable ENABLE to DISABLE Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2217/2: S3C2410 - pm updates Patch from Ben Dooks This patch does the following: - Save S3C2410_DCLKCON over sleep - Save all non-SDRAM memory bank config - Fix bug in setting PLL before clock divisor - Save all IRQ level controlls - Restore IRQ masks _after_ configuration restored - No debug until core registers restored This patch also moves the pm save/restore list code into the header, for other parts of arch/arm/mach-s3c2410 to use. Note, this is not a general invite for external code to use these functions. Also applied patch from Dimitry Andric to fix up the spelling/typos in Documentation/arm/Samsung-S3C24XX/Suspend.txt Signed-off-by: Ben Dooks Signed-off-by: Dimitry Andric Signed-off-by: Russell King [ARM PATCH] 2224/1: S3C2410 - s3c2440 power management device Patch from Ben Dooks Add a system device for the s3c2440 called s3c2440-core to allow power management hooks for s3c2440 specific registers to be added. Signed-off-by: Ben Dooks Signed-off-by: Russell King [BLUETOOTH]: Lock initializer unifying From: To make spinlock/rwlock initialization consistent all over the kernel, this patch converts explicit lock-initializers into spin_lock_init() and rwlock_init() calls. Currently, spinlocks and rwlocks are initialized in two different ways: lock = SPIN_LOCK_UNLOCKED spin_lock_init(&lock) rwlock = RW_LOCK_UNLOCKED rwlock_init(&rwlock) this patch converts all explicit lock initializations to spin_lock_init() or rwlock_init(). (Besides consistency this also helps automatic lock validators and debugging code.) The conversion was done with a script, it was verified manually and it was reviewed, compiled and tested as far as possible on x86, ARM, PPC. There is no runtime overhead or actual code change resulting out of this patch, because spin_lock_init() and rwlock_init() are macros and are thus equivalent to the explicit initialization method. That's the second batch of the unifying patches. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: David S. Miller [ARM PATCH] 2222/1: iop3xx timer routine cleanup Patch from Dave Jiang Clean up iop3xx timer routines and move to xtime_lock/timer_tick schemes dependent on patch 2216/1 Signed-off-by: Dave Jiang Signed-off-by: Russell King [NET]: Lock initializer unifying From: To make spinlock/rwlock initialization consistent all over the kernel, this patch converts explicit lock-initializers into spin_lock_init() and rwlock_init() calls. Currently, spinlocks and rwlocks are initialized in two different ways: lock = SPIN_LOCK_UNLOCKED spin_lock_init(&lock) rwlock = RW_LOCK_UNLOCKED rwlock_init(&rwlock) this patch converts all explicit lock initializations to spin_lock_init() or rwlock_init(). (Besides consistency this also helps automatic lock validators and debugging code.) The conversion was done with a script, it was verified manually and it was reviewed, compiled and tested as far as possible on x86, ARM, PPC. There is no runtime overhead or actual code change resulting out of this patch, because spin_lock_init() and rwlock_init() are macros and are thus equivalent to the explicit initialization method. That's the second batch of the unifying patches. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: David S. Miller [ARM PATCH] 2223/1: convert serial UART to platform device on iop3xx Patch from Dave Jiang Converting IOP321 UART to platform device Remove asm/arch/serial.h dependency Signed-off-by: Dave Jiang Signed-off-by: Russell King [PATCH] EFI GPT: reduce alternate header probing EFI partitioning scheme was reading the last reported sector of the block device to look for the alternate GPT header, before it had confirmed that it should. This causes problems for devices with the following problems: a) those who misreport their size (typically off-by-one), and b) those who fail when asked to read a block outside their range. This patch moves the test for the Protective Master Boot Record (PMBR) ahead of the tests for the Primary and Alternate GPT headers. If the PMBR is not valid, the disk is assumed to not be a GPT disk. This can be overridden with the 'gpt' kernel command line option. If the Primary GPT header is not valid, the Alternate GPT header is not probed automatically unless the 'gpt' kernel command line option is passed. If the both the PMBR and Primary GPT header are valid, then the Alternate GPT header at the end of the disk is probed. Also re-enables CONFIG_EFI_PARTITION for all architectures. Signed-off-by: Matt Domsch Signed-off-by: Linus Torvalds [PATCH] timer: fix up problem where two sysdev_class devices had the same name. Thanks to Kay Sievers for reporting this. Was caused by a change from Venkatesh Pallipadi as seen at: http://linux.bkbits.net:8080/linux-2.5/cset@41810e4aGZ0E5bn_hMb4JgIY5u90zA Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds [PATCH] ppc64: Fix G5 low level i2c code The code in pmac_low_i2c.c is a low level synchronous version of the i2c keywest driver for use by platform code early during boot or during sleep/wakeup cycles to communicate with some motherboard chips, typically clock chips. It wasn't used on g5 until now, which is good because it wasn't 64 bits clean :) This patch fixes it, and also remove the use of udelay() since it can be used for synchronizing the HW timebase, and so must operate when it's frozen (and our implementation of udelay uses that timebase). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: Add HW CPU timebase sync This implements support for doing a HW synchronization of the CPU timebases on SMP G5 machines. When the proper clock chips are found on i2c, they are used to stop the timebase clock source during the synchronization process. This replaces the software sync algorithm we used so far and provides slightly more precise results. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ext2 docs update Removed barrier - it is not an ext2 option. Corrected the distinction between kernel-selected defaults and values read from the filesystem. Fixed some typos. Shortened line length to 80. [PATCH] ufs docs update Added the hp and 5xbsd flavors of ufstype. [PATCH] wierd typos I have directories full of typo corrections - don't know whether you want them. Below some wierds. [PATCH] propogate typos [PATCH] recieve typos [PATCH] don't divide by 0 when trying to mount ext3 Not surprisingly, the ext3 code crashes in the same way the ext2 code does when dividing by zero. [PATCH] new Solaris partition ID Sun tells me: For many years both Solaris x86 and Linux have used the same fdisk partition id of 0x82. Solaris uses that identifier to allocate disk space which is then further subdivided by the Solaris VTOC (Volume Table of Contents) and Linux uses that id as the identifier for its swap partition. The new release of Solaris should be out early next year. Solaris will begin using a partition id of 0xbf. We will continue to support the older partition id value of 0x82 for compatibility reasons. Solaris's fdisk program has been enhanced to allow system administrators to switch back and forth between the new and old identifier without any loss of data. So, this may be useful to some people a few months from now. [PATCH] remove explicit k_name use in atmel_cs.c, bt3c_cs.c [PATCH] m68knommu: move ColdFire PIT timer to common code directory Move the PIT timer code from the 5282 specific platform directory to the common ColdFire platform code directory (5307). Freescale are using the PIT timer on other devices now (at least the 523x and 527x families), so put it near the other common timer code so they can all use it easily. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: new device support for ColdFire FEC ethernet driver A big update to the ColdFire FEC ethernet driver. This has been in the works for a while (and thus tested for a while too). Fundamentally through there is 3 important changes: . support 528x and 527x device families . allow for multiple FEC devices to be present (for example 2 on the 5274/5) . support the Kendein 8721 PHY Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: kernel startup code for Freescale M5271EVB board Kernel startup code specific to the Freescale M5271EVB board. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: update defconfig Updated default configuration for the m68knommu architectures. Adds newly created CPU and clock configurations. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: 527x platform support Makefile Makefile to support building the Freescale 527x platform support. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: build PIT timer for 527x and 528x CPUs Build the PIT timer code in for 528x and 527x CPU targets. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: use linux/delay.h instead of asm/delay.h Include linux/delay.h instead of asm/delay.h in ColdFire vector handling code. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: get flash based boot args for SCALES and CAMcam boards Removed unused include of asm/delay.h. Add support for getting boot args from dedicated flash segment on the SCALES and CANcam boards. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: dynamic RAM sizing for Motorola 5206e platform Determine the DRAM size dynamically for the MOTOROLA 5206e platform. We can just read back the SDRAM register configuration bits to determine what the RAM size really is. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: hardware configuration for Freescale 527x family of CPUs Create basic hardware configuration and setup code for the newly added Freescale 527x family of CPU's (5270/5271/5274/5275). Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: add kernel startup code for the Freescale M5275EVB board Add kernel startup code for the Freescale 5275EVB board. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: move ColdFire 5282 config code to common 528x config code Move the ColdFire 5282 specific CPU configuration code into the common 528x CPU platform directory. It can be used for all members of the 528x CPU family. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: move ColdFire 5282 Makefile to common 528x Makefile Move the ColdFire 5282 specific platform Makefile into the common 528x CPU platform directory. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: move ColdFire M5282EVB kernel startup code to common 528x platform directory Move the M5282EVB kernel startup code from the 5282 specific platform directory to a common 528x platform directory. All ColdFire 582x CPU cores are the same, just minor peripheral differences. Renaming the sub-directory to match the proper board name (M5282EVB), not use the generic MOTOROLA. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: remove unused include of delay.h in ColdFire 5407 configuration code Remove unused include of asm/delay.h from ColdFire 5407 configuration code. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: use correct register offsets for ColdFire 527x FEC ethernet The ColdFire 527x and 528x use the same FEC ethernet register offsets. Conditionally use the correct structure. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: move ColdFire 5282 definitions to common 528x include Move the ColdFire 5282 specific register definitions into a common 528x definition include. They can be used for all members of the 528x CPU family. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: add kernel startup code for the ColdFire 5272 Feith CANcam board Kernel startup code specific to the Coldfire 5272 based CANcam board. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] H8/300 inline cleanup Eliminate useless clobber. Signed-off-by: Yoshinori Sato Signed-off-by: Linus Torvalds [PATCH] H8/300 build error fix Because reference of fls becomes error. Signed-off-by: Yoshinori Sato Signed-off-by: Linus Torvalds [PATCH] H8/300 vmlinux.lds update Signed-off-by: Yoshinori Sato Signed-off-by: Linus Torvalds [PATCH] fix "extern inline" Signed-off-by: Yoshinori Sato Signed-off-by: Linus Torvalds [IPV6]: Close small race in ip6_del_rt There is a small SMP race in ip6_del_rt where we maybe dereferencing a dst that has been freed. This patch fixes it. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [PKT_SCHED]: Mark some functions static in tc actions/act_api Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: Fix scheduler/classifier module unload race. This patch fixes an scheduler/classifier module unload race. struct Qdisc_ops which includes the owner field is also part of the module's memory, so ops might already be freed when try_module_get(ops->owner) is called outside of the locked section. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [NET]: Mark __{lock,release}_sock() static. Signed-off-by: Arjan van de Ven Signed-off-by: David S. Miller [AX25]: Fix cb lookup Ax AX.25 connection is identified only by it's source and destination, not by the device it's routed through, so fix the connection block lookup to ignore the device of a connection. This fixes dying connections in case of an AX.25 routing flap. Signed-off-by: David S. Miller [NETFILTER]: Fix find_appropriate_src() to actually work. We try to bind to the same source port when sending packets from the same source IP/source port to the outside world. Normally, this is simple, since we always try to keep the same source port anyway, but there are cases where that is not available. This is a requirement for the Kegel Peer-to-Peer NAT paper: http://alumnus.caltech.edu/~dank/peer-nat.html Unfortunately, our current implementation is useless. It looks up a hash to see if this srcip/srcpt has been used, but instead of returning the mapping to use, it simply returns that same srcip/srcpt. This is clearly wrong. As pointed out by Krisztian Kovacs. Also, we are no longer using the netfilter-special list iterators, so we can split src_cmp, in_range and the actual result manipulation for much clearer code. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller [PKT_SCHED]: Unline inner qdiscs immediately in qdisc_destroy() Before the RCU change distruction of the qdisc and all inner qdiscs happend immediately and under the rtnl semaphore. This made sure nothing holding the rtnl semaphore could end up with invalid memory. This is not true anymore, inner qdiscs found on dev->qdisc_list can be suddenly destroyed by the RCU callback. nothing can find them until they get destroyed. This also makes semantics sane again, an inner qdiscs should not be user-visible once the containing qdisc has been destroyed. The second part (locking in qdisc_lookup) is not really required, but currently the only purpose of qdisc_tree_lock seems to be to protect dev->qdisc_list, which is also protected by the rtnl. The rtnl is especially relied on for making sure nobody frees a qdisc while it is used in user-context, so qdisc_tree_lock looks unnecessary. I'm currently reviewing all qdisc locking, if this turns out to be right I will remove qdisc_tree_lock entirely in a follow-up patch, but for now I left it in for consistency. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [IPV6] introduce lightweight IPv6 address comparison function. It is not optimal to use ipv6_addr_cmp() for simple address comparison, which checks if two addresses are equal. Based on idea from Dave Craig . Signed-off-by: Hideaki YOSHIFUJI [IPV6] Use ipv6_addr_equal() where appropriate. Signed-off-by: Hideaki YOSHIFUJI Cset exclude: herbert@gondor.apana.org.au|ChangeSet|20041110052404|08839 NTFS: 2.1.22 - Many bug and race fixes and error handling improvements. - Cleanup fs/ntfs/aops.c::ntfs_{read,write}page() since we know that a resident attribute will be smaller than a page which makes the code simpler. Also make the code more tolerant to concurrent ->truncate. Signed-off-by: Anton Altaparmakov [ARM PATCH] 2225/1: S3C2410 - export symbol from s3c2440-dsc.c Patch from Ben Dooks Added symbol export to the file, and cleaned up the un-necessary include files Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2154/2: XIP kernel for ARM Patch from Nicolas Pitre This patch allows for the kernel to be configured for XIP. A lot of people are using semi hacked up XIP patches already so it is a good idea to have a generic and clean implementation supporting all ARM targets. The patch isn't too intrusive. It involves: - modifying the kernel entry code to map separate .text and .data sections in the initial page table, as well as relocating .data to ram when needed - modifying the linker script to account for the different VMA and LMA for .data, as well as making sure that .init.data gets relocated to ram - adding the final kernel mapping with a new MT_ROM mem type - distinguishing between XIP and non-XIP for bootmem and memory resource declaration - and adding proper target handling to Makefiles. While at it, this also cleans up the kernel boot code a bit so the kernel can now be compiled for any address in ram, removing the need for a relation between kernel address and start of ram. Also throws in some more comments. And finally the _text, _etext, _end and similar variables are now declared extern void instead of extern char, or even extern int. That allows for operations on their address directly without any cast, and trying to reference them by mistake would yield an error which is a good thing. Tested both configurations: XIP and non XIP, the later producing a kernel for execution from ram just as before. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King [ARM PATCH] 2160/1: allow modules to work with XIP kernel Patch from Nicolas Pitre This should be applied on top of patch #2154/1. This maps the XIP kernel in the same virtual area as used for kernel modules instead of the previous arbitrary location. Doing so has the advantage of having a well defined kernel address not conflicting with the different definitions for VMALLOC_END, as well as making modules loadable without any indirect long branch calls. The work on XIPable MTD also requires this with code marked __xipram for the same reason. This of course reduces the space available for kernel modules from 16MB to either 14MB or 12MB depending on the size of the resulting kernel but that shouldn't be a real issue at all, given that the whole purpose behind XIP is to execute as much stuff from flash, which is better achieved by compiling drivers in the kernel directly. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King [PATCH] Fix do_wait race Only set the flag in the cases when the exit state is not either TASK_DEAD or TASK_ZOMBIE. (TASK_DEAD or TASK_ZOMBIE will either race or we'll return the information, so no need to note them). I confirmed that this fixes the problem and I also ran some LTP tests Signed-off-by: Dinakar Guniguntala Signed-off-by: Sripathi Kodi Signed-off-by: Linus Torvalds [PATCH] Licencing of drivers/char/rocket.c On Tue, Nov 09, 2004 at 01:38:11PM -0600, Jason.Jorgensen@comtrol.com wrote: On Tuesday, November 09, 2004 10:58 AM, Theodore Ts'o wrote: > I developed the Rocketport device driver under contract of Comtrol, > with the understanding that the resulting device driver would be > released under the GPL. So I believe the correct way of resolving the > conflicting copyright statements is to delete the following lines. > > It would be good to get positive confirmation from Comtrol as well > that this is their understanding as well. You are absolutely correct. That notice slipped by us and should not be in there. If someone with access to the mainline source could remove that for us we would appreciate it. Cc: Keith.Hammerbeck@comtrol.com, Steve.Erler@comtrol.com Acked-by: Jason.Jorgensen@comtrol.com Signed-off-by: "Theodore Ts'o" Signed-off-by: Linus Torvalds [PATCH] binfmt_elf: handle partial reads gracefully Make sure kernel reads full size of elf data. Error out if mmap fails when mapping any sections of the executable. Make sure interpreter string is NULL terminated. Signed-off-by: Chris Wright Signed-off-by: Linus Torvalds [PATCH] fix platform_rename_gsi related ia32 build breakage "platform_rename_gsi" does not exist unless CONFIG_ACPI_BOOT is defined. Fix the fix. Silly #endif placement problem. [PATCH] PCI: pci-mmconfig fix Here I have attached pci mmconfig fix for 2.6.9 kernel. This will fix the flush error in pci_mmcfg_write. When pci_mmcfg_write is used to program the PMCSR in the Power Management Capability structure of PCI config space in the PCI Express device to a different power state, the dummy readl to flush the previous write violates the transition delay specified in the PCI power management spec. Please see PCI Power Management Spec. 1.2 Table 5-6. For example, while changing the power state of the device through PMCSR register, a transition delay of 10msec is required before any access can be made to the device. Since the configuration write access for PCI Express is non posted, flushing is not necessary and it will be safe to remove the dummy readl. This patch will remove dummy readl function implemented in "pci_mmcfg_write" and use set_fixmap_nocahe instead of set_fixmap. Signed-off-by: Sundarapandian Durairaj Signed-off-by: T. Long Nguyen Signed-off-by: Greg Kroah-Hartman [PATCH] zr36120.c: Convert pci_find_device to pci_dev_present --On Thursday, September 30, 2004 10:27:48 AM +0200 Gerd Knorr wrote: >> The whole driver is CONFIG_BROKEN anyway... I only verified my changes >> didn't add new compiler errors. What part should I remove? Just this check? > > pci/quirks.c does these checks and sets the flags. > Replacing with a check for "pci_pci_problems & PCIPCI_TRITON" should do. > > bttv does simliar things in bttv_check_chipset() (bttv-cards.c), > you might want to have a look there ... > Thanks a lot for your help. Is this what you were thinking? Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] ide.c: replace pci_find_device with pci_dev_present As pci_find_device is going away it needs to be replaced. In this case the dev returned from pci_find_device was not being used so pci_dev_present was the appropriate replacement. This has been compile and boot tested on a T22. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] scx200_wdt.c: replace pci_find_device with pci_dev_present Patch to replace the soon to be defunct pci_find_device with the new function pci_dev_present. I found 8 .c files (outside of /drivers/net) that used pci_find_device without the dev it returned. therefore it was replaceable with the new function. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] ibmphp_core.c: replace pci_get_device with pci_dev_present This can be converted to pci_dev_present as the dev returned is never used. Compile tested. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] netpoll: fix null ifa_list pointer dereference This fixes a bug where netpoll can dereference a null ifa_list pointer when not supplied an IP address at module load and the interface is up but no IP is configured. Bonus: unrelated netif_running cleanup Signed-off by: Jeff Moyer Signed-off by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik [PATCH] E1000 stop working after resume Obviously pci_enable_device should be called after pci_restore_state. Signed-off-by: Li Shaohua Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik [PATCH] ixgb: fix ixgb_intr looping checks This patch undoes a change that we believe will impact performance adversely, by creating possibly too long a delay between servicing completions. The comment pretty much explains it. We need to call both cleanup routines each pass through the loop, this time we have a comment explaining why. Signed-off-by: Jesse Brandeburg Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik [PATCH] Fix for 802.3ad shutdown issue The patch below fixes a problem with shutting down 802.3ad bonds on the 2.6 kernel. Taking the interface down or removing the module causes a stack dump if spinlock debugging is enabled. This patch was generated from the 2.6.9 kernel. This patch has been peer reviewed by our Linux software engineering team, and the fix has been verified by our test labs. Signed-off-by: Mitch Williams Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik [PATCH] compat syscalls naming standardisation On PA-RISC, we have a unified syscall table for 32 and 64 bit that uses macros to generate the appropriate syscall names (native vs compat). For this to work, we need consistent compat syscall names. Unfortunately, some recent additions drop the 'sys_'. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove contention on profile_lock profile_hook unconditionally takes a read lock on profile_lock if kernel profiling is enabled. The lock protects the profile_hook notifier chain from being written while it's being called. The routine profile_hook is called in a very hot path though: every timer tick on every CPU. As you can imagine, on a large system, this makes the cacheline containing profile_lock pretty hot. Since oprofile was the only user of the profile_hook, I removed the notifier chain altogether in favor of a simple function pointer with the help of John Levon. This removes all of the contention in the hot path since the variable is very seldom written and simplifies things a little to boot. Acked-by: John Levon Signed-off-by: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Fix O_SYNC speedup for generic_file_write_nolock The O_SYNC speedup patches missed the generic_file_xxx_nolock cases, which means that pages weren't actually getting sync'ed in those cases. This patch fixes that. Signed-off-by: Suparna Bhattacharya Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: add setup_indirect_pci_nomap() routine This patch adds a routine that sets up indirect pci config space access but doesn't ioremap the config space addr/data registers. Signed-off-by: Mark Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: dded MPC8555/8541 security block infrastructure This patch adds OCP, interrupt, and memory offset details for the security block on MPC8555/8541 to support drivers. Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: fix rheap warning Here is patch that fixes a compile warning with rheap Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: updated reporting of CPU rev & freq for e500 CPUs Fixes up the reporting of the e500 core revision. Additionally, it changes the reporting of CPU frequency to match what other PPC systems do. Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: add performance counters to cpu_spec Adds the number of performance monitor counters each PowerPC processor has to the cpu table. Makes oprofile support a bit cleaner since we dont need a case statement on processor version to determine the number of counters. Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: remove CONFIG_SERIAL_CONSOLE_BAUD No longer needed. Signed-off-by: Mark Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Update ppc list addresses in MAINTAINERS The linuxppc mailing lists that were at lists.linuxppc.org have moved to ozlabs.org. This patch updates the MAINTAINERS file to reflect that. Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: remove __setup_cpu_8xx Remove __setup_cpu_8xx and its initialization in cpu_specs table since it hasn't every done anything. This is at Tom Rini's suggestion. Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: remove zero initializations in cpu_specs Remove initializations to zero in cpu_specs table at Tom Rini's suggestion. Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: iSeries combine some MF code This patch just moves mf_proc.c into mf.c inanticipation of more cleanup to come. So mf_proc.c ceases to exist Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: iSeries remove trailing white space Nothing more than removing trailing white space from mf.c. Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: iSeries remove some Studly Caps This patch changes the externally referenced names in mf.c to not use Study Caps and removes a couple of no longer used functions. Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: iSeries more MF cleanup This patch starts the improvement of the style of the MF code: - remove a union that is used where casts suffice - add a helper function (signal_ce_msg_simple) and use it - replace some painful code that converts a byte array to a couple of u32's and then shifts and masks the bytes back out. Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: iSeries remove more Studly Caps from MF code Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: iSeries last of the cleanups fo the MF code This last patch is a bit if a mess because it mainly consists of combining some single use small functions into their callers and rearranging some other code. Some intermediate variables are introduced and some code is restructured to improve its readablility (and hopefully maintainability). Overall there are no semantic changes. Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: Bump MAX_HWIFS in IDE code When fully configured, some POWER5 boxes can have much more than 4 IDE interfaces. Increase the limit to reflect this. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: Fix for cpu hotplug + NUMA It was possible to hotplug add a new cpu that was larger than numnode. This meant we had a cpu with a node id that didnt have any NODE_DATA() backing it. The following patch catches this in numa_setup_cpu and forces the node to 0. We also make a pass through all cpus at boot to look for the maximum node id - this catches the case at boot. As for hotplug, since the node doesnt have any memory backing it (otherwise the node would have been onlined) then we can assume the machine isnt configured for performance and just force the cpu into node 0. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: Small OF fixes A few small fixes: - Check for the model property before using it. Also check for the correct property name for nighthawk. - Check for the existence of freeze-time-base before using it to synchronize timebases instead of making it conditional on !LPAR Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix page size assumption in fork() The attached patch fixes fork to get rid of the assumption that THREAD_SIZE >= PAGE_SIZE (on the FR-V the smallest available page size is 16KB). Signed-Off-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] EXT3 compiler warning fix The attached patch fixes an uninitialised variable warning in ext3. The compiler is wrong in this case because it can't analyse the code sufficiently. Signed-Off-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Make /proc/kcore conditional on CONFIG_MMU The attached patch makes the presence of /proc/kcore conditional on CONFIG_MMU being configured on. Signed-Off-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86: optimize stack pointer access (reduce register usage) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: ia32_aout-build-fix arch/x86_64/ia32/ia32_aout.c: In function `load_aout_binary': arch/x86_64/ia32/ia32_aout.c:400: error: `IA32_STACK_TOP' undeclared (first use in this function) Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] CRIS: configuration and Build Configuration and build updates for 2.6.9. Signed-off-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] CRIS: update simple drivers Updates for 2.6.9 in basic character based drivers. Signed-off-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] CRIS: ethernet driver Use generic MII interface. Signed-off-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] CRIS: IDE driver Updated IDE driver for Linux 2.6.9. Signed-off-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] CRIS: Add USB host driver USB host driver for CRIS. Signed-off-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] CRIS: Core kernel updates Added profiler. Optimized MMU refill handling. Improved multiple interrupt handling. Signed-off-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] CRIS: Console setup handling Handled console setup arguments on kernel command line. Signed-off-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] CRIS: Move drivers Move drivers from arch/cris/arch-v10/drivers/ to drivers/. Signed-off-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] CRIS: Update Makefiles Update Makefiles under drivers/ to compile CRIS drivers. Signed-off-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] CRIS: Update MAINTAINERS Changed maintainer for CRIS architecture to Mikael Starvik. Signed-off-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: use sys_getpid bypassing glibc (fixes UML on Gentoo) From: Bodo Stroesser , Paolo 'Blaisorblade' Giarrusso Cc: Ulrich Drepper Using NPTL, getpid() sometimes delivers the wrong pid, since it uses the one buffered in TLS from previous calls. This buffered pid isn't discarded, when a child is created by a clone(). So, as a workaround, UML should use a direct kernel call to bypass the lib. Also, I (Paolo) went replacing all remaining calls of getpid() with os_getpid(), to make sure they use the syscall and not the normal glibc definition. Signed-off-by: Bodo Stroesser Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] futex_wait hang fix NPTL has 3 control counters (total/wake/woken). so NPTL can know: "how many threads enter to wait"(total), "how many threads receive wake signal"(wake), and "how many threads exit waiting"(woken). Abstraction of pthread_cond_wait and pthread_cond_signal are: A01 pthread_cond_wait { A02 timeout = 0; A03 lock(counters); A04 total++; A05 val = get_from(futex); A06 unlock(counters); A07 A08 sys_futex(futex, FUTEX_WAIT, val, timeout); A09 A10 lock(counters); A11 woken++; A12 unlock(counters); A13 } B01 pthread_cond_signal { B02 lock(counters); B03 if(total>wake) { /* if there is waiter */ B04 wake++; B05 update_val(futex); B06 sys_futex(futex, FUTEX_WAKE, 1); B07 } B08 unlock(counters); B09 } What we have to notice is: FUTEX_WAKE could be called before FUTEX_WAIT have called (at A07). In such case, FUTEX_WAKE will fail if there is no thread in waitqueue. However, since pthread_cond_signal do not only wake++ but also update_val(futex), next FUTEX_WAIT will fail with -EWOULDBLOCK because the val passed to WAIT is now not equal to updated val. Therefore, as the result, it seems that the WAKE wakes the WAIT. === The bug will appear if 2 pair of wait & wake called at (nearly)once: * Assume 4 threads, wait_A, wait_B, wake_X, and wake_Y * counters start from [total/wake/woken]=[0/0/0] * the val of futex starts from (0), update means inclement of the val. * there is no thread in waitqueue on the futex. [simulation] wait_A: calls pthread_cond_wait: total++, prepare to call FUTEX_WAIT with val=0. # status: [1/0/0] (0) queue={}(empty) # wake_X: calls pthread_cond_signal: no one in waitqueue, just wake++ and update futex val. # status: [1/1/0] (1) queue={}(empty) # wait_B: calls pthread_cond_wait: total++, prepare to call FUTEX_WAIT with val=1. # status: [2/1/0] (1) queue={}(empty) # wait_A: calls FUTEX_WAIT with val=0: after queueing, compare val. 0!=1 ... this should be blocked... # status: [2/1/0] (1) queue={A} # wait_B: calls FUTEX_WAIT with val=1: after queueing, compare val. 1==1 ... OK, let's schedule()... # status: [2/1/0] (1) queue={A,B} (B=sleeping) # wake_Y: calls pthread_cond_signal: A is in waitqueue ... dequeue A, wake++ and update futex val. # status: [2/2/0] (2) queue={B} (B=sleeping) # wait_A: end of FUTEX_WAIT with val=0: try to dequeue but already dequeued, return anyway. # status: [2/2/0] (2) queue={B} (B=sleeping) # wait_A: end of pthread_cond_wait: woken++. # status: [2/2/1] (2) queue={B} (B=sleeping) # This is bug: wait_A: wakeup wait_B: sleeping wake_X: wake A wake_Y: wake A again if subsequent wake_Z try to wake B: wake_Z: calls pthread_cond_signal: since total==wake, do nothing. # status: [2/2/1] (2) queue={B} (B=sleeping) # If wait_C comes, B become to can be woken, but C... This bug makes the waitqueue to trap some threads in it all time. ==== > - According to man of futex: > "If the futex was not equal to the expected value, the operation > returns -EWOULDBLOCK." > but now, here is no description about the rare case: > "returns 0 if the futex was not equal to the expected value, but > the process was woken by a FUTEX_WAKE call." > this behavior on rare case causes the hang which I found. So to avoid this problem, my patch shut up the window that you said: > The patch certainly looks sensible - I can see that without the patch, > there is a window in which this process is pointlessly queued up on the > futex and that in this window a wakeup attempt might do a bad thing. ===== In short: There is an un-documented behavior of futex_wait. This behavior misleads NPTL to wake a thread doubly, as the result, causes an application hang. Signed-off-by: Hidetoshi Seto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3 umount hang When an ext3 partition is mounted and then quickly unmounted, the journal thread never gets around to checking the JFS_UNMOUNT flag (it immediately goes into a loop waiting for a new sequence number), causing the umount process to hang in journal_kill_thread(). The problem can be easily reproduced by roughly the following steps: dd if=/dev/zero of=/tmp/qf bs=1024k count=10 yes | mke2fs -j /tmp/qf losetup /dev/loop0 /tmp/qf mkdir /mnt/qf mount -t ext3 /dev/loop0 /mnt/qf ; umount /mnt/qf The patch below moves the check for JFS_UNMOUNT to the beginning of the journal thread loop, thereby preventing this race condition. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sparc32: fix for HyperSPARC DMA errors I found a solution for the HyperSPARC DMA problems in 2.6. This allows my SS20 with HyperSPARCs to boot to single user. It's not efficient, but I hope it points out whats needed for a proper fix. Seems that the iotlb entries need to flushed to ram or uncached since the iommu changes between 2.5.60 and 2.5.70. The second part seems to be needed to allow consistent sbus dma mappings to be cached on HyperSPARC. I have also tested this change on 2.4.27 with no noticeable difference. Acked-by: William Irwin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] "Bad" naming of structures and functions in ext3 reservation code The patch below renames struct reserve_window_node* and rsv_window_add() function to struct ext3_reserve_window_node* and ext3_rsv_window_add(). This eases the task of having several ext3-derived filesystem drivers (with different capabilities) in kernel. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] statfs compat functions can return EOVERFLOW on NFS A while ago, we fixed a problem in statfs on 64bit system that caused it to return EOVERFLOW when the number of files reported by the underlying file system was -1 (which happens for NFS for instance). The problematic code was this: if (sizeof ubuf->f_blocks == 4) { if ((kbuf->f_blocks | kbuf->f_bfree | kbuf->f_bavail | kbuf->f_files | kbuf->f_ffree) & 0xffffffff00000000ULL) return -EOVERFLOW; ... } The problem was fixed by explicitly allowing f_files and f_ffree to be -1. The same problem exists in fs/compat.c, and the attached patch fixes it in a similar manner. Signed-Off-By: Olaf Kirch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Fix CPM2 uart driver device number brain damage The following patch against 2.6.10-rc1 fixes the brain damage that was found in the CPM2 uart driver. Previously, if 8250 was configured in, it would use one set of numbers (which at the time didn't conflict with anything, but have since been officially given to the Motorola i.MX driver) and if 8250 wasn't in, it would masquerade as it. The following switches us over to 204/46...49 (Which is still unclaimed). Signed-off-by: Tom Rini Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: yet another video-buf interface update This is one more interface fix for the video-buf.c module, the first attempt on that wasn't that clever. Instead of passing the driver private data through all function calls I've just made that an element of the videobuf_queue struct which is passed around everythere _anyway_. That removes some reduncancy, should be less error prone and gain me some points on rusty's interface design scala ;) It also fixes the tvtime crashes which where caused by overviewing one place to fixup in the first attempt. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: add video-buf-dvb.c Adds a new helper module for simple dvb budget cards without hardware filtering capabilities (which just pass the complete transport stream via DMA and let the dvb core sort everything else). Will initially be used by saa7134 + cx88 drivers. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: bttv update This is an update for the bttv driver, changes: * adapt to video-buf changes. * convert to new-style insmod options. * drop some obsolete junk. Signed-off-by: Gerd Knorr Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: saa7134 update This is a update for the saa7134 driver, changes: * adapt to the video-buf changes. * add new cards. * split mpeg encoder card support to separare module (saa7134-empress), as preparation for the dvb support which also uses the MPEG capabilities of the card. * started working on dvb support (not functional yet, also marked 'BROKEN'). * convert insmod options to new-style. The patch also removes all trailing whitespaces. I've a script to remove them from my sources now, that should kill those no-op whitespace changes in my patches after merging this initial cleanup. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: cx88 update This is a cx88 driver update, changes: * adapt to video-buf changes. * add support for a new card. * use the new video-buf-dvb module. The dvb stuff doesn't build yet as it depends on some cutting-edge code from the linuxtv cvs and is tagged as 'BROKEN' because of that. The patch also removes all trailing whitespaces. I've a script to remove them from my sources now, that should kill those no-op whitespace changes in my patches after merging this initial cleanup. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: saa7146 update Adapt saa7134 driver to video-buf changes. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: tuner modparam Convert leftover insmod options to new-style. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: ir-common modparam Convert the ir-common module to new-style insmod options. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: v4l1-compat modparam Convert v4l1-compat module to new-style insmod options. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] v4l: msp3400 fix Fix for the msp3400 module: make the initial carrier scan (after loading the driver) work. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] media/video/bw-qcam.c: remove an unused function The patch below removes an unused function from media/video/bw-qcam.c Signed-off-by: Adrian Bunk Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] direct-IO: handle EOF The direct-io code currently returns -EIO if someone tries to read past the end of a block device. Change it to shorten the read and to return the number of bytes which were actually read. Signed-off-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Fix IO access in rivafb (part 2) Convert direct pointer manipulation to NV_RD*/NV_WR* in nv_driver.c Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Fix mode handling in rivafb if with no EDID The current code in rivafb will not accept modes other than 640x480-60 if the the EDID block is absent. This patch changes the behavior to the opposite, if without an EDID, rivafb will accept all modelines coming from userspace (2.4 behavior). Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Use soft_cursor in i810fb The hardware cursor implementation in i810fb broke sometime during 2.6. Until this is fixed, temporarily use soft_cursor(). Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Set color depth to 8 if in pseudocolor in vesafb. Set color depth to 8 if in pseudocolor in vesafb. The CLUT size, previously saved as {red|green|blue}.length, is now private to vesafb. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbcon: Split set_con2fb_map() The function set_con2fb_map() is getting very big. Split it into its component functions. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Introduce FB_BLANK_* constants The VESA_* constants in fb.h used for power management of the display is confusing to use. The constants seems to be meant for userspace, because within the kernel (vt and fbdev), the constants have to be incremented by 1. Implementation of fb_blank() varies from driver to driver: - if-else on blank/!blank - switch case on hardcoded numbers - switch case on the constants + 1 - switch -1, case on constants as is - switch case on the constants as is (broken) To make usage clearer, new constants are defined in fb.h: FB_BLANK_UNBLANK = VESA_UNBLANKING = 0; FB_BLANK_NORMAL = VESA_UNBLANKING + 1 = 1; FB_BLANK_VSYNC_SUSPEND = VESA_VSYNC_SUSPEND + 1 = 2; FB_BLANK_HSYNC_SUSPEND = VESA_HSYNC_SUSPEND + 1 = 3; FB_BLANK_POWERDOWN = VESA_POWERDOWN + 1 = 4; Other changes: - generic blanking code in fbcon.c (for drivers without an fb_blank hook) which either sets the palette to all black, or clear the screen with black. - make fb_display an unexportable symbol Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Convert drivers to use the new FB_BLANK_* constants This patch converts most drivers to use the new FB_BLANK_* constants. These drivers have correct fb_blank() implementations. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Fix broken fb_blank() implementation. This patch fixes some of the drivers' fb_blank() implementation which got the usage of the VESA_* constants incorrectly and converts them to use the new FB_BLANK-* constants. I'm not sure if what I did is correct for all drivers, so maintainers, please review. (Note: For most of the drivers, FB_BLANK_NORMAL is treated as FB_BLANK_UNBLANK, but returns a nonzero so fbcon will do a soft_blank). Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: fix problem with md/linear for devices larger than 2 terabytes Some size fields were "int" instead of "sector_t". Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: fix raid6 problem Sometimes it didn't read all (working) drives before a parity calculation. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: delete unplug timer before shutting down md array As the unplug timer can potentially fire at any time, and and it access data that is released by the md ->stop function, we need to del_timer_sync before releasing that data. (After much discussion, we created blk_sync_queue() for this) Signed-off-by: Neil Brown Contributions from Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: "Faulty" personality The 'faulty' personality provides a layer over any block device in which errors may be synthesised. A variety of errors are possible including transient and persistent read and write errors, and read errors that persist until the next write. There error mode can be changed on a live array. Accessing this personality requires mdadm 2.8.0 or later. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: Documentation/md.txt update Updates to Documentation/md.txt - included some extra info I found out while digging deeper into init/do_mounts_md.c Signed-off-by: James Nelson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] convert MODULE_PARM() to module_param() family Convert MODULE_PARM() to module_param(). Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] more MODULE_PARM conversions Convert MODULE_PARM() to module_param(). Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] lib/parser: fix %% parsing Code looks like it intended to parse "%%" in pattern string as "%". Fix it, so it really does that. Compile and run tested. Signed-off-by: Domen Puncer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] make cdev_get static, unexport - cdev_get is only used in fs/char_dev.c; move it up, make it static and unexport it. - cdev_put is used in one more place (fs/file_table.c) but never in modules; unexport it. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] unexport task_nice task_nice() was exported for binfmt_elf, however that's no longer modular. normalize_rt_tasks() is used by the sysreq code only, which isn't modular. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] limit CONFIG_LEGACY_PTY_COUNT Limit the number of legacy ptys to 256. pty_line_name() isn't capable of generating more than 256 unique names. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [ARM PATCH] 2226/1: S3C2410 - dma system device Patch from Ben Dooks Add sysfs class and devices for s3c24xx-dma code, and add simple pm suspend code to ensure all channels are stopped before suspending Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2227/1: S3C2410 - export dma symbols to modules Patch from Ben Dooks Added EXPORT_SYMBOL() to appropriate routines (should be applied after Patch 2226/1) Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2228/1: S3C2410 - dma register updates Patch from Ben Dooks Add register definitions for channel hardware sources, and update for s3c2440 extra bits. (should be applied after #2226/1 and #2227/1) Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2230/1: fix generic_fls declaration mismatch Patch from Nicolas Pitre The declaration of generic_fls recently changed from extern inline to static inline. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King [NET]: Remove net_init.c ifdef clutter. Signed-off-by: David S. Miller [PKT_SCHED]: Fix overflow on 64bit in times reported to userspace. This patch fixes on overflow in tc actions times reported to userspace on 64 bit architectures. struct tcf_t only contains 32-bit timestamps, but they are initialized to jiffies. When jiffies is larger than 2^32-1 only the low 32 bit are saved, and the diff between jiffies and the current timestamp becomes very large. This happens immediately after boottime since jiffies is initialized to 2^32-300. It was invisible until now because only the lower 32bit were reported to userspace, but with the USER_HZ conversion the reported times start somewhere around 4294967s. This patch extends the timestamps to 64bit. It breaks userspace compatibility for actions, but considering that most of this is not even in iproute yet this should be acceptable. Signed-off-by: Patrick McHardy ACK'd by: Jamal Hadi Salim Signed-off-by: David S. Miller Revert recent EDD changes to use EXTENDED READ comand and CONFIG_EDD_SKIP_MBR It seems to result in unexplained memory corruption. Matt is working on it. Cset exclude: Matt_Domsch@dell.com[torvalds]|ChangeSet|20041020153622|50713 PCI Hotplug: fix up remaining MODULE_PARAM usage in pci hotplug drivers Signed-off-by: Greg Kroah-Hartman [PATCH] fakephp: introduce pci_bus_add_device fakephp needs to add newly discovered devices to the global pci list. Therefore seperate out the appropriate chunk from pci_bus_add_devices to pci_bus_add_device to add a single device to sysfs, procfs and the global device list. Signed-off-by: Jan Dittmer Signed-off-by: Greg Kroah-Hartman [PATCH] fakephp: add pci bus rescan ability This adds the ability to rescan the pci bus for newly inserted, reprogrammed or previously disabled pci devices. To initiate a rescan you need to write '1' to any of the /sys/bus/pci/slots/*/power control files. No known pci devices will be touched. Additionally this fixes a bug, when someone tries to disable a device with subfunctions. The subfunctions will be disabled first now. Short demo: # modprobe fakephp # ls /sys/bus/pci/slots | grep "0000:04" 0000:04:02.0 0000:04:02.1 0000:04:02.2 0000:04:03.0 0000:04:03.1 # echo -n 0 > /sys/bus/pci/slots/0000\:04\:02.0/power # ls /sys/bus/pci/slots | grep "0000:04" 0000:04:03.0 0000:04:03.1 # echo -n 1 > /sys/bus/pci/slots/0000\:03\:01.0/power # ls /sys/bus/pci/slots | grep "0000:04" 0000:04:02.0 0000:04:02.1 0000:04:02.2 0000:04:03.0 0000:04:03.1 # lspci | grep "0000:04" 0000:04:02.0 Multimedia audio controller: Creative Labs SB Audigy (rev 03) 0000:04:02.1 Input device controller: Creative Labs SB Audigy MIDI/Gameport (rev 03) 0000:04:02.2 FireWire (IEEE 1394): Creative Labs SB Audigy FireWire Port 0000:04:03.0 SCSI storage controller: Adaptec AHA-3960D / AIC-7899A U160/m (rev 01) 0000:04:03.1 SCSI storage controller: Adaptec AHA-3960D / AIC-7899A U160/m (rev 01) Signed-off-by: Jan Dittmer Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb network Kconfig updates This makes the "USB Network Adapter" support into a submenu, shrinking the main USB menu and simplifying the individual adapter entries. It also lists more of the devices supported: four more AX8817X products and (Linux-based) Gumstix. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb PM updates, PCI glue (1/4) Updates the PCI glue for HCDs: - There's now just one code path to suspend. CONFIG_USB_SUSPEND mostly means bypassing the "idle the root hub" part, and it uses the same D1/D2 logic when necessary. - Though usbcore is moving away from device->power.power_state, it still needs to be initialized correctly (else pmcore can get confused). - Disable the device on init path failures. The first two address real bugs, the third was just something I noticed while fixing the second. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb PM updates, root hub stuff (2/4) Makes usbcore handle some suspend scenarios more consistently, especially when talking with root hubs. - Use usb_device->state, not device->power.power_state. (The driver model power_state is still needed for interfaces.) With USB_SUSPEND=n, there are also cases where the HCD_STATE_SUSPENDED needs to be used instead of testing for USB_STATE_SUSPENDED. - Updates usb_device->state for root hubs during suspend/resume. - Fixes a locking bug (extra "up") that got merged recently, affecting CONFIG_USB_SUSPEND. - Recover one of the "HC died" cases better. - Root hub timer updates, handling various suspend transitions more consistently: don't duplicate earlier submit checks, only work when hub is configured, address various submit/resume races. Together, these help hubs work better regardless of whether USB_SUSPEND has been enabled (that's the only way USB_STATE_SUSPENDED appears), and whether or not the HCD is marked as suspended (or maybe Alan would want to call that "half suspended"). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb PM updates, OHCI (3/4) These OHCI updates go along with usbcore changes to avoid power_state (mostly for sysfs) and leave usbcore handling usb_device state (except for quick-disconnect on STD resume). - detect and ignore a root hub status polling call made during suspend without USB_RESUME (it'd act like CardBus eject...) - detect and ignore a superfluous root hub resume call made in some cases with USB_RESUME - use irqsave spinlock calls in timer callback paths - don't expect usbcore to understand "disconnect the root hub" - avoid some pointless delays/faults So it should fix a lot of the problems folk have been having with OHCI in the latest 2.6.10-rc1-bk kernels. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: SN9C10x driver updates SN9C10x driver updates. The most important change is the addition of the "SN9C10x" vendor-specific pixel format, which is used by the applications or libraries to get "raw" compressed data from the SN9C10x controllers. This also means that V4L2 should be smart enough for the decompression to be handled in userland. You can consider this patch as a further response to the discussion we had on the lkml about the submission of the PWC driver including decompression in kernelspace, which is present in the Alan Cox's tree. Changes: (+ new, - removed, * cleanup, @ bugfix) @ Fix VIDIOC_TRY_FMT ioctl @ Fix SOF/EOF problems with TAS5130D1B image sensor @ Fix VIDIOC_ENUM_FMT ioctl * Replace wait_event_interruptible() with wait_event_timeout() * Use msecs_to_jiffies() for timeouts in jiffies * Use usb_make_path() on VIDIOC_QUERYCAP for device path in the usb tree * read() returns buf.bytesused instead of buf.length on success - Remove brightness control from PAS106B and PAS202BCB, since it has no effect on the active pixel area (it's just for window border lines) + Implement VIDIOC_G_PARM and VIDIOC_S_PARM ioctl's + Add DAC magnitude, DAC sign, green balance and exposure controls for PAS106B and PAS202BCB image sensors + Add an additional pixel format for compressed video: V4L2_PIX_FMT_SN9C10X + VIDIOC_S_JPEGCOMP and VIDIOC_G_JPEGCOMP are used to set or get the current compression quality + New documentation note in "Notes for V4L2 application developers" paragraph about video formats and compressed data. + Documentation updates about the new features Signed-off-by: Luca Risolia Signed-off-by: Greg Kroah-Hartman [PATCH] USB: misc USB gadget cleanups On Tue, Nov 09, 2004 at 08:42:43AM -0800, Greg KH wrote: > On Sun, Nov 07, 2004 at 03:20:39PM -0700, David Brownell wrote: > > On Sunday 07 November 2004 13:30, Adrian Bunk wrote: > > > The patch below makes some needlessly global USB gadget functions > > > static. > > > > It looks fine except for the one config descriptor utility > > (just strike those bits from the patch). Those are exported > > to support composite devices ... for "multi-function" devices. > > Care to send me a patch with the correct parts in it? :) >... USB gadget: make 4 needlessly global functions static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman [PATCH] USB Storage: Add unusual_devs entry for iPod This patch adds an unusual_devs.h entry for the Apple iPod as it reports one too many sectors. The patch was submitted by Avi Kivity and re-diffed by me. Greg, please apply. Signed-off-by: Avi Kivity Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman [PATCH] USB Storage: unusual_devs entry for yakumo This adds an unusual devs entry for Yakumo Mega-Image 47 - it suffers from the residue problem. Patch originally submitted by Bjoern Paetzel and I rediff'd it. From: Bjoern Paetzel Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman USB: fix up sparse lock warning in whiteheat driver Yeah, the locking is still all fucked up, but at least it's not _obviously_ wrong anymore. It still needs to be fixed properly one of these days... Signed-off-by: Greg Kroah-Hartman USB: fix up locking bugs in kl5kusb105.c that sparse found Signed-off-by: Greg Kroah-Hartman Cset exclude: david-b@pacbell.net|ChangeSet|20041112030233|28853 Revert this patch, as a later patch contains it already. As requested by David Brownell. Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb PM updates, EHCI (4/4) These EHCI updates go along with usbcore changes to avoid power_state. - Reinitialize one more register on resume-after-poweroff; and for controllers that need it, each port. - Avoid some pointless delays/faults - Defer re-enabling IRQS on resume path, to make it work with APM on a ThinkPad T40. (From: Nickolai Zeldovich ) Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman USB: fix locking bug found by sparse in ehci-sched.c Signed-off-by: Greg Kroah-Hartman USB: fix 2 locking bugs in usbtest.c as found by sparse Signed-off-by: Greg Kroah-Hartman USB: fix endian warnings as found by sparse in the rio500.c driver Signed-off-by: Greg Kroah-Hartman USB: fix sparse warnings in tiglusb.c driver Signed-off-by: Greg Kroah-Hartman USB: fix endian bug found by sparse in freecom usb-storage driver. Signed-off-by: Greg Kroah-Hartman [PATCH] USB: io_edgeport locking, flow control, and misc fixes [PATCH] io_edgeport locking, flow control, and misc fixes - Updated to version 2.7. - Added locking to protect the circular buffer, txCredits, rxBytesAvail, and read_in_progress. - With these locking fixes tests running 8 ports at 115200 bps on SMP now runs for hours without problems; before these changes this test would cause out of memory errors or oopses within minutes. - Removed the RELEVANT_IFLAG macro which mistakenly filtered out the software flow control stty flags. - Added support for mark and space parity. - Added a private read_in_progress flag rather than using (urb->status == -EINPROGRESS). - Low latency is now a module parameter, it is on by default. - Added edge_tty_recv to pass data to the tty flip buffers. - Cleared the write_urb pointer after freeing it, to prevent oops on failed open. - Cleared the txfifo.fifo pointer after freeing it, to prevent double free on failed open. - Simplified rounding the baud rate divisor. - Added some error messages. Signed-off-by: Al Borchers Signed-off-by: Greg Kroah-Hartman [PATCH] USB: revised usbserial open/close unbalanced get/put Here is a new version of the patch to usb-serial.c to fix the unbalanced kref and module get/put in serial_open and serial_close when there are errors. This version works correctly when try_module_get fails and now "rmmod --wait" works correctly. * If the low level usb serial open fails, the kref and module use counts are decremented once in open. Before, they were mistakenly decremented again in close. * If try_module_get fails, the module use count is not changed. Before, the module use count was mistakenly decremented. Now "rmmod --wait" works correctly. * The tty->driver_data pointer is never set to NULL once the port is open. Before there was a small window when it was mistakenly set to NULL for an already open port. Signed-off-by: Al Borchers Signed-off-by: Greg Kroah-Hartman USB: fix up endian issues found by sparse in io_edgeport.c driver Signed-off-by: Greg Kroah-Hartman USB: fix endian issues found by sparse in mct_u232 driver Signed-off-by: Greg Kroah-Hartman [ARM PATCH] 2231/1: remove unused file in iop321 port Patch from Dave Jiang Remove nolonger used file from arch/arm/mach-iop3xx/mm-321.c Signed-off-by: Dave Jiang Signed-off-by: Russell King [ARM PATCH] 2232/2: S3C2410 - RTC driver Patch from Ben Dooks S3C2410/S3C2440 RTC driver using arch/arm/common/rtctime.c as a base. Supports alarm, and periodic IRQ from 1 to 64Hz Signed-off-by: Ben Dooks Signed-off-by: Russell King [PATCH] rivafb: stricter memory ordering The more relaxed memory ordering od the __raw_{write,read}b broke things on ppc in the recent rivafb cleanups. [ Uglyness alert: only the 8-bit accesses are more strongly serialized. The 16- and 32-bit ones have always been relaxed. Gaah. ] Signed-off-by: Guido Guenther Signed-off-by: Linus Torvalds I2C: fix up some out of date Documentation Signed-off-by: Greg Kroah-Hartman I2C: fix up rtc8564 which should not have been changed in my previous cleanups. This fixes a reported oops. Signed-off-by: Greg Kroah-Hartman [PATCH] driver core: shrink struct device a bit This patch removes two fields from "struct device" that are duplicated in "struct dev_pm_info": power_state (which should probably vanish) and "saved_state". There were only two "real" uses of saved_state; both are now switched over to use dev_pm_info. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] fix sysfs backing store error path confusion On Nov 3, 2004, at 3:42 PM, Greg KH wrote: |On Tue, Nov 02, 2004 at 10:03:34AM -0600, Maneesh Soni wrote: ||On Tue, Nov 02, 2004 at 02:46:58AM -0600, Milton Miller wrote: |||sysfs_new_dirent returns ERR_PTR(-ENOMEM) if kmalloc fails but the callers |||were expecting NULL. || ||Thanks for spotting this. But as you said, I will prefer to change the callee. ||How about this patch? .. ||- return -ENOMEM; ||+ return NULL; | |Actually, this needs to be a 0, not NULL, otherwise the compiler |complains with a warning. I've fixed it up and applied it. | |thanks, | |greg k-h I wondered why greg thought the type was wrong. After it was merged I realized that the wrong function was changed. Here's an attempt to fix both errors. Signed-off-by: Greg Kroah-Hartman [PATCH] Add KOBJ_ONLINE I am trying to fix the current ACPI container.ko and processor.ko to use kobject_hotplug() for notification. For this I would be requiring the KOBJ_ONLINE definitions to be added to kobject_action. Signed-off-by: Anil Keshavamurty Signed-off-by: Greg Kroah-Hartman [PATCH] sysfs: fix duplicate driver registration error o Do not release existing directory if the new directory happens to be a duplicate directory. Thanks to Kay Sievers for the testcase. Signed-off-by: Maneesh Soni Signed-off-by: Greg Kroah-Hartman [PATCH] add the driver name to the hotplug environment Add the name of the device's driver to the hotplug environment of class and block devices. ACTION=add DEVPATH=/block/sda SUBSYSTEM=block SEQNUM=986 PHYSDEVPATH=/devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/host0/target0:0:0/0:0:0:0 PHYSDEVBUS=scsi PHYSDEVDRIVER=sd Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman [PATCH] add the bus name to the hotplug environment Add the name of the bus and the driver to the hotplug event for /sys/devices/*. With this addition, userspace knows what it can expect from sysfs to show up, instead of waiting for a timeout for devices without a bus. ACTION=add DEVPATH=/devices/pci0000:00/0000:00:1d.1/usb3/3-1 SUBSYSTEM=usb SEQNUM=978 PHYSDEVBUS=usb PHYSDEVDRIVER=usb Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman [PATCH] print hotplug SEQNUM as unsigned Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman [PATCH] driver core: fix up some missed power_state changes from David's patch Signed-off-by: Greg Kroah-Hartman [ARM] Fix IMX build error post sys_timer merge. [ARM] Remove unused 'mclk' element from MMC platform structure. sysfs: fix odd patch error Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: Missing newlines in debug messages As discussed on IRC, this simple patch fixes broken debug messages missing their trailing newlines. I just applied something similar to CVS, and will prepare patches for 2.4 as well. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman [PATCH] usb-serial: free interrupt_out_buffer in cleanup routines This patch frees interrupt_out_buffer in the cleanup routines. Signed off by: Lonnie Mendez Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: Recent I2C "dead code removal" breaks pmac sound. > Put the function back, and change the pmac.h file to delete the #define, > and replace the snd_pmac_keywest_write function with a real call to > i2c_smbus_write_block_data so things like this don't happen again. > > Care to write a patch to do this? It follows, along with an update of the include/linux/i2c.h to only declare functions that actually exist, but grepping the whole sound subtree shows that at least sound/oss/dmasound/tas_common.h defines a few inline functions that call i2c_smbus_write_{byte,block}_data. [I2C part] Ressuscitate i2c_smbus_write_block_data since it's actually used. Update include/linux/i2c.h to reflect the existing functions. [Sound part] Remove snd_pmac_keywest_write* wrapper macros and directly call the i2c_smbus_* functions instead. Signed-off-by: Gabriel Paubert Signed-off-by: Greg Kroah-Hartman ===== include/linux/i2c.h 1.41 vs edited ===== [PATCH] USB: io_ti new devices, circular buffer, flow control, misc fixes - Updated to version 0.7. - Added support for Edgeport 4s, 221c, 22c, 21c, 1, 1i, Watchports, Plus Power Port HP4CD, and Plus Power Port PCI. - Added a circular write buffer and locking to protect it. This fixes OPOST processing problems. - Rewrote TIChase to wait for the circular buffer to drain, to wait up to the closing wait time, and to wait for the last character out. - Fixed hardware flow control by having it stop and restart reads and set and clear tty->hw_stopped. - Removed the RELEVANT_IFLAG macro which mistakenly filtered out the software flow control stty flags. - Added a semaphore to to protect num_ports_open to fix a race during simultaneous opens--two opens could both try to submit the interrupt urb, an error. - Added a separate write_urb_in_use flag rather than relying on (urb->status == -EINPROGRESS). - Added edge_tty_recv to pass data to the tty flip buffers. - Freed memory on failed startup. - Added low latency as a module parameter, it is on by default. - Added closing wait as a module parameter, it is 40 seconds by default. - Simplified rounding the baud rate divisor. - Added some error messages. Signed-off-by: Al Borchers Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: small PCI probe patch for odd 64 bit BARs On Thu, Nov 11, 2004 at 09:54:19AM -0800, Greg KH wrote: > I'll wait till you test this on 2.6 before applying it. OK. Tested now on real hardware in 32 bit and 64 bit kernels. 32 bit found another dumbness, that we can fix up. Some PCI bridges default their UPPER prefetch windows to an unused state of base > limit. We should not use those values if we find that. It might be nice to reprogram them to 0, in fact. Yes, BIOS should fix that up, but apparently, some do not. Signed-Off-By: Tim Hockin Signed-off-by: Greg Kroah-Hartman [PATCH] chrp_pci.c: replace pci_find_device with for_each_pci_dev Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] gemini_pci.c: replace pci_find_device with for_each_pci_dev Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] matroxfb_base.c: convert pci_find_device to pci_get_device As pci_find_device is going away I've replaced it with pci_get_device. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] lopec.c: replace pci_find_device with pci_get_device As pci_find_device is going away I have replaced this call with pci_get_device. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] k2.c: replace pci_find_device with pci_get_device As pci_find_device is going away I have replaced this call with pci_get_device. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] cmipci.c: convert pci_find_device to pci_get_device As pci_find_device is going away I've replaced it with pci_get_device. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] drm_drv.h: replace pci_find_device As pci_find_device is going away I've replaced it with pci_get_device. for_each_pci_dev is a macro wrapper around pci_get_device. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] sis-agp.c: replace pci_find_device with pci_get_device As pci_find_device is going away soon I have converted this file to use pci_get_device instead. for_each_pci_dev is a macro wrapper around pci_get_device. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] pci-gart.c: replace pci_find_device with pci_get_device As pci_find_device is going away I've replaced it with pci_get_device. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] ret_mb_a_pci.c: replace pci_find_device with pci_get_device As pci_find_device is going away I've replaced it with pci_get_device. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] pci_iommu.c: replace pci_find_device with pci_get_device As pci_find_device is going away I've replaced it with pci_get_device. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] isa.c: replace pci_find_device with pci_get_device As pci_find_device is going away I've replaced it with pci_get_device. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] ebus.c: replace pci_find_device with pci_get_device Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] fixups-dreamcast.c: replace pci_find_device with pci_get_device As pci_find_device is going away I've replaced it with pci_get_device and pci_dev_put. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] sandpoint.c: replace pci_find_device with pci_get_device As pci_find_device is going away I've replaced it with pci_get_device. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] prpmc750.c: replace pci_find_device with pci_get_device As pci_find_device is going away I've replaced it with pci_get_device. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] mcpn765.c: replace pci_find_device with pci_get_device As pci_find_device is going away I've replaced it with pci_get_device and pci_dev_put. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] pcore.c: replace pci_find_device with pci_get_device As pci_find_device is going away I've replaced it with pci_get_device and pci_dev_put. Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] pmac_pci.c: replace pci_find_device with pci_get_device As pci_find_device is going away I've replaced it with pci_get_device. Signed-off-by: Hanna Linder [PATCH] pplus.c: replace pci_find_device with pci_get_device Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [PATCH] prep_pci.c: replace pci_find_device with pci_get_device Signed-off-by: Hanna Linder Signed-off-by: Greg Kroah-Hartman [ARM] Add platform_device-based partition and map information. This adds platform_device-based partition and map information for badge4, cerf, collie, h3600, hackkit and shannon SA1100 machine types. USB: fix sparse warnings in io_ti.c Signed-off-by: Greg Kroah-Hartman USB: fix up a bunch of sparse bitwise warnings in the ohci driver This all because of stupid hardware implementations that can't decide which endian form they want to run the chip in... Signed-off-by: Greg Kroah-Hartman [ARM] Remove broken SA1100 machine support. This removes a bunch of SA1100 machine support files which have been unable to be built for a while, due to missing out on updates. Warning of removal had been posted to the ARM kernel mailing list, and this cset represents those which did not attract any interest. [MTD] sa1100: add driver model support and remove static flash probing This prepares the SA1100 flash driver to accept platform data via the driver model. [MTD] sa1100: split out sub-device init/destruction. [libata] remove dependence on PCI Most of this work was done by "Mat Loikkanen" . * use struct device rather than struct pci_dev * use generic DMA routines (dma_xxx) and generic struct device routines (dev_xxx) * isolate PCI-specific helpers inside CONFIG_PCI [MTD] sa1100: consolidate mtd and partition destructors. [MTD] sa1100: add container structure for one logical flash device. [MTD] sa1100: more driver model integration and consolidation. - combine sa1100_locate_partitions with sa1100_mtd_probe. - set device driver data in the probe method, and use this to get at our driver private information in the other methods. [MTD] sa1100: remove static partitioning information. Use partitioning information passed in via the platform device instead. This means that individual machine files in arch/arm/mach-sa1100 can contain their partitioning information. [MTD] sa1100: Use set_vpp functions provided by machine support code. [MTD] sa1100: Obtain flash device location from platform device. Remove static flash device location definitions since they're now obsolete. Additionally, dynamically allocate driver private data structures. [ARM PATCH] 2238/1: S3C2410 - pm.h remove init code if not used Patch from Ben Dooks Remove s3c2410_pm_init() if CONFIG_PM is not set. Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2239/1: S3C2410 - add iPAQ rx3715 machine Patch from Ben Dooks Add machine entry and support for the HP iPAQ rx3715 into arch/arm/mach-s3c2410, as well as updating the default configuration for the s3c2410 to include it. Signed-off-by: Ben Dooks Signed-off-by: Russell King [SERIAL] Add sparse __iomem annotations. [SERIAL] serial driver fixes Patch from Alan Cox, expanded to cover ARM drivers by Russell King. - define SUPPORT_SYSRQ early - ensure consistent include ordering - use proper helper functions for flip buffer handling - remove deadlock on overrun [ARM PATCH] 2237/1: S3C2410 - new serial driver - update serial_core.h (4/4) Patch from Ben Dooks Add PORT_S3C2440 to include/linux/serial_core.h Signed-off-by: Ben Dooks Signed-off-by: Russell King [PATCH] EDD: fix too short array Bingo... edd_devices[] was too short. When we keep more than 6 signatures, it overruns the end. Also, I rewrote edd_num_devices to be clearer about its goal. This patch is necessary even after the last edd.S patch was reverted. Thanks to Christian Kujau for testing and narrowing it down enough to debug this. It still doesn't explain why Christian's BIOS reports more devices than he has, that's still up in the air, so don't re-apply the edd.S patch just reverted. Signed-off-by: Matt Domsch Signed-off-by: Linus Torvalds [libata] bump versions, add MODULE_VERSION() tags Also remove dep on CONFIG_EXPERIMENTAL for libata itself, and several libata drivers. Parenthize nth_page() macro arg, in linux/mm.h. [PATCH] rivafb: clean up ordering constraints I had another look at the ugly rivafb memory ordering requirements. It seems P{V,C}IO areas are only accessed using VGA_{RD,WR}8 macros. NV_{RW,WR}08 are never actually used directly. So this patch makes at least usage consistent: VGA_{RD,WR}8 to access "I/O areas" in an ordered way. NV_* for the rest. Signed-off-by: Guido Guenther Signed-off-by: Linus Torvalds ppc: fix up pmac IDE driver for driver core changes device power state is in "dev.power.power_state" now, rather than in "dev.power_state". usb: edgeport serial driver uses CMSPAR, which not all architectures support If CMSPAR doesn't exist, just #define it to zero. That makes the code automatically DTRT. [PATCH] remove if !PARTITION_ADVANCED condition in defaults Many people are being bitten by the fact that if they select CONFIG_PARTITION_ADVANCED in order to get some additional support, they suddenly lose support for the MSDOS_PARTITION type. Moreover, everybody needs MSDOS_PARTITION - also people not on i386, since it is the type used on smart media and compact flash and similar cards. So, the below advises people "Say Y here" for MSDOS_PARTITION, and does not change the default choices when PARTITION_ADVANCED is selected. [PATCH] add __initdata in floppy.c [PATCH] __devinit in sound/oss/es1371.c It is forbidden to refer from __devinit to __init. (Unless one argues that in the given situation hotplugging is actually impossible. Too ugly.) However, es1371_probe() is __devinit and referred to __initdata initvol[] and to __init src_init(). [PATCH] __init for inflate.c In do_mounts_rd.c and initramfs.c there are many references from .text to .text.init because of the inclusion of lib/inflate.c. The below adds INIT markup in lib/inflate.c. [PATCH] __init in i386/kernel/cpu/nexgen.c [PATCH] __devinit in pci/generic.c Routines referred to from __devinitdata. [PATCH] __devinit in ide/pci/rz1000.c [PATCH] __init and i386 timers The i386 timers use a struct timer_opts that has a field init pointing at a __init function. The rest of the struct is not __init. Nothing is wrong, but if we want to avoid having references to init stuff in non-init sections, some reshuffling is needed. The below replaces struct timer_opts { int (*init)(char *override); ... more ... }; by the two structs struct timer_opts { ... more ... }; struct init_time_opts { int (*init)(char *override); struct timer_opts *opts; }; where the second is __initdata. [PATCH] __init in scsi/scsi_devinfo.c [PATCH] __devinit in parport_pc.c [PATCH] __init in mm/slab.c The below removes an __initdata (for initarray_generic that is referenced in non-init code). [PATCH] __init in reboot.c [PATCH] __initdata in dm.c [PATCH] no __init in serial/8250.c Referenced in non-init context. [PATCH] no __initdata in netfilter Stuff marked initdata that is referenced in non-init context. [PATCH] scsi/mesh: module_param corrections Correct MODULE_PARM to module_param (somehow I changed the macro parameters but not the macro invocation). Signed-off-by: Randy Dunlap Signed-off-by: Randy Dunlap [APPLETALK]: Missing file add in recent commit. This fixes up ChangeSet 1.2086.1.75 Signed-off-by: David S. Miller [NET]: No reason for pktgen.c to include pci.h Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller [PATCH] fix sata_svw compile Current BK doesn't compile with the G5 defconfig because the last libata updated missed to change sata_svw to the new conventions. Signed-off-by: Jeff Garzik [ARM] Fix Acorn SCSI drivers to use ecard_{request,release}_resources [ARM] ecard: dumpirq state on unrecognised interrupts as well. [ARM] icside: use MMIO for board specific registers. [ARM] icside: use MMIO for IDE registers. [ARM] rapide: use MMIO for IDE registers. make osst compile again after st structure changes In a recent patch, all the ST_ typedefs were removed from st.h. One of the side effects of this makes osst no longer compile. This patch replaces all of the typedef uses from st.h with their struct equivalents. Signed-off-by: James Bottomley [ARM PATCH] 2240/1: S3C2410 - clock device id update Patch from Ben Dooks Clock code now uses the supplied device to check for the id of the clock, so uart clocks are now simply "uart" instead of "uart0", "uart1" and "uart2" Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2235/1: S3C2410 - new serial driver - core updates (2/4) Patch from Ben Dooks Update the arch/arm/mach-s3c2410 core files for the new serial port bits, and fix the bugs with s3c2440 handling. Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2236/1: S3C2410 - new serial driver - machine updates (3/4) Patch from Ben Dooks Update the s3c2410 machines for the new serial handling, as well as add the clock sources the bast and vr1000 rely on. Signed-off-by: Ben Dooks Signed-off-by: Russell King [PATCH] warn once for unknown SCSI command Warn once for each unknown command sent through SG_IO or the old SCSI command ioctl. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds [PATCH] minor io scheduler documentation fixes Correct wrong paths and add link to deadline documentation. Patch from Christian Kujau Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds [PATCH] allow arch override of BIOVEC_PHYS_MERGEABLE This patch is from the Xen crew - it allows override of deciding whether two given pages can be considered physically contigous or not. This is similar to how we handle iommu and virtual merging. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds [PATCH] tcx compile fix (typo) Spot the typo. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] missing braces in macros (asm-alpha/mmzone.h) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds [PATCH] x86_64: assign_irq_vector should not be marked __init This box crashed at startup today and I noticed that some modules will need to have assign_irq_vector() available although it is marked as __init. Looks like it was done for i386 in but not x86_64... Signed-off-by: Alexander Nyberg Signed-off-by: Linus Torvalds [PATCH] Mark as_init and as_exit as init and exit functions Mark as_init and as_exit as init and exit functions, and make them static. Signed-off-by: Chris Wright Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds [PATCH] Mark cfq_exit as an exit function Mark cfq_exit function as and exit function, and make it static. Signed-off-by: Chris Wright Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds [PATCH] Mark deadline_init and deadline_exit as init and exit functions Mark deadline_init and deadline_exit as init and exit functions, and make them static. Signed-off-by: Chris Wright Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds [PATCH] m68knommu: add 527x and 528x support to ColdFire UART definitions Add conditional support for the 527x and 528x UART hardware to the common ColdFire serial port header. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: add 527x and 528x support to ColdFire DMA definitions Add support for the 527x ColdFire family, and change the 5282 support to be the generic 528x family in ColdFire DMA support defines. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: move definition of kernel stack size Move definition of kernel stack size so that asm files can use it. Patch submitted by Philippe De Muyter . Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: update comments in ColdFire PIT timer include Update PIT timer comments to reflect the fact that it is also used in the new ColdFire 527x family of processors. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: kernel startup code for the ColdFire 5272 Feith SCALES board Kernel startup code specific to the ColdFire 5272 based Feith SACLES board. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: add ColdFire 528x CPU reset code Add ColdFire 528x specific CPU reset code. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: include 527x and 528x SIM hardware defines in common ColdFire SIM header Include the 527x and 528x family SIM module hardware definitions in the generic SIM include. All ColdFire specific code just includes the generic sim include without regard to which actuall ColdFire family member we are compiling for. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds [PATCH] m68knommu: move senTec board supoprt to common 528x ColdFire directory Move ColdFire 5282 based senTec board startup code to the common 528x directory. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds x86: only single-step into signal handlers if the tracer asked for it. Linux 2.6.10-rc2