commit 19af35546de68c872dcb687613e0902a602cb20e Author: Linus Torvalds Date: Sun Feb 10 14:18:14 2008 -0800 Linux 2.6.25-rc1 .. and I really need to call it something else. Maybe it is time to bring back the weasel series, since weasels always make me feel good about a kernel. commit b6ce068a1285a24185b01be8a49021827516b3e1 Author: Matthew Wilcox Date: Sun Feb 10 09:45:28 2008 -0500 Change pci_raw_ops to pci_raw_read/write We want to allow different implementations of pci_raw_ops for standard and extended config space on x86. Rather than clutter generic code with knowledge of this, we make pci_raw_ops private to x86 and use it to implement the new raw interface -- raw_pci_read() and raw_pci_write(). Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds commit a0ca9909609470ad779b9b9cc68ce96e975afff7 Author: Ivan Kokshaysky Date: Mon Jan 14 17:31:09 2008 -0500 PCI x86: always use conf1 to access config space below 256 bytes Thanks to Loic Prylli , who originally proposed this idea. Always using legacy configuration mechanism for the legacy config space and extended mechanism (mmconf) for the extended config space is a simple and very logical approach. It's supposed to resolve all known mmconf problems. It still allows per-device quirks (tweaking dev->cfg_size). It also allows to get rid of mmconf fallback code. Signed-off-by: Ivan Kokshaysky Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds commit 712a30e63c8066ed84385b12edbfb804f49cbc44 Author: Bastian Blank Date: Sun Feb 10 16:47:57 2008 +0200 splice: fix user pointer access in get_iovec_page_array() Commit 8811930dc74a503415b35c4a79d14fb0b408a361 ("splice: missing user pointer access verification") added the proper access_ok() calls to copy_from_user_mmap_sem() which ensures we can copy the struct iovecs from userspace to the kernel. But we also must check whether we can access the actual memory region pointed to by the struct iovec to fix the access checks properly. Signed-off-by: Bastian Blank Acked-by: Oliver Pinter Cc: Jens Axboe Cc: Andrew Morton Signed-off-by: Pekka Enberg Signed-off-by: Linus Torvalds commit 30ddb159ff3c632fdad3c0abc2e7d586a59bc5d1 Author: David S. Miller Date: Sun Feb 10 03:48:15 2008 -0800 [PKT_SCHED] ematch: Fix build warning. Commit 954415e33ed6cfa932c13e8c2460bd05e50723b5 ("[PKT_SCHED] ematch: tcf_em_destroy robustness") removed a cast on em->data when passing it to kfree(), but em->data is an integer type that can hold pointers as well as other values so the cast is necessary. Signed-off-by: David S. Miller commit c289b074b66e2e59c65aba73f40b99e797e92d2f Author: Oleg Nesterov Date: Fri Feb 1 20:41:30 2008 +0300 hrtimer: don't modify restart_block->fn in restart functions hrtimer_nanosleep_restart() clears/restores restart_block->fn. This is pointless and complicates its usage. Note that if sys_restart_syscall() doesn't actually happen, we have a bogus "pending" restart->fn anyway, this is harmless. Signed-off-by: Oleg Nesterov Cc: Alexey Dobriyan Cc: Pavel Emelyanov Cc: Peter Zijlstra Cc: Toyo Abe Cc: Andrew Morton Signed-off-by: Thomas Gleixner commit 416529374b4793ba2d2e97e736d108a2e0f3ef07 Author: Oleg Nesterov Date: Fri Feb 1 20:35:31 2008 +0300 hrtimer: fix *rmtp/restarts handling in compat_sys_nanosleep() Spotted by Pavel Emelyanov and Alexey Dobriyan. compat_sys_nanosleep() implicitly uses hrtimer_nanosleep_restart(), this can't work. Make a suitable compat_nanosleep_restart() helper. Introduced by commit c70878b4e0b6cf8d2f1e46319e48e821ef4a8aba hrtimer: hook compat_sys_nanosleep up to high res timer code Also, set ->addr_limit = KERNEL_DS before doing hrtimer_nanosleep(), this func was changed by the previous patch and now takes the "__user *" parameter. Thanks to Ingo Molnar for fixing the bug in this patch. Signed-off-by: Oleg Nesterov Cc: Andrew Morton Cc: Alexey Dobriyan Cc: Pavel Emelyanov Cc: Peter Zijlstra Cc: Toyo Abe Signed-off-by: Thomas Gleixner commit 080344b98805553f9b01de0f59a41b1533036d8d Author: Oleg Nesterov Date: Fri Feb 1 17:29:05 2008 +0300 hrtimer: fix *rmtp handling in hrtimer_nanosleep() Spotted by Pavel Emelyanov and Alexey Dobriyan. hrtimer_nanosleep() sets restart_block->arg1 = rmtp, but this rmtp points to the local variable which lives in the caller's stack frame. This means that if sys_restart_syscall() actually happens and it is interrupted as well, we don't update the user-space variable, but write into the already dead stack frame. Introduced by commit 04c227140fed77587432667a574b14736a06dd7f hrtimer: Rework hrtimer_nanosleep to make sys_compat_nanosleep easier Change the callers to pass "__user *rmtp" to hrtimer_nanosleep(), and change hrtimer_nanosleep() to use copy_to_user() to actually update *rmtp. Small problem remains. man 2 nanosleep states that *rtmp should be written if nanosleep() was interrupted (it says nothing whether it is OK to update *rmtp if nanosleep returns 0), but (with or without this patch) we can dirty *rem even if nanosleep() returns 0. NOTE: this patch doesn't change compat_sys_nanosleep(), because it has other bugs. Fixed by the next patch. Signed-off-by: Oleg Nesterov Cc: Alexey Dobriyan Cc: Michael Kerrisk Cc: Pavel Emelyanov Cc: Peter Zijlstra Cc: Toyo Abe Cc: Andrew Morton Signed-off-by: Thomas Gleixner include/linux/hrtimer.h | 2 - kernel/hrtimer.c | 51 +++++++++++++++++++++++++----------------------- kernel/posix-timers.c | 14 +------------ 3 files changed, 30 insertions(+), 37 deletions(-) commit e13a2e61dd5152f5499d2003470acf9c838eab84 Author: john stultz Date: Sun Feb 10 10:48:03 2008 +0100 ntp: correct inconsistent interval/tick_length usage clocksource initialization and error accumulation. This corrects a 280ppm drift seen on some systems using acpi_pm, and affects other clocksources as well (likely to a lesser degree). Signed-off-by: John Stultz Cc: Roman Zippel Cc: Steven Rostedt Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 21347456abfbf5bc7fcace7327476736bbb28abe Author: Jarek Poplawski Date: Sat Feb 9 23:44:00 2008 -0800 [NET_SCHED] sch_htb: htb_requeue fix htb_requeue() enqueues skbs for which htb_classify() returns NULL. This is wrong because such skbs could be handled by NET_CLS_ACT code, and the decision could be different than earlier in htb_enqueue(). So htb_requeue() is changed to work and look more like htb_enqueue(). Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 238fc7eac8e74681da7a6cb6748afb5422afc1be Author: Rami Rosen Date: Sat Feb 9 23:43:11 2008 -0800 [IPV6]: Replace using the magic constant "1024" with IP6_RT_PRIO_USER for fc_metric. This patch replaces the explicit usage of the magic constant "1024" with IP6_RT_PRIO_USER in the IPV6 tree. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit da219b7c69bd5219fe63b1f2fc2c96eb7a21d2c6 Author: Andrew Morton Date: Sat Feb 9 23:42:17 2008 -0800 starfire: secton fix gcc-3.4.4 on powerpc: drivers/net/starfire.c:219: error: version causes a section type conflict Cc: Jeff Garzik Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 4f14b92f454150293d79031d210cc678329f3e02 Author: Andrew Morton Date: Sat Feb 9 23:41:40 2008 -0800 via-velocity: section fix From: Andrew Morton gcc-3.4.4 on powerpc: drivers/net/via-velocity.c:443: error: chip_info_table causes a section type conflict on this one I had to remove the __devinitdata too. Don't know why. Cc: Jeff Garzik Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit aa738adf89deede805d821feddd5b07999904ffd Author: Andrew Morton Date: Sat Feb 9 23:41:08 2008 -0800 natsemi: section fix gcc-3.4.4 on powerpc: drivers/net/natsemi.c:245: error: natsemi_pci_info causes a section type conflict Cc: Jeff Garzik Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 952b3494cf9d4ff7f48c13363393cab15cde056f Author: Andrew Morton Date: Sat Feb 9 23:40:34 2008 -0800 typhoon: section fix gcc-3.4.4 on powerpc: drivers/net/typhoon.c:137: error: version causes a section type conflict Cc: Jeff Garzik Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit f4e64333f829af6b2fe536b0f556d7a6b561c0ef Author: Sam Ravnborg Date: Sat Feb 9 23:29:28 2008 -0800 isdn: fix section mismatch warning for ISACVer Fix following warnings: WARNING: drivers/isdn/hisax/built-in.o(.text+0x19723): Section mismatch in reference from the function ISACVersion() to the variable .devinit.data:ISACVer WARNING: drivers/isdn/hisax/built-in.o(.text+0x2005b): Section mismatch in reference from the function setup_avm_a1_pcmcia() to the function .devinit.text:setup_isac() ISACVer were only used from function annotated __devinit so add same annotation to ISACVer. One af the fererencing functions missed __devinit so add it and kill an additional warning. Signed-off-by: Sam Ravnborg Acked-by: Karsten Keil Cc: Jeff Garzik Signed-off-by: David S. Miller commit 2fddb6e277ebdb9690c3c7aa0eead5c208701b71 Author: Sam Ravnborg Date: Sat Feb 9 23:28:50 2008 -0800 isdn: fix section mismatch warnings from hisax_cs_setup_card Fix the following warnings: WARNING: drivers/isdn/hisax/built-in.o(.text+0x722): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_teles3() WARNING: drivers/isdn/hisax/built-in.o(.text+0x72c): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_s0box() WARNING: drivers/isdn/hisax/built-in.o(.text+0x736): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_telespci() WARNING: drivers/isdn/hisax/built-in.o(.text+0x747): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_avm_pcipnp() WARNING: drivers/isdn/hisax/built-in.o(.text+0x74e): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_elsa() WARNING: drivers/isdn/hisax/built-in.o(.text+0x755): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_diva() WARNING: drivers/isdn/hisax/built-in.o(.text+0x75c): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_sedlbauer() WARNING: drivers/isdn/hisax/built-in.o(.text+0x763): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_netjet_s() WARNING: drivers/isdn/hisax/built-in.o(.text+0x76a): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_hfcpci() WARNING: drivers/isdn/hisax/built-in.o(.text+0x771): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_hfcsx() WARNING: drivers/isdn/hisax/built-in.o(.text+0x778): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_niccy() WARNING: drivers/isdn/hisax/built-in.o(.text+0x77f): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_bkm_a4t() WARNING: drivers/isdn/hisax/built-in.o(.text+0x786): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_sct_quadro() WARNING: drivers/isdn/hisax/built-in.o(.text+0x78d): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_gazel() WARNING: drivers/isdn/hisax/built-in.o(.text+0x794): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_w6692() WARNING: drivers/isdn/hisax/built-in.o(.text+0x79b): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_netjet_u() WARNING: drivers/isdn/hisax/built-in.o(.text+0x7a2): Section mismatch in reference from the function hisax_cs_setup_card() to the function .devinit.text:setup_enternow_pci() checkcard() are the only user of hisax_cs_setup_card(). And checkcard is only used during init or when hot plugging ISDN devices. So annotate hisax_cs_setup_card() with __devinit. checkcard() is used by exported functions so it cannot be annotated __devinit. Annotate it with __ref so modpost ignore references to _devinit section. Signed-off-by: Sam Ravnborg Acked-by: Karsten Keil Cc: Jeff Garzik Signed-off-by: David S. Miller commit d348c2a3c8ad0948592f9a1138170002497903e2 Author: Sam Ravnborg Date: Sat Feb 9 23:28:12 2008 -0800 isdn: fix section mismatch warnings in isac.c and isar.c Fix the following warnings: WARNING: drivers/isdn/hisax/built-in.o(.text+0x1b276): Section mismatch in reference from the function inithscxisac() to the function .devinit.text:clear_pending_isac_ints() WARNING: drivers/isdn/hisax/built-in.o(.text+0x1b286): Section mismatch in reference from the function inithscxisac() to the function .devinit.text:initisac() WARNING: drivers/isdn/hisax/built-in.o(.text+0x1fec7): Section mismatch in reference from the function AVM_card_msg() to the function .devinit.text:clear_pending_isac_ints() WARNING: drivers/isdn/hisax/built-in.o(.text+0x21669): Section mismatch in reference from the function AVM_card_msg() to the function .devinit.text:clear_pending_isac_ints() WARNING: drivers/isdn/hisax/built-in.o(.text+0x21671): Section mismatch in reference from the function AVM_card_msg() to the function .devinit.text:initisac() WARNING: drivers/isdn/hisax/built-in.o(.text+0x2991e): Section mismatch in reference from the function Sedl_card_msg() to the function .devinit.text:clear_pending_isac_ints() WARNING: drivers/isdn/hisax/built-in.o(.text+0x29936): Section mismatch in reference from the function Sedl_card_msg() to the function .devinit.text:initisac() WARNING: drivers/isdn/hisax/built-in.o(.text+0x2993e): Section mismatch in reference from the function Sedl_card_msg() to the function .devinit.text:initisar() WARNING: drivers/isdn/hisax/built-in.o(.text+0x2e026): Section mismatch in reference from the function NETjet_S_card_msg() to the function .devinit.text:clear_pending_isac_ints() WARNING: drivers/isdn/hisax/built-in.o(.text+0x2e02e): Section mismatch in reference from the function NETjet_S_card_msg() to the function .devinit.text:initisac() WARNING: drivers/isdn/hisax/built-in.o(.text+0x37813): Section mismatch in reference from the function BKM_card_msg() to the function .devinit.text:clear_pending_isac_ints() WARNING: drivers/isdn/hisax/built-in.o(.text+0x37823): Section mismatch in reference from the function BKM_card_msg() to the function .devinit.text:initisac() initisar(), initisac() and clear_pending_isac_ints() were all used via a cardmsg fnction - which may be called ouside __devinit context. So remove the bogus __devinit annotation of the above three functions to fix the warnings. Signed-off-by: Sam Ravnborg Acked-by: Karsten Keil Cc: Jeff Garzik Signed-off-by: David S. Miller commit 7740ac6a7cf8158e828b4cbd4fc5226e53b5d9a2 Author: Sam Ravnborg Date: Sat Feb 9 23:27:41 2008 -0800 isdn: fix section mismatch warning in hfc_sx.c Fix the following warning: WARNING: drivers/isdn/hisax/built-in.o(.text+0x35818): Section mismatch in reference from the function hfcsx_card_msg() to the function .devinit.text:inithfcsx() hfcsx_card_msg() may be called outside __devinit context. Following the program logic is looks like the CARD_INIT branch will only be taken under __devinit context but to be consistent remove the __devinit annotation of inithfcsx() so we do not mix non-__devinit and __devinit code. Signed-off-by: Sam Ravnborg Acked-by: Karsten Keil Cc: Jeff Garzik Signed-off-by: David S. Miller commit 95a940e9e1d63c2bff170fcd59ab4e1b5c4c602d Author: S.Çağlar Onur Date: Sun Feb 10 05:27:23 2008 +0200 drivers/media/video/em28xx/: Fix undefined symbol error with CONFIG_SND=N Without this you get undefined symbol errors with CONFIG_SND=N: ERROR: "snd_pcm_period_elapsed" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined! ERROR: "snd_pcm_hw_constraint_integer" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined! ERROR: "snd_pcm_set_ops" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined! ERROR: "snd_pcm_lib_ioctl" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined! ERROR: "snd_card_new" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined! ERROR: "snd_card_free" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined! ERROR: "snd_card_register" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined! ERROR: "snd_pcm_new" [drivers/media/video/em28xx/em28xx-alsa.ko] undefined! Signed-off-by: S.Çağlar Onur Signed-off-by: Linus Torvalds commit c1cb795338b17f12f3a966a74f199f640714a69d Author: S.Çağlar Onur Date: Sun Feb 10 05:19:03 2008 +0200 Update kernel/.gitignore with new auto-generated files Signed-off-by: S.Çağlar Onur Signed-off-by: Linus Torvalds commit 3b3563297341a7abd60566fce67c96a71e785200 Author: S.Çağlar Onur Date: Sun Feb 10 05:18:08 2008 +0200 Update arch/x86/boot/.gitignore with new auto-generated files Signed-off-by: S.Çağlar Onur Signed-off-by: Linus Torvalds commit 9820380a387b1135eace699270e795e3f51fc5dd Author: S.Çağlar Onur Date: Sun Feb 10 05:10:48 2008 +0200 rtc-r9701.c: silence compiler warning Commit 75b6102257874a4ea796af686de2f72cfa0452f9 ("rtc: add support for Epson RTC-9701JE V4") introduced the warning drivers/rtc/rtc-r9701.c: In function `r9701_get_datetime': drivers/rtc/rtc-r9701.c:74: warning: unused variable `time' Signed-off-by: S.Çağlar Onur Signed-off-by: Linus Torvalds commit 91a0736531c3c8a6ce49ac2a0dec0c83125936e1 Author: S.Çağlar Onur Date: Sun Feb 10 05:06:25 2008 +0200 x25_asy.c: silence compiler warning Commit 11b0cc3a4af65413ca3bb5698769e091486e0b22 ("x25_asy: Fix ref count rule violation") introduced the warning drivers/net/wan/x25_asy.c: In function `x25_asy_open_tty': drivers/net/wan/x25_asy.c:557: warning: unused variable `ld' Signed-off-by: S.Çağlar Onur Signed-off-by: Linus Torvalds commit 954415e33ed6cfa932c13e8c2460bd05e50723b5 Author: Stephen Hemminger Date: Sat Feb 9 23:26:53 2008 -0800 [PKT_SCHED] ematch: tcf_em_destroy robustness Make the code in tcf_em_tree_destroy more robust and cleaner: * Don't need to cast pointer to kfree() or avoid passing NULL. * After freeing the tree, clear the pointer to avoid possible problems from repeated free. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ed7af3b3501c8c4e3667c89c2c43347bf29ae237 Author: Stephen Hemminger Date: Sat Feb 9 23:26:17 2008 -0800 [PKT_SCHED]: deinline functions in meta match A couple of functions in meta match don't need to be inline. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8ff65b46031c47e476f70c5b82499b98e487a50c Author: Pavel Emelyanov Date: Sat Feb 9 23:24:58 2008 -0800 [SCTP]: Convert sctp_dbg_objcnt to seq files. This makes the code use a good proc API and the text ~50 bytes shorter. Signed-off-by: Pavel Emelyanov Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit 3f5340a67e75c6e34abbeafda98c85bff236109d Author: Pavel Emelyanov Date: Sat Feb 9 23:23:44 2008 -0800 [SCTP]: Use snmp_fold_field instead of a homebrew analogue. SCPT already depends in INET, so this doesn't create additional dependencies. Signed-off-by: Pavel Emelyanov Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit cd557bc1c15cbd20fbea47a150e1c7e56834e627 Author: Denis V. Lunev Date: Sat Feb 9 23:22:26 2008 -0800 [IGMP]: Optimize kfree_skb in igmp_rcv. Merge error paths inside igmp_rcv. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit bd2f747658b303d9b08d2c5bc815022d825a5e3c Author: Pavel Emelyanov Date: Sat Feb 9 23:20:06 2008 -0800 [KEY]: Convert net/pfkey to use seq files. The seq files API disposes the caller of the difficulty of checking file position, the length of data to produce and the size of provided buffer. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 61145aa1a12401ac71bcc450a58c773dd6e2bfb9 Author: Pavel Emelyanov Date: Sat Feb 9 23:19:14 2008 -0800 [KEY]: Clean up proc files creation a bit. Mainly this removes ifdef-s from inside the ipsec_pfkey_init. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 0efeaa335ce494680d1884f267eed7642dee3ca8 Author: Andrew Morton Date: Sat Feb 9 23:17:51 2008 -0800 pppol2tp: fix printk warnings drivers/net/pppol2tp.c: In function `pppol2tp_seq_tunnel_show': drivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 4) drivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 5) drivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 6) drivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 7) drivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 8) drivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 9) drivers/net/pppol2tp.c: In function `pppol2tp_seq_session_show': drivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 5) drivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 6) drivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 7) drivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 8) drivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 9) drivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 10) Not all platforms implement u64 with unsigned long long. eg: powerpc. Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit fefa864530766d8da2b8606235387c5173fb2309 Author: Andrew Morton Date: Sat Feb 9 23:17:15 2008 -0800 bnx2: section fix gcc-3.4.4 on powerpc: drivers/net/bnx2.c:67: error: version causes a section type conflict Cc: Jeff Garzik Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 53a10565be7e4e6bdac65c81630bb048d679999e Author: Andrew Morton Date: Sat Feb 9 23:16:41 2008 -0800 bnx2x: section fix From: Andrew Morton gcc-3.4.4 on powerpc: drivers/net/bnx2x.c:73: error: version causes a section type conflict Cc: Jeff Garzik Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit e88bb41595ad67a8e7d5dd8c7bbeea2e66cc0cac Author: David S. Miller Date: Sat Feb 9 23:08:53 2008 -0800 [SPARC]: Add solaris/sunos binary support to feature removal schedule. Signed-off-by: David S. Miller commit 344e53f562e21ab14734a482042713555a628d39 Author: David S. Miller Date: Sat Feb 9 22:25:50 2008 -0800 [SPARC]: Merge asm-sparc{,64}/a.out.h Signed-off-by: David S. Miller commit 469108ff3dcbc00313699d620c47f3ee1e7d19c6 Author: Theodore Tso Date: Sun Feb 10 01:11:44 2008 -0500 ext4: Add new "development flag" to the ext4 filesystem This flag is simply a generic "this is a crash/burn test filesystem" marker. If it is set, then filesystem code which is "in development" will be allowed to mount the filesystem. Filesystem code which is not considered ready for prime-time will check for this flag, and if it is not set, it will refuse to touch the filesystem. As we start rolling ext4 out to distro's like Fedora, et. al, this makes it less likely that a user might accidentally start using ext4 on a production filesystem; a bad thing, since that will essentially make it be unfsckable until e2fsprogs catches up. Signed-off-by: Theodore Tso Signed-off-by: Mingming Cao commit 26346ff681cb42c1436ed09c44dcae4809470dab Author: Aneesh Kumar K.V Date: Sun Feb 10 01:10:04 2008 -0500 ext4: Don't panic in case of corrupt bitmap Multiblock allocator calls BUG_ON in many case if the free and used blocks count obtained looking at the bitmap is different from what the allocator internally accounted for. Use ext4_error in such case and don't panic the system. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 256bdb497c6f562462f1e89fc8e1409f61ef40cb Author: Eric Sandeen Date: Sun Feb 10 01:13:33 2008 -0500 ext4: allocate struct ext4_allocation_context from a kmem cache struct ext4_allocation_context is rather large, and this bloats the stack of many functions which use it. Allocating it from a named slab cache will alleviate this. For example, with this change (on top of the noinline patch sent earlier): -ext4_mb_new_blocks 200 +ext4_mb_new_blocks 40 -ext4_mb_free_blocks 344 +ext4_mb_free_blocks 168 -ext4_mb_release_inode_pa 216 +ext4_mb_release_inode_pa 40 -ext4_mb_release_group_pa 192 +ext4_mb_release_group_pa 24 Most of these stack-allocated structs are actually used only for mballoc history; and in those cases often a smaller struct would do. So changing that may be another way around it, at least for those functions, if preferred. For now, in those cases where the ac is only for history, an allocation failure simply skips the history recording, and does not cause any other failures. Signed-off-by: Eric Sandeen Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit c4e35e07af162ea4d642b1c6ffacbb63c3ed1804 Author: Dave Kleikamp Date: Sun Feb 10 01:09:32 2008 -0500 JBD2: Clear buffer_ordered flag for barried IO request on success In JBD2 jbd2_journal_write_commit_record(), clear the buffer_ordered flag for the bh after barried IO has succeed. This prevents later, if the same buffer head were submitted to the underlying device, which has been reconfigured to not support barrier request, the JBD2 commit code could treat it as a normal IO (without barrier). This is a port from JBD/ext3 fix from Neil Brown. More details from Neil: Some devices - notably dm and md - can change their behaviour in response to BIO_RW_BARRIER requests. They might start out accepting such requests but on reconfiguration, they find out that they cannot any more. JBD2 deal with this by always testing if BIO_RW_BARRIER requests fail with EOPNOTSUPP, and retrying the write requests without the barrier (probably after waiting for any pending writes to complete). However there is a bug in the handling this in JBD2 for ext4 . When ext4/JBD2 to submit a BIO_RW_BARRIER request, it sets the buffer_ordered flag on the buffer head. If the request completes successfully, the flag STAYS SET. Other code might then write the same buffer_head after the device has been reconfigured to not accept barriers. This write will then fail, but the "other code" is not ready to handle EOPNOTSUPP errors and the error will be treated as fatal. Cc: Neil Brown Signed-off-by: Dave Kleikamp Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 7fb5409df092589b86cc9412d926879cb572b7f0 Author: Jan Kara Date: Sun Feb 10 01:08:38 2008 -0500 ext4: Fix Direct I/O locking We cannot start transaction in ext4_direct_IO() and just let it last during the whole write because dio_get_page() acquires mmap_sem which ranks above transaction start (e.g. because we have dependency chain mmap_sem->PageLock->journal_start, or because we update atime while holding mmap_sem) and thus deadlocks could happen. We solve the problem by starting a transaction separately for each ext4_get_block() call. We *could* have a problem that we allocate a block and before its data are written out the machine crashes and thus we expose stale data. But that does not happen because for hole-filling generic code falls back to buffered writes and for file extension, we add inode to orphan list and thus in case of crash, journal replay will truncate inode back to the original size. Signed-off-by: Jan Kara Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 8009f9fb3067fef6c2ca0c16f6bac786ae28639d Author: Aneesh Kumar K.V Date: Sun Feb 10 01:20:05 2008 -0500 ext4: Fix circular locking dependency with migrate and rm. In order to prevent a circular locking dependency when an unlink operation is racing with an ext4 migration, we delay taking i_data_sem until just before switch the inode format, and use i_mutex to prevent writes and truncates during the first part of the migration operation. Acked-by: Jan Kara Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 2ffd6e182c4b9ae7bebc385c021e7d083bab406a Author: Jan Engelhardt Date: Tue Jan 22 20:41:07 2008 +0100 [ARM] constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Russell King commit 72e7ae8141fa98084383e167b77d4497a59e3e10 Author: David Brownell Date: Wed Feb 6 22:03:42 2008 +0100 [ARM] 4823/1: AT91 section fix Fix section warning: WARNING: arch/arm/mach-at91/built-in.o(.text+0xd74): Section mismatch in reference from the function init_programmable_clock() to the function .init.text:at91_css_to_clk() The function init_programmable_clock() references the function __init at91_css_to_clk(). This is often because init_programmable_clock lacks a __init annotation or the annotation of at91_css_to_clk is wrong. In this case the only calls to and from init_programmable_clock() are from code marked as "__init", so this fix is trivially correct. Signed-off-by: David Brownell Acked-by: Uwe Kleine-Knig Signed-off-by: Russell King commit 86260f987319fb526e920fbe317933e5b3a0691e Author: Dmitry Krivoschekov Date: Fri Feb 8 15:02:03 2008 +0100 [ARM] 4824/1: pxa: clear RDH bit after any reset According to PXA300/310 and PXA320 Developer manuals, the ASCR[RDH] "bit needs to be cleared as part of the software initialization coming out of any reset and coming out of D3". The latter requirement is addressed by commit "c4d1fb627ff3072", as for the former (coming out of any reset), the kernel relies on boot loaders and assumes that RDH bit is cleared there. Though, not all bootloaders follow the rule so we have to clear the bit in kernel. We clear the RDH bit in pxa3xx_init() function since it is always invoked after any reset. We also preserve D1S, D2S and D3S bits from being cleared in case we invoke pxa3xx_init() function not from normal hardware reset (e.g. kexec scenario), so these bits can be properly referenced later. Signed-off-by: Dmitry Krivoschekov Signed-off-by: Russell King commit fac84939609a683503947f41eb93e1917d026263 Author: Thomas Gleixner Date: Sat Feb 9 23:24:09 2008 +0100 x86: cpa, strict range check in try_preserve_large_page() Right now, we check only the first 4k page for static required protections. This does not take overlapping regions into account. So we might end up setting the wrong permissions/protections for other parts of this large page. This can be optimized further, but correctness is the important part. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b1d95f4e41d6a5969e3a847ceeae8379f30c84c3 Author: Thomas Gleixner Date: Sat Feb 9 23:24:09 2008 +0100 x86: cpa, enable CONFIG_DEBUG_PAGEALLOC on 64-bit Now, that the page pool is in place we can enable DEBUG_PAGEALLOC on 64bit. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit eb5b5f024c40f02e9b0f3801173769a726f170fb Author: Thomas Gleixner Date: Sat Feb 9 23:24:09 2008 +0100 x86: cpa, use page pool Switch the split page code to use the page pool. We do this unconditionally to avoid different behaviour with and without DEBUG_PAGEALLOC enabled. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 76ebd0548df6ee48586e9b80d8fc2f58aa5fb51c Author: Thomas Gleixner Date: Sat Feb 9 23:24:09 2008 +0100 x86: introduce page pool in cpa DEBUG_PAGEALLOC was not possible on 64-bit due to its early-bootup hardcoded reliance on PSE pages, and the unrobustness of the runtime splitup of large pages. The splitup ended in recursive calls to alloc_pages() when a page for a pte split was requested. Avoid the recursion with a preallocated page pool, which is used to split up large mappings and gets refilled in the return path of kernel_map_pages after the split has been done. The size of the page pool is adjusted to the available memory. This part just implements the page pool and the initialization w/o using it yet. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit a03c2a48e02aacaaea211c94691b729be357e047 Author: Thomas Gleixner Date: Sat Feb 9 23:24:09 2008 +0100 x86: DEBUG_PAGEALLOC: enable after mem_init() DEBUG_PAGEALLOC must not be enabled before mem_init(). Before this point there is nothing to allocate. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 166124fde978b5a6c4412fb295c7f39711beb1b0 Author: Ingo Molnar Date: Sat Feb 9 23:24:09 2008 +0100 brk: help text typo fix Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 31f4b46ec6f889533c06537dea96bb0d20fa625b Author: Ahmed S. Darwish Date: Sat Feb 9 23:24:09 2008 +0100 lguest: accept guest _PAGE_PWT page table entries Beginning from commit 4138cc3418f5, ioremap_nocache() sets the _PAGE_PWT flag. Lguest doesn't accept a guest pte with a _PWT flag and reports a "bad page table entry" in that case. Accept guest _PAGE_PWT page table entries. Signed-off-by: Ahmed S. Darwish Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 261f0ce5ccdd17dc240d8453ca5ffc4688b92700 Author: Rafael J. Wysocki Date: Sat Feb 9 23:24:09 2008 +0100 x86 PM: update stale comments In some suspend and hibernation files in arch/x86/power there are comments referring to arch/x86-64 and arch/i386 . Update them to reflect the current code layout. Signed-off-by: Rafael J. Wysocki Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ef8b03fabfbab0738dacbb6c0c38d5af91759ca1 Author: Rafael J. Wysocki Date: Sat Feb 9 23:24:09 2008 +0100 x86 PM: consolidate suspend and hibernation code Move the hibernation-specific code from arch/x86/power/suspend_64.c to a separate file (hibernate_64.c) and the CPU-handling code to cpu_64.c (in line with the corresponding 32-bit code). Simplify arch/x86/power/Makefile . Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c57591244a08bb441c83472f5c110151bb7c2cc6 Author: Rafael J. Wysocki Date: Sat Feb 9 23:24:09 2008 +0100 x86 PM: rename 32-bit files in arch/x86/power Rename cpu.c, suspend.c and swsusp.S in arch/x86/power to cpu_32.c, hibernate_32.c and hibernate_asm_32.S, respectively, and update the purpose and copyright information in these files. Update the Makefile in arch/x86/power to reflect the above changes. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cf7700fe24301df2c8d3636cf40784651c098207 Author: Rafael J. Wysocki Date: Sat Feb 9 23:24:09 2008 +0100 x86 PM: move 64-bit hibernation files to arch/x86/power Move arch/x86/kernel/suspend_64.c to arch/x86/power . Move arch/x86/kernel/suspend_asm_64.S to arch/x86/power as hibernate_asm_64.S . Update purpose and copyright information in arch/x86/power/suspend_64.c and arch/x86/power/hibernate_asm_64.S . Update the Makefiles in arch/x86, arch/x86/kernel and arch/x86/power to reflect the above changes. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9b706aee7d92d6ac3002547aea12e3eaa0a750ae Author: Denys Vlasenko Date: Sat Feb 9 23:24:09 2008 +0100 x86: trivial printk optimizations In arch/x86/boot/printf.c gets rid of unused tail of digits: const char *digits = "0123456789abcdefghijklmnopqrstuvwxyz"; (we are using 0-9a-f only) Uses smaller/faster lowercasing (by ORing with 0x20) if we know that we work on numbers/digits. Makes strtoul smaller, and also we are getting rid of static const char small_digits[] = "0123456789abcdefx"; static const char large_digits[] = "0123456789ABCDEFX"; since this works equally well: static const char digits[16] = "0123456789ABCDEF"; Size savings: $ size vmlinux.org vmlinux text data bss dec hex filename 877320 112252 90112 1079684 107984 vmlinux.org 877048 112252 90112 1079412 107874 vmlinux It may be also a tiny bit faster because code has less branches now, but I doubt it is measurable. [ hugh@veritas.com: uppercase pointers fix ] Signed-off-by: Denys Vlasenko Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b6fbb669c8ef3a112121697ca901c290ccd35eb2 Author: Ian Campbell Date: Sat Feb 9 23:24:09 2008 +0100 x86: fix early_ioremap pagetable ops Some important parts of f6df72e71eba621b2f5c49b3a763116fac748f6e got dropped along the way, reintroduce them. Only affects paravirt guests. Signed-off-by: Ian Campbell Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 551889a6e2a24a9c06fd453ea03b57b7746ffdc0 Author: Ian Campbell Date: Sat Feb 9 23:24:09 2008 +0100 x86: construct 32-bit boot time page tables in native format. Specifically the boot time page tables in a CONFIG_X86_PAE=y enabled kernel are in PAE format. early_ioremap is updated to use the standard page table accessors. Clear any mappings beyond max_low_pfn from the boot page tables in native_pagetable_setup_start because the initial mappings can extend beyond the range of physical memory and into the vmalloc area. Derived from patches by Eric Biederman and H. Peter Anvin. [ jeremy@goop.org: PAE swapper_pg_dir needs to be page-sized fix ] Signed-off-by: Ian Campbell Cc: H. Peter Anvin Cc: Eric W. Biederman Cc: Andi Kleen Cc: Mika Penttilä Cc: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 185c045c245f46485ad8bbd8cc1100e986ff3f13 Author: Harvey Harrison Date: Sat Feb 9 23:24:09 2008 +0100 x86, core: remove CONFIG_FORCED_INLINING Other than the defconfigs, remove the entry in compiler-gcc4.h, Kconfig.debug and feature-removal-schedule.txt. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit bfc734b24671b2639218ae2ef53af91dfd30b6c9 Author: Thomas Gleixner Date: Sat Feb 9 23:24:09 2008 +0100 x86: avoid unused variable warning in mm/init_64.c Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3701d863b43d05ffeb223d269583398f914fb5d3 Author: Ingo Molnar Date: Sat Feb 9 23:24:08 2008 +0100 x86: fixup more paravirt fallout Use a common irq_return entry point for all the iret places, which need the paravirt INTERRUPT return wrapper. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1ec7fd50ba4f845d1cf6b67acabd774577ef13b6 Author: Jiri Kosina Date: Sat Feb 9 23:24:08 2008 +0100 brk: document randomize_va_space and CONFIG_COMPAT_BRK (was Re: Document randomize_va_space and CONFIG_COMPAT_BRK. Signed-off-by: Jiri Kosina Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 6697c05296fab4d113c7144459b72b6172b485a5 Author: Harvey Harrison Date: Sat Feb 9 23:24:08 2008 +0100 x86: fix sparse warnings in acpi/bus.c Add function definition and extern variables to asm-x86/acpi.h. All of these are used in bus.c in ifdef(CONFIG_X86) sections, so are only added to the x86 include headers. boot.c already includes acpi.h so no changes are needed there. Fixes the following: arch/x86/kernel/acpi/boot.c:83:4: warning: symbol 'acpi_sci_flags' was not declared. Should it be static? arch/x86/kernel/acpi/boot.c:84:5: warning: symbol 'acpi_sci_override_gsi' was not declared. Should it be static? arch/x86/kernel/acpi/boot.c:421:13: warning: symbol 'acpi_pic_sci_set_trigger' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9583d050d5b7bad76423b2bd667b174a122067a7 Author: Harvey Harrison Date: Sat Feb 9 23:24:08 2008 +0100 x86: fix sparse warning in topology.c arch/x86/kernel/topology.c:56:2: warning: returning void-valued expression Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit da7bfc50f5cb54aeee8147dca0c1de9d487cb5e0 Author: Harvey Harrison Date: Sat Feb 9 23:24:08 2008 +0100 x86: sparse warnings in pageattr.c Adjust the definition of lookup_address to take an unsigned long level argument. Adjust callers in xen/mmu.c that pass in a dummy variable. Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7c36752a6be84892afb085c67fd4209e686db482 Author: Harvey Harrison Date: Sat Feb 9 23:24:08 2008 +0100 x86: sparse warning in therm_throt.c arch/x86/kernel/cpu/mcheck/therm_throt.c:121:2: warning: returning void-valued expression Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 88a5ac89667d22e1471ba1f45ea635df1f7da06f Author: Harvey Harrison Date: Sat Feb 9 23:24:08 2008 +0100 x86: fix sparse warning in xen/time.c Use xen_khz to denote xen_specific clock speed. Avoid shadowing cpu_khz. arch/x86/xen/time.c:220:6: warning: symbol 'cpu_khz' shadows an earlier one include/asm/tsc.h:17:21: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3406c158ba8e83defb178e867919e24e110a59bf Author: Arnd Hannemann Date: Sat Feb 9 23:24:08 2008 +0100 x86: GEODE: MFGPT: fix typo in printk in mfgpt_timer_setup Signed-off-by: Arnd Hannemann Signed-off-by: Andres Salomon Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dcee77be2f0a7010633fb2c025db38550c4b0e72 Author: Jordan Crouse Date: Sat Feb 9 23:24:08 2008 +0100 x86: GEODE: make sure the right MFGPT timer fired the timer tick Each AMD Geode MFGPT timer interrupt output is paired with another timer; esentially the interrupt goes if either timer fires. This is okay, but the handlers need to be aware of this. Make sure in the timer tick handler that our timer really did expire. Signed-off-by: Jordan Crouse Signed-off-by: Andres Salomon Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f54ae69bafa16434ce46bc2f1fe556bce4d23650 Author: Andres Salomon Date: Sat Feb 9 23:24:08 2008 +0100 x86: GEODE: MFGPT: fix a potential race when disabling a timer We *really* don't want to be reading MFGPTx_SETUP and writing back those values. What we want to be doing is clearing CMP1 and CMP2 unconditionally; otherwise, we have races where CMP1 and/or CMP2 fire after we've read MFGPTx_SETUP. They can also fire between when we've written ~CNTEN to the register, and when the new register values get copied to the timer's version of the register. By clearing both fields, we're okay. Signed-off-by: Andres Salomon Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f087515c658a68454d43909d482ea4b59e7d6d5c Author: Jordan Crouse Date: Sat Feb 9 23:24:08 2008 +0100 x86: GEODE: MFGPT: Use "just-in-time" detection for the MFGPT timers There isn't much value to always detecting the MFGPT timers on Geode platforms; detection is only needed when something wants to use the timers. Move the detection code so that it gets called the first time a timer is allocated. Signed-off-by: Jordan Crouse Signed-off-by: Andres Salomon Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b0e6bf2571e9385335e6337bdedb85cb629ab3fb Author: Andres Salomon Date: Sat Feb 9 23:24:08 2008 +0100 x86: GEODE: MFGPT: make mfgpt_timer_setup available outside of mfgpt_32.c We need to be called from elsewhere, and this gets some #ifdefs out of the .c file. Signed-off-by: Andres Salomon Signed-off-by: Jordan Crouse Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9501b2efd70ad3957a70d44de54dab7c52f9b882 Author: Andres Salomon Date: Sat Feb 9 23:24:08 2008 +0100 x86: GEODE: MFGPT: replace 'flags' field with 'avail' bit Drop F_AVAIL and the 'flags' field, replacing with an 'avail' bit. This looks more understandable to me. Signed-off-by: Andres Salomon Signed-off-by: Jordan Crouse Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit fa28e067c3b8af96c79c060e163b1387c172ae75 Author: Andres Salomon Date: Sat Feb 9 23:24:08 2008 +0100 x86: GEODE: MFGPT: drop module owner usage from MFGPT API We had planned to use the 'owner' field for allowing re-allocation of MFGPTs; however, doing it by module owner name isn't flexible enough. So, drop this for now. If it turns out that we need timers in modules, we'll need to come up with a scheme that matches the write-once fields of the MFGPTx_SETUP register, and drops ponies from the sky. Signed-off-by: Andres Salomon Signed-off-by: Jordan Crouse Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 36445cf30686b9ea4ddf71f28057e4dd07db0e2d Author: Willy Tarreau Date: Sat Feb 9 23:24:08 2008 +0100 x86: GEODE fix MFGPT input clock value The GEODE MFGPT code assumed that 32kHz was 32000 Hz while the boards run on a 32.768 kHz digital watch crystal. In practise, it will not change the timer's frequency as the skew was only 2.4%, but it should provide more accurate intervals. Signed-off-by: Willy Tarreau Signed-off-by: Andres Salomon Signed-off-by: Jordan Crouse Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit e78a77c38cf0ce3b8169ff6a6fd3711e81dc22c8 Author: Andres Salomon Date: Sat Feb 9 23:24:08 2008 +0100 x86: GEODE: MFGPT: Minor cleanups - uninline timer functions; the compiler knows better than we do whether or not to inline these. - mfgpt_start_timer() had an unused 'clock' argument, drop it. From both Jordan and myself. Signed-off-by: Jordan Crouse Signed-off-by: Andres Salomon Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f13fd3cc9147801bdf56f5964c58c9838a74dd47 Author: Russell King Date: Thu Feb 7 20:17:53 2008 +0000 [ARM] pxa: remove debugging PM: printk Signed-off-by: Russell King commit baf8532a147d5b76681ce040e2c8f25a3f0e718d Author: Alex Dubov Date: Sat Feb 9 10:20:54 2008 -0800 memstick: initial commit for Sony MemoryStick support Sony MemoryStick cards are used in many products manufactured by Sony. They are available both as storage and as IO expansion cards. Currently, only MemoryStick Pro storage cards are supported via TI FlashMedia MemoryStick interface. [mboton@gmail.com: biuld fix] [akpm@linux-foundation.org: build fix] Signed-off-by: Alex Dubov Signed-off-by: Miguel Boton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 941edd030b9725f9f85bd62dfdb68cde3a50fb66 Author: Martin Schwidefsky Date: Sat Feb 9 03:11:21 2008 -0800 m68knommu: add pgtable_t CC init/main.o In file included from include2/asm/uaccess.h:8, from include/linux/poll.h:13, from include/linux/rtc.h:113, from include/linux/efi.h:19, from linux-2.6/init/main.c:43: include/linux/mm.h:1151: error: expected declaration specifiers or '...' before 'pgtable_t' Signed-off-by: Martin Schwidefsky Reported-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 257ce734736118282afdeaac5112dbf5bb1949f9 Author: Martin Schwidefsky Date: Sat Feb 9 03:13:00 2008 -0800 Add pgtable_t to remaining nommu architectures The pte_fn_t in include/linux/mm.h make it necessary for all architectures to define a pgtable_t type, even those that do not have an mmu. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 541645be8bbb67d39113096263dcf00615d789e3 Author: Pete Zaitcev Date: Sat Feb 9 00:10:17 2008 -0800 ub: fix up the conversion to sg_init_table() Signed-off-by: Pete Zaitcev Cc: "Oliver Pinter" Cc: FUJITA Tomonori Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6a4c8bdb30370991905941ddf85d28dde7370b1 Author: Christoph Hellwig Date: Sat Feb 9 00:10:16 2008 -0800 fix up kerneldoc in fs/ioctl.c a little bit - remove non-standard in/out markers - use tabs for formatting Signed-off-by: Christoph Hellwig Cc: "Randy.Dunlap" Cc: Erez Zadok Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60c12b1202a60eabb1c61317e5d2678fcea9893f Author: David Rientjes Date: Sat Feb 9 00:10:15 2008 -0800 memcontrol: add vm_match_cgroup() mm_cgroup() is exclusively used to test whether an mm's mem_cgroup pointer is pointing to a specific cgroup. Instead of returning the pointer, we can just do the test itself in a new macro: vm_match_cgroup(mm, cgroup) returns non-zero if the mm's mem_cgroup points to cgroup. Otherwise it returns zero. Signed-off-by: David Rientjes Cc: Balbir Singh Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6966a97753854c8b5336cf3997d5d1d205d91b12 Author: Jiri Kosina Date: Sat Feb 9 00:10:14 2008 -0800 UML: fix hostfs build /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/hostfs/hostfs_kern.c: In function 'hostfs_show_options': /home/bunk/linux/kernel-2.6/git/linux-2.6/fs/hostfs/hostfs_kern.c:328: error: dereferencing pointer to incomplete type We need to include mount.h to get vfsmount. Signed-off-by: Jiri Kosina Reported-by: Adrian Bunk Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 880cdf3a8122288d37829ce01eadf8822bb386db Author: Matt Mackall Date: Sat Feb 9 00:10:12 2008 -0800 Fix compile error on nommu for is_swap_pte CC mm/vmscan.o In file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/mm/vmscan.c:44: /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/swapops.h: In function 'is_swap_pte': /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/swapops.h:48: error: implicit declaration of function 'pte_none' /home/bunk/linux/kernel-2.6/git/linux-2.6/include/linux/swapops.h:48: error: implicit declaration of function 'pte_present' Does it ever make sense to ask "is this pte a swap entry?" on a machine with no MMU? Presumably this also means it has no ptes too, right? In which case, it's better to comment the whole function out. Then when someone tries to ask the above meaningless question, they get a compile error rather than a meaningless answer. Signed-off-by: Matt Mackall Cc: Mike Frysinger Reported-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6252d702c5311ce916caf75ed82e5c8245171c92 Author: Martin Schwidefsky Date: Sat Feb 9 18:24:37 2008 +0100 [S390] dynamic page tables. Add support for different number of page table levels dependent on the highest address used for a process. This will cause a 31 bit process to use a two level page table instead of the four level page table that is the default after the pud has been introduced. Likewise a normal 64 bit process will use three levels instead of four. Only if a process runs out of the 4 tera bytes which can be addressed with a three level page table the fourth level is dynamically added. Then the process can use up to 8 peta byte. Signed-off-by: Martin Schwidefsky commit 5a216a20837c5f5fa1ca4b8ae8991ffd96b08e6f Author: Martin Schwidefsky Date: Sat Feb 9 18:24:36 2008 +0100 [S390] Add four level page tables for CONFIG_64BIT=y. Signed-off-by: Martin Schwidefsky commit 146e4b3c8b92071b18f0b2e6f47165bad4f9e825 Author: Martin Schwidefsky Date: Sat Feb 9 18:24:35 2008 +0100 [S390] 1K/2K page table pages. This patch implements 1K/2K page table pages for s390. Signed-off-by: Martin Schwidefsky commit 0c1f1dcd8c7792aeff6ef62e9508b0041928ab87 Author: Martin Schwidefsky Date: Sat Feb 9 18:24:34 2008 +0100 [S390] Remove a.out header file. Signed-off-by: Martin Schwidefsky commit 59eb1ca7a8906412478656ba79261036261f4b76 Author: Christian Borntraeger Date: Sat Feb 9 18:24:33 2008 +0100 [S390] sclp_vt220: Fix vt220 initialization There are two problems in the vt220 intialization: o Currently the vt220 console looses early printk events until the the vt220 tty is registered. o console should work if tty_register fails sclp_vt220_con_init calls __sclp_vt220_init and register_console. It does not register the driver with the sclp core code via sclp_register. That results in an sclp_send_mask=0. Therefore, __sclp_vt220_emit will reject buffers with EIO. Unfortunately register_console will cause the printk buffer to be sent to the console and, therefore, every early message gets dropped. The sclp_send_mask is set later during boot, when sclp_vt220_tty_init calls sclp_register. The solution is to move the sclp_register call from sclp_vt220_tty_init to __sclp_vt220_init. This makes sure that the console is properly registered with the sclp subsystem before the first log buffer messages are passed to the vt220 console. We also adopt the cleanup on error to keep the console alive if tty_register fails. Thanks to Peter Oberparleiter and Heiko Carstens for review and ideas for improvement. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit bf3f837804997e5f5d9888051e9e5356961af0f2 Author: Ursula Braun Date: Sat Feb 9 18:24:32 2008 +0100 [S390] qdio: avoid hang when establishing qdio queues If qdio establish runs in parallel with a channel error, ccw_device_start_timeout may not trigger the qdio_timeout_handler. In this case neither QDIO_IRQ_STATE_ESTABLISHED nor QDIO_IRQ_STATE_ERR is reached and the following wait_event hangs forever. Solution: do not make use of the timeout option with ccw_device_start, but add a timeout to the following wait_event. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 522d8dc08b16deb51c128d544ab1cb9c621c950e Author: Martin Schwidefsky Date: Sat Feb 9 18:24:31 2008 +0100 [S390] VMEM_MAX_PHYS overflow on 31 bit. With the new space saving spinlock_t and a non-debug configuration the struct page only has 32 bytes for 31 bit s390. The causes an overflow in the calculation of VMEM_MAX_PHYS which renders the kernel unbootable. Signed-off-by: Martin Schwidefsky commit b90b34c6802865d07f482650eff82a4b38df6d79 Author: Felix Beck Date: Sat Feb 9 18:24:30 2008 +0100 [S390] zcrypt: Do not start ap poll thread per default Do not start ap poll thread per default to increase perfomance with z/VM. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit 6d88f827d7c3e73d11a62fdabccca001aece7295 Author: Martin Schwidefsky Date: Sat Feb 9 18:24:29 2008 +0100 [S390] Fix __ffs_word_loop/__ffz_word_loop inlnie assembly. The black art of inline assemblies.. The new __ffs_word_loop/ __ffz_word_loop inline assemblies need an early clobber for the two input/output variables. Signed-off-by: Martin Schwidefsky commit 1ee92a1c79b4a44586490a52132d105972374223 Author: Heiko Carstens Date: Sat Feb 9 18:24:28 2008 +0100 [S390] Wire up new timerfd syscalls. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 4e5f24a8fa075c251a1ca762eaf210332266e60a Author: Martin Schwidefsky Date: Sat Feb 9 18:24:27 2008 +0100 [S390] Update default configuration. Signed-off-by: Martin Schwidefsky commit 9f747d6c4724dd3afa7d3525f6dd5300fc1633c5 Author: David S. Miller Date: Fri Nov 16 03:26:41 2007 -0800 [SPARC]: Merge asm-sparc{,64}/fb.h Signed-off-by: David S. Miller commit 3cfe17fdf192bc8f69305d56a09a4cbb1edc57b8 Author: David S. Miller Date: Fri Nov 16 03:24:23 2007 -0800 [SPARC]: Merge asm-sparc{,64}/errno.h Signed-off-by: David S. Miller commit f11fa82708df824612929d3290ce29d8b3c368fc Author: David S. Miller Date: Fri Nov 16 03:21:15 2007 -0800 [SPARC]: Merge asm-sparc{,64}/emergency-restart.h Signed-off-by: David S. Miller commit 4b9b77916fc11f03321079063a6fe2b3733559bb Author: David S. Miller Date: Fri Nov 16 03:16:00 2007 -0800 [SPARC]: Merge asm-sparc{,64}/div64.h Signed-off-by: David S. Miller commit 04c3ddf965ab46f7e24c2399dc85deca2f08ef5b Author: David S. Miller Date: Fri Nov 16 03:15:05 2007 -0800 [SPARC]: Merge asm-sparc{,64}/device.h Signed-off-by: David S. Miller commit ba89f59ab825d4c9dee652ce0ca53e033a05d5ec Author: David S. Miller Date: Fri Nov 16 03:12:56 2007 -0800 [SPARC]: Merge asm-sparc{,64}/current.h Signed-off-by: David S. Miller commit cec6dc5d732c649e5f477c21c93d99eb25edae1e Author: David S. Miller Date: Fri Nov 16 03:08:39 2007 -0800 [SPARC]: Merge asm-sparc{,64}/cputime.h Signed-off-by: David S. Miller commit d113fcd9cf807045e38998a60b4f4577c927c300 Author: David S. Miller Date: Fri Nov 16 03:06:07 2007 -0800 [SPARC]: Merge asm-sparc{,64}/cache.h Signed-off-by: David S. Miller commit f610bbc6accaacdf46501208178ff77c4422587a Author: David S. Miller Date: Fri Nov 16 02:59:58 2007 -0800 [SPARC]: Merge asm-sparc{,64}/byteorder.h Signed-off-by: David S. Miller commit 145dea009828df7b091e7f7f24497ceb12dbbb3d Author: David S. Miller Date: Fri Nov 16 02:57:01 2007 -0800 [SPARC]: Merge asm-sparc{,64}/bugs.h Signed-off-by: David S. Miller commit e10195c232d426b5e960038e10b0df8f75d86309 Author: David S. Miller Date: Fri Nov 16 02:53:50 2007 -0800 [SPARC]: Merge asm-sparc{,64}/bug.h Note that because of minimum compiler version enforcement in linux/compiler.h these days the check for sparc32 buggy __builtin_trap() can be safely removed. Signed-off-by: David S. Miller commit c79ca3f841aeb31aeadd6348f132780b6f658c22 Author: David S. Miller Date: Fri Nov 16 02:49:00 2007 -0800 [SPARC]: Kill BSD errno translation table and header files. Completely unused. Signed-off-by: David S. Miller commit ff99b923e6317f8b600620ffb936b13130266d99 Author: David S. Miller Date: Fri Nov 16 02:45:01 2007 -0800 [SPARC]: Merge asm-sparc{,64}/bpp.h Signed-off-by: David S. Miller commit 9ab8273606f1767c8ea900ac299cb42457b00323 Author: David S. Miller Date: Fri Nov 16 02:42:29 2007 -0800 [SPARC]: Merge include/asm-sparc{,64}/auxvec.h Signed-off-by: David S. Miller commit 75b2a0254da8f51c39593ab5841ba53766316730 Author: David S. Miller Date: Fri Nov 16 00:55:52 2007 -0800 [SPARC]: Merge include/asm-sparc{,64}/of_device.h Signed-off-by: David S. Miller commit 97b4872c8db766b37c9b75095e386da7c4eb967d Author: David S. Miller Date: Fri Nov 16 00:54:35 2007 -0800 [SPARC]: Merge include/asm-sparc{,64}/prom.h Signed-off-by: David S. Miller commit 7b98ac24ef7df87010000aa4b15a640c15a9eca5 Author: Stephen Rothwell Date: Thu Jan 17 01:18:43 2008 -0800 [SPARC]: Remove of_platform_device_create There are no callers of this on the Sparc platforms. Signed-off-by: Stephen Rothwell Signed-off-by: David S. Miller commit 268bcca1e7b0d244afd07ea89cda672e61b0fc4a Author: Stephen Hemminger Date: Sat Feb 9 03:47:19 2008 -0800 [PKT_SCHED] ematch: oops from uninitialized variable (resend) Setting up a meta match causes a kernel OOPS because of uninitialized elements in tree. [ 37.322381] BUG: unable to handle kernel NULL pointer dereference at 0000000000000000 [ 37.322381] IP: [] :em_meta:em_meta_destroy+0x17/0x80 [ 37.322381] Call Trace: [ 37.322381] [] tcf_em_tree_destroy+0x2d/0xa0 [ 37.322381] [] tcf_em_tree_validate+0x2dc/0x4a0 [ 37.322381] [] nla_parse+0x92/0xe0 [ 37.322381] [] :cls_basic:basic_change+0x202/0x3c0 [ 37.322381] [] kmem_cache_alloc+0x67/0xa0 [ 37.322381] [] tc_ctl_tfilter+0x3b1/0x580 [ 37.322381] [] rtnetlink_rcv_msg+0x0/0x260 [ 37.322381] [] netlink_rcv_skb+0x74/0xa0 [ 37.322381] [] rtnetlink_rcv+0x18/0x20 [ 37.322381] [] netlink_unicast+0x263/0x290 [ 37.322381] [] __alloc_skb+0x96/0x160 [ 37.322381] [] netlink_sendmsg+0x274/0x340 [ 37.322381] [] sock_sendmsg+0x12b/0x140 [ 37.322381] [] autoremove_wake_function+0x0/0x30 [ 37.322381] [] autoremove_wake_function+0x0/0x30 [ 37.322381] [] sock_sendmsg+0x12b/0x140 [ 37.322381] [] zone_statistics+0xb1/0xc0 [ 37.322381] [] sys_sendmsg+0x20e/0x360 [ 37.322381] [] sockfd_lookup_light+0x41/0x80 [ 37.322381] [] handle_mm_fault+0x3eb/0x7f0 [ 37.322381] [] system_call_after_swapgs+0x7b/0x80 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d38f1220666a2bd89c4f62d286723a3417b34b9e Author: David S. Miller Date: Sat Feb 9 03:40:55 2008 -0800 [SPARC64]: Add kretprobe support. Passes the smoke tests at least, powerpc implementation was used as a guide. Signed-off-by: David S. Miller commit 13fa14e185614066d96f90f09da08eebe58cbc8f Author: David S. Miller Date: Sat Feb 9 03:11:01 2008 -0800 [SPARC64]: Add SG merging support back into IOMMU code. Mimicks almost perfectly the powerpc IOMMU code, except that it doesn't have the IOMMU_PAGE_SIZE != PAGE_SIZE handling, and it also lacks the device dma mask support bits. I'll add that later as time permits, but this gets us at least back to where we were beforehand. Signed-off-by: David S. Miller commit d284142cbad66832d5072a0aebeca7bd9ca841b7 Author: David S. Miller Date: Fri Feb 8 18:05:46 2008 -0800 [SPARC64]: IOMMU allocations using iommu-helper layer. Signed-off-by: David S. Miller commit 19814ea24e9d80583504e336340ab4590841b0b1 Author: David S. Miller Date: Fri Feb 8 02:09:40 2008 -0800 [SPARC64]: iommu_common.h tidy ups... Add missing multiple-include guards and update copyright. Signed-off-by: David S. Miller commit 0507468a8055fc9a51b40a59e6b4eb6081f23aad Author: David S. Miller Date: Fri Feb 8 02:02:39 2008 -0800 [SPARC64]: Remove unused declarations from iommu_common.h Signed-off-by: David S. Miller commit ed2c9fa53b7a3e240a64e6e97494d72d0f80eed0 Author: Michal Sojka Date: Thu Feb 7 17:18:51 2008 +0100 Kbuild: Fix deb-pkg target to work with kernel versions ending with - If CONIFIG_LOCALVERSION is set for example to -loop, the following error message was generated. dpkg-deb - error: Debian revision (`loop') doesn't contain any digits dpkg-deb: 1 errors in control file The patch solves this by adding a numeric revision to package version. Signed-off-by: Michal Sojka Signed-off-by: Sam Ravnborg commit ec7748b59e214e2c6b7d21ca5f26a760fd6e142b Author: Sam Ravnborg Date: Sat Feb 9 10:46:40 2008 +0100 ide: introduce HAVE_IDE To allow flexible configuration of IDE introduce HAVE_IDE. All archs except arm, um and s390 unconditionally select it. For arm the actual configuration determine if IDE is supported. This is a step towards introducing drivers/Kconfig for arm. Signed-off-by: Sam Ravnborg Acked-by: Russell King - ARM Linux Acked-by: Bartlomiej Zolnierkiewicz commit d75f4c683f817ef61c9ae634886e7ebc3133c002 Author: Mike Frysinger Date: Fri Feb 8 00:05:52 2008 -0500 kbuild: silence CHK/UPD messages according to $(quiet) Signed-off-by: Mike Frysinger Signed-off-by: Sam Ravnborg commit a3eadd7cb00f39f6fd4bbaf414dfde547b8c0899 Author: Sam Ravnborg Date: Wed Feb 6 23:05:33 2008 +0100 scsi: fix makefile for aic7(3*x) Fix bug introduced by my latest fix to the aic7xxx Makefile. Test build on x86 32 and 64 bit. Without and with -j (parallel build) Building firmaware is br0ken with O=... but this is unrelated to this bug-fix. Tested-by: Adrian Bunk Cc: James Bottomley Signed-off-by: Sam Ravnborg commit 7c0ac495e30b2b9becb79be2ff87642ed8ad8f0c Author: Geert Uytterhoeven Date: Tue Feb 5 11:38:49 2008 +0100 kbuild/modpost: Use warn() for announcing section mismatches modpost: Use warn() for announcing section mismatches, for easy grepping for warnings in build logs. Also change an existing call from fprintf() to warn() while we're at it. Signed-off-by: Geert Uytterhoeven Signed-off-by: Sam Ravnborg commit ff739b611f41a93338855c064959404f3b7c9bab Author: Uwe Kleine-König Date: Tue Feb 5 11:44:52 2008 +0100 Add binoffset to gitignore Signed-off-by: Uwe Kleine-König Signed-off-by: Sam Ravnborg commit f666751a0ab1d1671855da7e98889256b9a5b1bb Author: Sam Ravnborg Date: Wed Feb 6 21:51:18 2008 +0100 kbuild/modpost: improve warnings if symbol is unknown If we cannot determine the symbol then print (unknown) to hint the reader that we failed to find the symbol. This happens with REL relocation records in arm object files. Signed-off-by: Sam Ravnborg commit 249d621a85668b3b09296fbcfcf1cb5e9372a5ea Author: Len Brown Date: Sat Feb 9 04:32:40 2008 -0500 Merge branches 'release' and 'buildfix' into release commit 16111c797990f4fab571f6e982390cb842d16bf0 Author: Carlos Corbacho Date: Sat Feb 9 01:32:25 2008 +0000 acer-wmi - Add documentation Add some initial documentation detailing what acer-wmi is, and how to use it. Update the Kconfig entry with a reference to the documentation. Signed-off-by: Carlos Corbacho Signed-off-by: Randy Dunlap Signed-off-by: Len Brown commit 018a651a9c4e3fba623b735593fb39869a69c2f7 Author: Carlos Corbacho Date: Sat Feb 9 01:32:19 2008 +0000 sonypi - Move sonypi.txt to Documentation/laptops Also update references to sonypi.txt in Kconfig. Signed-off-by: Carlos Corbacho Signed-off-by: Randy Dunlap CC: Mattia Dongili Signed-off-by: Len Brown commit f04b7c402ba587a299e62907a457013914dec477 Author: Carlos Corbacho Date: Sat Feb 9 01:32:14 2008 +0000 sony-laptop - Move sony-laptop.txt to Documentation/laptops Also update references to sony-laptop.txt in Kconfig. Signed-off-by: Carlos Corbacho Signed-off-by: Randy Dunlap CC: Mattia Dongili Signed-off-by: Len Brown commit f191dc6b55cf92eb8e1f48b41533ecf4d6161569 Author: Carlos Corbacho Date: Sat Feb 9 01:32:09 2008 +0000 thinkpad-acpi - Move thinkpad-acpi.txt to Documentation/laptops Also update references to thinkpad-acpi.txt in Kconfig. Signed-off-by: Carlos Corbacho Signed-off-by: Randy Dunlap CC: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit d6ff3655773a1810b15da942c40478bf5217e390 Author: Carlos Corbacho Date: Sat Feb 9 01:32:03 2008 +0000 Documentation - Create laptops sub-directory There are currently various laptop drivers floating about with no central place for their documentation, which is currently scattered around the top level Documentation/ directory. So, as a first step, lets create a Documentation sub-directory, and update the relevant index files. The work of then moving the existing laptop driver related documentation will then be handled later. Signed-off-by: Carlos Corbacho Signed-off-by: Randy Dunlap CC: Henrique de Moraes Holschuh CC: Mattia Dongili Signed-off-by: Len Brown commit a0dd25b2c83de4623487ca4de9c1d962b552ca0f Author: Len Brown Date: Sat Feb 9 04:01:48 2008 -0500 ACPI: thermal: buildfix for CONFIG_THERMAL=n This fixes the build, but acpi_fan_add() still needs to be updated to handle thermal_cooling_device_register() returning NULL as a non-fatal condition. Signed-off-by: Len Brown commit a6869cc4cfd633d909918f1489a6a8ac668cd6aa Author: Venki Pallipadi Date: Fri Feb 8 17:05:44 2008 -0800 cpuidle: build fix for non-x86 The last posted version of this patch gave compile error on IA64. So, here goes yet another rewrite of the patch. Convert cpu_idle_wait() to cpuidle_kick_cpus() which is SMP-only, and gives error on non supported CPU. Changes from last patch sent by Kevin: Moved the definition of kick_cpus back to cpuidle.c from cpuidle.h: * Having it in .h gives #error on archs which includes the header file without actually having CPU_IDLE configured. To make it work in .h, we need one more #ifdef around that code which makes it messy. * Also, the function is only called from one file. So, it can be in declared statically in .c rather than making it available to everyone who includes the .h file. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Kevin Hilman Signed-off-by: Len Brown commit 4609d029aa8a2c7e0ad71e329c6e3493e1e95040 Author: Carlos Corbacho Date: Fri Feb 8 23:51:49 2008 +0000 acer-wmi: Fix backlight on AMW0 (V1) laptops There is some leftover cruft from the old quirk infrastructure that causes us to be unable to set the backlight on older laptops. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit b01368291926b30abc702dee35c688408b54d422 Author: Carlos Corbacho Date: Fri Feb 8 23:51:43 2008 +0000 tc1100-wmi: Mark as experimental tc1100-wmi has not undergone as much testing as acer-wmi, so it certainly should be marked as experimental as well until we get more user feedback. Signed-off-by: Carlos Corbacho Signed-off-by: Len Brown commit bbafbecb24190959d77a8fee7bd23798b81e25c2 Author: Alexey Starikovskiy Date: Sat Feb 9 03:22:13 2008 -0500 ACPI: SBS: Host controller must initialize before SBS. In static case sbshc must be compiled ahead of sbs, so that hc is configured first. http://bugzilla.kernel.org/show_bug.cgi?id=9910 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 641f43669fa28ca795ac4e9b3ec78643a007ee20 Author: Mart Raudsepp Date: Sat Feb 9 08:16:36 2008 +0000 [MTD] [NAND] cs553x_nand: command line partitioning support Implements kernel command line partitioning support for the CS5535/CS5536 chipsets driver. For that the following is done: * cs553x_cleanup(): try the cleanup for all chip selects to not leak memory * Assign a unique name for each chip select to be separately addressable in the command line mtd-id portion(s) * Use the already defined PIN_OPT_IDE constant where appropriate for readability * Include command line partitioning support when CONFIG_MTD_PARTS is set Signed-off-by: Mart Raudsepp Signed-off-by: David Woodhouse commit b1d0e4f535e10775cffde922208b49629169aeaa Author: Nick Piggin Date: Sat Feb 9 01:15:19 2008 +0100 mm: special mapping nopage Convert special mapping install from nopage to fault. Because the "vm_file" is NULL for the special mapping, the generic VM code has messed up "vm_pgoff" thinking that it's an anonymous mapping and the offset does't matter. For that reason, we need to undo the vm_pgoff offset that got added into vmf->pgoff. [ We _really_ should clean that up - either by making this whole special mapping code just use a real file entry rather than that ugly array of "struct page" pointers, or by just making the VM code realize that even if vm_file is NULL it may not be a regular anonymous mmap. - Linus ] Signed-off-by: Nick Piggin Cc: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Linus Torvalds commit 3bf8f5a92cd4b04e3f1e162a1b4b99759a882b5d Author: Ingo Molnar Date: Sat Feb 9 00:15:06 2008 +0100 x86: fix pgtable_t build breakage Commit 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 ("CONFIG_HIGHPTE vs. sub-page page tables") caused some build breakage due to pgtable_t only getting declared in the CONFIG_X86_PAE case. Move the declaration outside the PAE section. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 765cdb6cef63c0b41c3f6c9285769080b3f41bb0 Author: Kay Sievers Date: Fri Feb 8 15:00:49 2008 -0800 DCA: convert struct class_device to struct device. Thanks to Kay for keeping us honest. Signed-off-by: Kay Sievers Signed-off-by: Shannon Nelson Cc: "Williams, Dan J" Acked-by: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11b0cc3a4af65413ca3bb5698769e091486e0b22 Author: Alan Cox Date: Fri Feb 8 15:00:48 2008 -0800 x25_asy: Fix ref count rule violation x25_asy does not take an ldisc reference before calling the flush method. Fix it to use the helper function we provide. Signed-off-by: Alan Cox Cc: Krzysztof Halasa Cc: "David S. Miller" Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4600ecfcf3ad160ac0c6fcff6115f6edb081ccfa Author: Guennadi Liakhovetski Date: Fri Feb 8 15:00:47 2008 -0800 lib/scatterlist.o needed by a module only - link it in unconditionally lib/scatterlist.c is needed by drivers/media/video/videobuf-dma-sg.c, and we would like to be able to use the latter without PCI too, for example, on PXA270 ARM CPU. It is then possible to create a configuration with CONFIG_BLOCK=n, where only module code will need scatterlist.c. Therefore it must be in obj-y. Signed-off-by: Guennadi Liakhovetski Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a984a85050e320993f87ba47a22973f32853206 Author: Adrian Bunk Date: Fri Feb 8 15:00:46 2008 -0800 fix xtensa timerfd breakage In file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/xtensa/kernel/syscall.c:39: include2/asm/unistd.h:681: error: 'sys_timerfd' undeclared here (not in a function) Signed-off-by: Adrian Bunk Cc: Christian Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6784fd5931a58559673f500a333030ceaadb69bb Author: Mathieu Desnoyers Date: Fri Feb 8 15:00:45 2008 -0800 Fix FRV cmpxchg_local Fix the FRV cmpxchg_local by breaking the following header dependency loop : linux/kernel.h -> linux/bitops.h -> asm-frv/bitops.h -> asm-frv/atomic.h -> asm-frv/system.h -> asm-generic/cmpxchg_local.h -> typecheck() defined in linux/kernel.h and linux/kernel.h -> linux/bitops.h -> asm-frv/bitops.h -> asm-frv/atomic.h -> asm-generic/cmpxchg_local.h -> typecheck() defined in linux/kernel.h In order to fix this : - Move the atomic_test_and_ *_mask inlines from asm-frv/atomic.h (why are they there at all anyway ? They are not touching atomic_t variables!) to asm-frv/bitops.h. Also fix a build issue with cmpxchg : it does not cast to (unsigned long *) like other architectures, to deal with it in the cmpxchg_local macro. FRV builds fine with this patch. Thanks to Adrian Bunk for spotting this bug. Signed-off-by: Mathieu Desnoyers Cc: Adrian Bunk Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b55fcb22d445a7460cbbc138ceae096d5617715a Author: Andrew Morton Date: Fri Feb 8 15:00:43 2008 -0800 revert "proc: fix the threaded proc self" Revert commit c6caeb7c4544608e8ae62731334661fc396c7f85 ("proc: fix the threaded /proc/self"), since Eric says "The patch really is wrong. There is at least one corner case in procps that cares." Cc: Eric W. Biederman Cc: Ingo Molnar Cc: "Guillaume Chazarain" Cc: "Pavel Emelyanov" Cc: "Rafael J. Wysocki" Cc: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5128bdc97a1018aacac2550cf73bda61041cc3b8 Author: Roland Dreier Date: Fri Feb 8 14:47:26 2008 -0800 IB/core: Remove unused struct ib_device.flags member Avoid confusion about what it might mean, since it's never initialized. Signed-off-by: Roland Dreier commit e0605d9199b462454f2f2e5ca01810255a6d5cfa Author: Eli Cohen Date: Wed Jan 30 18:30:57 2008 +0200 IB/core: Add IP checksum offload support Add a device capability to show when it can handle checksum offload. Also add a send flag for inserting checksums and a csum_ok field to the completion record. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 7143740d26098aca84ecc7376ccfe2c58fd0412e Author: Eli Cohen Date: Wed Jan 30 18:30:53 2008 +0200 IPoIB: Add send gather support This patch acts as a preparation for using checksum offload for IB devices capable of inserting/verifying checksum in IP packets. The patch does not actaully turn on NETIF_F_SG - we defer that to the patches adding checksum offload capabilities. We only add support for send gathers for datagram mode, since existing HW does not support checksum offload on connected QPs. Signed-off-by: Michael S. Tsirkin Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit eb14032f9eb595621270f3269f40094adb3144e8 Author: Eli Cohen Date: Wed Jan 30 18:30:46 2008 +0200 IPoIB: Add high DMA feature flag All current InfiniBand devices can handle all DMA addresses, and it's hard to imagine anyone would be silly enough to build a new device that couldn't. Therefore, enable the NETIF_F_HIGHDMA feature for IPoIB. This has no effect for no, but is needed when we enable gather/scatter support and checksum stateless offloads. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit ea54b10c7773007e173da31fe7adcc049da33331 Author: Jack Morgenstein Date: Mon Jan 28 10:40:59 2008 +0200 IB/mlx4: Use multiple WQ blocks to post smaller send WQEs ConnectX HCA supports shrinking WQEs, so that a single work request can be made of multiple units of wqe_shift. This way, WRs can differ in size, and do not have to be a power of 2 in size, saving memory and speeding up send WR posting. Unfortunately, if we do this then the wqe_index field in CQEs can't be used to look up the WR ID anymore, so our implementation does this only if selective signaling is off. Further, on 32-bit platforms, we can't use vmap() to make the QP buffer virtually contigious. Thus we have to use constant-sized WRs to make sure a WR is always fully within a single page-sized chunk. Finally, we use WRs with the NOP opcode to avoid wrapping around the queue buffer in the middle of posting a WR, and we set the NoErrorCompletion bit to avoid getting completions with error for NOP WRs. However, NEC is only supported starting with firmware 2.2.232, so we use constant-sized WRs for older firmware. And, since MLX QPs only support SEND, we use constant-sized WRs in this case. When stamping during NOP posting, do stamping following setting of the NOP WQE valid bit. Signed-off-by: Michael S. Tsirkin Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 785285fc8bc7f846ab68a063a8bf5a009d67725d Author: Russ Anderson Date: Tue Feb 5 17:12:32 2008 -0600 [IA64] Fix large MCA bootmem allocation The MCA code allocates bootmem memory for NR_CPUS, regardless of how many cpus the system actually has. This change allocates memory only for cpus that actually exist. On my test system with NR_CPUS = 1024, reserved memory was reduced by 130944k. Before: Memory: 27886976k/28111168k available (8282k code, 242304k reserved, 5928k data, 1792k init) After: Memory: 28017920k/28111168k available (8282k code, 111360k reserved, 5928k data, 1792k init) Signed-off-by: Russ Anderson Signed-off-by: Tony Luck commit 427639354ff346710012b53e1ceed5e3f3200e0c Author: Tony Luck Date: Fri Feb 8 11:53:09 2008 -0800 [IA64] Simplify cpu_idle_wait This is just Venki's patch[*] for x86 ported to ia64. * http://marc.info/?l=linux-kernel&m=120249201318159&w=2 Acked-by: Venkatesh Pallipadi Signed-off-by: Tony Luck commit aa91a2e90044b88228bdb0620e771f2ea7798804 Author: Petr Tesarik Date: Wed Dec 12 15:24:25 2007 +0100 [IA64] Synchronize RBS on PTRACE_ATTACH When attaching to a stopped process, the RSE must be explicitly synced to user-space, so the debugger can read the correct values. Signed-off-by: Petr Tesarik CC: Roland McGrath Signed-off-by: Tony Luck commit 3b2ce0b17824c42bc2e46f7dd903b4acf5e9fff9 Author: Petr Tesarik Date: Wed Dec 12 15:23:34 2007 +0100 [IA64] Synchronize kernel RSE to user-space and back This is base kernel patch for ptrace RSE bug. It's basically a backport from the utrace RSE patch I sent out several weeks ago. please review. when a thread is stopped (ptraced), debugger might change thread's user stack (change memory directly), and we must avoid the RSE stored in kernel to override user stack (user space's RSE is newer than kernel's in the case). To workaround the issue, we copy kernel RSE to user RSE before the task is stopped, so user RSE has updated data. we then copy user RSE to kernel after the task is resummed from traced stop and kernel will use the newer RSE to return to user. Signed-off-by: Shaohua Li Signed-off-by: Petr Tesarik CC: Roland McGrath Signed-off-by: Tony Luck commit 5aa92ffda1b6244b4a248df0b95c07d183ab96d2 Author: Petr Tesarik Date: Wed Dec 12 15:21:16 2007 +0100 [IA64] Rename TIF_PERFMON_WORK back to TIF_NOTIFY_RESUME Since the RSE synchronization will need a TIF_ flag, but all work-to-be-done bits are already used, so we have to multiplex TIF_NOTIFY_RESUME again. Signed-off-by: Shaohua Li Signed-off-by: Petr Tesarik Signed-off-by: Tony Luck commit ad9e39c70f46c5e17b1ed5912e8693454fec1455 Author: Tony Luck Date: Wed Feb 6 13:57:46 2008 -0800 [IA64] Wire up timerfd_{create,settime,gettime} syscalls Add ia64 hooks for the new syscalls that were added in commit 4d672e7ac79b5ec5cdc90e450823441e20464691 Signed-off-by: Tony Luck commit e27a93a944a5ba6a0112750c8243abba86d56e94 Author: Tony Lindgren Date: Tue Dec 18 20:58:32 2007 -0800 ARM: OMAP1: Misc clean-up This patch cleans up omap1 files to sync up with linux-omap tree: - Remove omap-generic MMC config as it should be defined in board-*.c files instead of using board-generic.c - New style I2C board_info from David Brownell - Init section fixes from Dirk Behme Signed-off-by: Tony Lindgren commit 80dbfde54bfc40c1e39ace7dbb371f095e74665f Author: Tony Lindgren Date: Tue Dec 18 21:15:53 2007 -0800 ARM: OMAP1: Update defconfigs for omap1 Update defconfigs for omap1 Signed-off-by: Tony Lindgren commit d7730cc01f703b1e3c43127bd38fb042c0efdb71 Author: Andrzej Zaborowski Date: Thu Dec 7 17:13:51 2006 -0800 ARM: OMAP1: Palm Tungsten E board clean-up Mostly gpio clean-up. Signed-off-by: Andrzej Zaborowski Signed-off-by: Tony Lindgren commit 1ed16a86b47fd7dd9125fc8f6df482cc6edc9b20 Author: Jarkko Nikula Date: Wed Nov 7 06:54:32 2007 +0200 ARM: OMAP1: Use I2C bus registration helper for omap1 This patch starts using introduced I2C bus registration helper by cleaning up registration currently done in various places and by doing necessary board file modifications. Signed-off-by: Jarkko Nikula Acked-by: David Brownell Signed-off-by: Tony Lindgren commit feb72f3b313e1f068b707773e9231af4f87d9580 Author: Vivek Kutal Date: Mon Dec 17 01:56:33 2007 -0800 ARM: OMAP1: Remove omap_sram_idle() This patch removes omap_sram_idle() that is no longer used. The function called in pm_idle is omap_sram_suspend, omap_sram_idle() is not used anywhere in omap1. Signed-off-by: Vivek Kutal Signed-off-by: Tony Lindgren commit 010bb0cf42fe2fa0a00753e0c11a3e8bfefb37a3 Author: Vivek Kutal Date: Tue Dec 11 21:46:31 2007 +0530 ARM: OMAP1: PM fixes for OMAP1 This patch does the following: - Fixes the omap_pm_idle() code so that we enter WFI mode in idle. - /sys/power/sleep_while_idle is created only when 32k timer is used Signed-off-by: Vivek Kutal Signed-off-by: Tony Lindgren commit 087c50302fbd608118e7c0f27a95dc552ad2f53b Author: Carlos Eduardo Aguiar Date: Fri Nov 30 01:52:53 2007 -0400 ARM: OMAP1: Use MMC multislot structures for Siemens SX1 board Use MMC multislot structures for Siemens SX1 board Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Tony Lindgren commit 138ab9f8321f67c71984ca43222efa71b0a0a0a9 Author: Felipe Balbi Date: Tue Nov 27 00:01:45 2007 -0400 ARM: OMAP1: Make omap1 use MMC multislot structures Make omap1 use new MMC multislot structures. The related MMC patches will be sent separately. Signed-off-by: Felipe Balbi Signed-off-by: Anderson Briglia Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: David Cohen Signed-off-by: Eduardo Valentin Signed-off-by: Tony Lindgren commit 6e2d4107245cc0411959e91d7a1613e15097f117 Author: David Cohen Date: Thu Dec 13 22:27:15 2007 -0400 ARM: OMAP1: Change the comments to C style Change the comments to C style Signed-off-by: David Cohen Signed-off-by: Tony Lindgren commit 78be63252bc9065dd0a12c106135655b7d4db1ec Author: Tony Lindgren Date: Tue Dec 11 13:50:17 2007 -0800 ARM: OMAP1: Make omap1 boards to use omap_nand_platform_data This patch adds omap_nand_platform data based on a patch by Shahrom Sharif-Kashani , and makes omap1 boards to use omap_nand_platform_data instead of nand_platform_data used earlier. Signed-off-by: Tony Lindgren commit 85d05fb3fde692fdaa6b1f84c33fee718abebf0f Author: Jarkko Nikula Date: Wed Nov 7 06:54:31 2007 +0200 ARM: OMAP: Add helper module for board specific I2C bus registration This helper module simplifies I2C bus registration for different OMAP platforms by doing registration in one place only and to allow board specific bus configuration like clock rate and number of busses configured. Helper should cover OMAP processors from first to third generation. This patch just adds the feature and current implementation cleanup and board file modifications will be done in following patches. Signed-off-by: Jarkko Nikula Acked-by: David Brownell Signed-off-by: Tony Lindgren commit ce2df9ca41997f38cdfb9bee0db08763487222ae Author: Syed Mohammed, Khasim Date: Mon Jun 25 22:55:39 2007 -0700 ARM: OMAP: Add dmtimer support for OMAP3 Add DM timer support for OMAP3. Fixed source clocks for 3430 by Paul Walmsley . Signed-off-by: Syed Mohammed Khasim Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 471b3aa70c2ba00e1a8c8399f848cbc04fd0beae Author: Syed Mohammed, Khasim Date: Thu Jun 21 21:48:07 2007 -0700 ARM: OMAP: Pre-3430 clean-up for dmtimer.c Cleanup DM timer list for OMAP2 and OMAP1 to allow adding support for 3430. Signed-off-by: Syed Mohammed Khasim Signed-off-by: Tony Lindgren commit f8151e5c327bfc41f0993a45fb61ea121bebfee4 Author: Anand Gadiyar Date: Sat Dec 1 12:14:11 2007 -0800 ARM: OMAP: Add DMA support for chaining and 3430 Add DMA support for chaining and 3430. Also remove old DEBUG_PRINTS as noted by Russell King. Signed-off-by: Anand Gadiyar Signed-off-by: Tony Lindgren commit 5eb3bb9c0d123ad84ed5127fbc62731896d87181 Author: Kevin Hilman Date: Sat May 5 11:40:29 2007 -0700 ARM: OMAP: Add 24xx GPIO debounce support Add 24xx GPIO debounce support. Also minor formatting clean-up. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit d11ac9791b87efb24506b6391a965b789385157c Author: Tony Lindgren Date: Sat Jan 12 15:35:04 2008 -0800 ARM: OMAP: Get rid of unnecessary ifdefs in GPIO code Just use cpu_is_omapXXXX() instead. This does not increase object size. Signed-off-by: Tony Lindgren commit 5492fb1a46ada0d1e89eb580c2a56db8924e3141 Author: Syed Mohammed, Khasim Date: Thu Nov 29 16:15:11 2007 -0800 ARM: OMAP: Add 3430 gpio support This patch adds 3430 gpio support. It also contains a fix by Paul Walmsley to use the correct clock names for OMAP3430. Signed-off-by: Syed Mohammed Khasim Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 2c17f61599987ca7c54c2fef57de3bb8c32e3599 Author: Syed Mohammed Khasim Date: Tue Dec 4 15:38:13 2007 -0800 ARM: OMAP: Add 3430 CPU identification macros This patch adds omap3430 CPU identification macros. Silicon revision check macros added by Girish S G . CPU identification macro and silicon revision check macros cleaned up by Paul Walmsley . Signed-off-by: Syed Mohammed Khasim Signed-off-by: Girish S G Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit 1cccd2a728673da00a05fe19c5ba4897257d6b8a Author: Tony Lindgren Date: Thu Nov 29 15:38:16 2007 -0800 ARM: OMAP: Request DSP memory for McBSP On OMAP1 some McBSP features depend on DSP. Also export polling functions as suggested by Luis Cargnini. Signed-off-by: Tony Lindgren commit ee44391eae5d1fabd6eacf89b3bb2e3fbc315e7d Author: Byron Bradley Date: Fri Feb 8 18:20:23 2008 +0000 [ARM] Orion: Use the sata_mv driver for the TS-209 SATA The TS-209 has a two port integrated SATA controller. Use the sata_mv driver for this. Signed-off-by: Byron Bradley Signed-off-by: Nicolas Pitre commit 3b277c2965b0c707b76f89368ebe6e6da6605c23 Author: Byron Bradley Date: Fri Feb 8 18:20:01 2008 +0000 [ARM] Orion: Use the sata_mv driver for the Kurobox SATA The Kurobox has a two port integrated SATA controller. Use the sata_mv driver for this. Signed-off-by: Byron Bradley Signed-off-by: Nicolas Pitre commit 920e526f93009a81e09809edb7a755a5b22e907d Author: Mike Frysinger Date: Sat Feb 9 02:07:08 2008 +0800 [Blackfin] arch: import defines for BF547 -- it is just like the BF548, but no CAN Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 67f2d33ec011621d1be6f0b17b8226c0eb3c3746 Author: Mike Frysinger Date: Sat Feb 9 01:49:23 2008 +0800 [Blackfin] arch: fix build fails only include header files when enabled Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8811930dc74a503415b35c4a79d14fb0b408a361 Author: Jens Axboe Date: Fri Feb 8 08:49:14 2008 -0800 splice: missing user pointer access verification vmsplice_to_user() must always check the user pointer and length with access_ok() before copying. Likewise, for the slow path of copy_from_user_mmap_sem() we need to check that we may read from the user region. Signed-off-by: Jens Axboe Cc: Wojciech Purczynski Signed-off-by: Greg Kroah-Hartman Signed-off-by: Linus Torvalds commit 66191dc622f5ff0a541524c4e96fdacfacfda206 Author: Jan Kara Date: Fri Feb 8 04:22:13 2008 -0800 quota: turn quotas off when remounting read-only Turn off quotas before filesystem is remounted read only. Otherwise quota will try to write to read-only filesystem which does no good... We could also just refuse to remount ro when quota is enabled but turning quota off is consistent with what we do on umount. Signed-off-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28ae094c625a9b719c01cf5ec45b8640e6911f53 Author: Neil Brown Date: Fri Feb 8 04:22:13 2008 -0800 ext3 can fail badly when device stops accepting BIO_RW_BARRIER requests Some devices - notably dm and md - can change their behaviour in response to BIO_RW_BARRIER requests. They might start out accepting such requests but on reconfiguration, they find out that they cannot any more. ext3 (and other filesystems) deal with this by always testing if BIO_RW_BARRIER requests fail with EOPNOTSUPP, and retrying the write requests without the barrier (probably after waiting for any pending writes to complete). However there is a bug in the handling for this for ext3. When ext3 (jbd actually) decides to submit a BIO_RW_BARRIER request, it sets the buffer_ordered flag on the buffer head. If the request completes successfully, the flag STAYS SET. Other code might then write the same buffer_head after the device has been reconfigured to not accept barriers. This write will then fail, but the "other code" is not ready to handle EOPNOTSUPP errors and the error will be treated as fatal. This can be seen without having to reconfigure a device at exactly the wrong time by putting: if (buffer_ordered(bh)) printk("OH DEAR, and ordered buffer\n"); in the while loop in "commit phase 5" of journal_commit_transaction. If it ever prints the "OH DEAR ..." message (as it does sometimes for me), then that request could (in different circumstances) have failed with EOPNOTSUPP, but that isn't tested for. My proposed fix is to clear the buffer_ordered flag after it has been used, as in the following patch. Signed-off-by: Neil Brown Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2dafe1c4d69345539735cca64250f2d4657bd057 Author: Eric Sandeen Date: Fri Feb 8 04:22:12 2008 -0800 reduce large do_mount stack usage with noinlines do_mount() uses a whopping 616 bytes of stack on x86_64 in 2.6.24-mm1, largely thanks to gcc inlining the various helper functions. noinlining these can slim it down a lot; on my box this patch gets it down to 168, which is mostly the struct nameidata nd; left on the stack. These functions are called only as do_mount() helpers; none of them should be in any path that would see a performance benefit from inlining... Signed-off-by: Eric Sandeen Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac2a659968f5318a180213f0409c2ea21f072820 Author: Jeff Dike Date: Fri Feb 8 04:22:11 2008 -0800 uml: fix mm_context memory leak [ Spotted by Miklos ] Fix a memory leak in init_new_context. The struct page ** buffer allocated for install_special_mapping was never recorded, and thus leaked when the mm_struct was freed. Fix it by saving the pointer in mm_context_t and freeing it in arch_exit_mmap. Signed-off-by: Jeff Dike Cc: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5aaf5f7b871abf00fb2525e7ed2d5938a74ce23c Author: Jeff Dike Date: Fri Feb 8 04:22:10 2008 -0800 uml: x86_64 should copy %fs during fork %fs needs to be copied from parent to child during fork. Tidied up some whitespace while I was here. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11a7ac23a2d7464a74ceb7b97dbae4d5a0208576 Author: Jim Meyering Date: Fri Feb 8 04:22:09 2008 -0800 uml: improved error handling while locating temp dir * arch/um/os-Linux/mem.c (make_tempfile): Don't deref NULL upon failed malloc. * arch/um/os-Linux/mem.c (make_tempfile): Handle NULL tempdir. Don't let a long tempdir (e.g., via TMPDIR) provoke heap corruption. [ jdike - formatting cleanups, deleted obsolete comment ] Signed-off-by: Jim Meyering Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5134d8fea06ab51459fd095d091d1e6f73a44553 Author: Jeff Dike Date: Fri Feb 8 04:22:08 2008 -0800 uml: style fixes in arch/um/os-Linux Style changes under arch/um/os-Linux: include trimming CodingStyle fixes some printks needed severity indicators make_tempfile turns out not to be used outside of mem.c, so it is now static. Its declaration in tempfile.h is no longer needed, and tempfile.h itself is no longer needed. create_tmp_file was also made static. checkpatch moans about an EXPORT_SYMBOL in user_syms.c which is part of a macro definition - this is copying a bit of kernel infrastructure into the libc side of UML because the kernel headers can't be included there. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 536788fe2d28e11db6aeda74207d95d750fb761f Author: Jeff Dike Date: Fri Feb 8 04:22:07 2008 -0800 uml: runtime host VMSPLIT detection Calculate TASK_SIZE at run-time by figuring out the host's VMSPLIT - this is needed on i386 if UML is to run on hosts with varying VMSPLITs without recompilation. TASK_SIZE is now defined in terms of a variable, task_size. This gets rid of an include of pgtable.h from processor.h, which can cause include loops. On i386, task_size is calculated early in boot by probing the address space in a binary search to figure out where the boundary between usable and non-usable memory is. This tries to make sure that a page that is considered to be in userspace is, or can be made, read-write. I'm concerned about a system-global VDSO page in kernel memory being hit and considered to be a userspace page. On x86_64, task_size is just the old value of CONFIG_TOP_ADDR. A bunch of config variable are gone now. CONFIG_TOP_ADDR is directly replaced by TASK_SIZE. NEST_LEVEL is gone since the relocation of the stubs makes it irrelevant. All the HOST_VMSPLIT stuff is gone. All references to these in arch/um/Makefile are also gone. I noticed and fixed a missing extern in os.h when adding os_get_task_size. Note: This has been revised to fix the 32-bit UML on 64-bit host bug that Miklos ran into. Signed-off-by: Jeff Dike Cc: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 Author: Martin Schwidefsky Date: Fri Feb 8 04:22:04 2008 -0800 CONFIG_HIGHPTE vs. sub-page page tables. Background: I've implemented 1K/2K page tables for s390. These sub-page page tables are required to properly support the s390 virtualization instruction with KVM. The SIE instruction requires that the page tables have 256 page table entries (pte) followed by 256 page status table entries (pgste). The pgstes are only required if the process is using the SIE instruction. The pgstes are updated by the hardware and by the hypervisor for a number of reasons, one of them is dirty and reference bit tracking. To avoid wasting memory the standard pte table allocation should return 1K/2K (31/64 bit) and 2K/4K if the process is using SIE. Problem: Page size on s390 is 4K, page table size is 1K or 2K. That means the s390 version for pte_alloc_one cannot return a pointer to a struct page. Trouble is that with the CONFIG_HIGHPTE feature on x86 pte_alloc_one cannot return a pointer to a pte either, since that would require more than 32 bit for the return value of pte_alloc_one (and the pte * would not be accessible since its not kmapped). Solution: The only solution I found to this dilemma is a new typedef: a pgtable_t. For s390 pgtable_t will be a (pte *) - to be introduced with a later patch. For everybody else it will be a (struct page *). The additional problem with the initialization of the ptl lock and the NR_PAGETABLE accounting is solved with a constructor pgtable_page_ctor and a destructor pgtable_page_dtor. The page table allocation and free functions need to call these two whenever a page table page is allocated or freed. pmd_populate will get a pgtable_t instead of a struct page pointer. To get the pgtable_t back from a pmd entry that has been installed with pmd_populate a new function pmd_pgtable is added. It replaces the pmd_page call in free_pte_range and apply_to_pte_range. Signed-off-by: Martin Schwidefsky Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13214adf738abc92b0a00c0763fd3be79eebaa7c Author: Andy Whitcroft Date: Fri Feb 8 04:22:03 2008 -0800 update checkpatch.pl to version 0.14 This version brings the remainder of the queued fixes. A number of fixes for items missed reported by Andrew Morton and others. Also a handful of new checks and fixes for false positives. Of note: - new warning associated with --file to try and avoid cleanup only patches, - corrected handling of completly empty files, - corrected report handling with multiple files, - handling of possible types in the face of multiple declarations, - detection of unnessary braces on complex if statements (where present), and - all new comment spacing handling. Andi Kleen (1): Introduce a warning when --file mode is used Andy Whitcroft (14): Version: 0.14 clean up some space violations in checkpatch.pl a completly empty file should not provoke a whinge reset report lines buffers between files unary ++/-- may abutt close braces __typeof__ is also unary comments: revamp comment handling add --summary-file option adding filename to summary line trailing backslashes are not trailing statements handle operators passed as parameters such as to ASSERTCMP possible types -- enhance debugging check for boolean operations with constants possible types: handle multiple declarations detect and report if statements where all branches are single statements Arjan van de Ven (1): quiet option should not print the summary on no errors Bartlomiej Zolnierkiewicz (1): warn about using __FUNCTION__ Timur Tabi (1): loosen spacing checks for __asm__ Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24649c00ca334955ac7d8a79f5a7834fc7ea441d Author: Ralf Baechle Date: Fri Feb 8 04:22:02 2008 -0800 MIPS: Mark all but i8259 interrupts as no-probe. Use set_irq_noprobe() to mark all MIPS interrupts as non-probe. Override that default for i8259 interrupts. Signed-off-by: Ralf Baechle Acked-and-tested-by: Rob Landley Cc: Alan Cox Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46f4f8f665080900e865392f4b3593be463bf0d8 Author: Ralf Baechle Date: Fri Feb 8 04:22:01 2008 -0800 IRQ_NOPROBE helper functions Probing non-ISA interrupts using the handle_percpu_irq as their handle_irq method may crash the system because handle_percpu_irq does not check IRQ_WAITING. This for example hits the MIPS Qemu configuration. This patch provides two helper functions set_irq_noprobe and set_irq_probe to set rsp. clear the IRQ_NOPROBE flag. The only current caller is MIPS code but this really belongs into generic code. As an aside, interrupt probing these days has become a mostly obsolete if not dangerous art. I think Linux interrupts should be changed to default to non-probing but that's subject of this patch. Signed-off-by: Ralf Baechle Acked-and-tested-by: Rob Landley Cc: Alan Cox Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 922f9cfa79b52c85b6002d96cb0eefd13437c58c Author: Denis Cheng Date: Fri Feb 8 04:22:00 2008 -0800 fs/char_dev.c: chrdev_open marked static and removed from fs.h There is an outdated comment in serial_core.c also fixed. Signed-off-by: Denis Cheng Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b55ab616fa4b00bdd5c470c70fdf87bab85eec68 Author: Patrick McHardy Date: Fri Feb 8 04:21:59 2008 -0800 preemptible RCU: sparse annotations Signed-off-by: Patrick McHardy Acked-by: Paul E. McKenney Cc: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 535ee2fbf79ab52d26bce3d2e127c9007503581e Author: Jan Kara Date: Fri Feb 8 04:21:59 2008 -0800 buffer_head: fix private_list handling There are two possible races in handling of private_list in buffer cache. 1) When fsync_buffers_list() processes a private_list, it clears b_assoc_mapping and moves buffer to its private list. Now drop_buffers() comes, sees a buffer is on list so it calls __remove_assoc_queue() which complains about b_assoc_mapping being cleared (as it cannot propagate possible IO error). This race has been actually observed in the wild. 2) When fsync_buffers_list() processes a private_list, mark_buffer_dirty_inode() can be called on bh which is already on the private list of fsync_buffers_list(). As buffer is on some list (note that the check is performed without private_lock), it is not readded to the mapping's private_list and after fsync_buffers_list() finishes, we have a dirty buffer which should be on private_list but it isn't. This race has not been reported, probably because most (but not all) callers of mark_buffer_dirty_inode() hold i_mutex and thus are serialized with fsync(). Fix these issues by not clearing b_assoc_map when fsync_buffers_list() moves buffer to a dedicated list and by reinserting buffer in private_list when it is found dirty after we have submitted buffer for IO. We also change the tests whether a buffer is on a private list from !list_empty(&bh->b_assoc_buffers) to bh->b_assoc_map so that they are single word reads and hence lockless checks are safe. Signed-off-by: Jan Kara Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6f21c81464ce52dbeec921bdc2e8b288c491920 Author: Yinghai Lu Date: Fri Feb 8 04:21:58 2008 -0800 Convert loglevel-related kernel boot parameters to early_param So we can use them for the early console like console=uart8250 or earlycon=uart8250 or early_printk Signed-off-by: Yinghai Lu Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06b2a76d25d3cfbd14680021c1d356c91be6904e Author: Yi Yang Date: Fri Feb 8 04:21:57 2008 -0800 Add new string functions strict_strto* and convert kernel params to use them Currently, for every sysfs node, the callers will be responsible for implementing store operation, so many many callers are doing duplicate things to validate input, they have the same mistakes because they are calling simple_strtol/ul/ll/uul, especially for module params, they are just numeric, but you can echo such values as 0x1234xxx, 07777888 and 1234aaa, for these cases, module params store operation just ignores succesive invalid char and converts prefix part to a numeric although input is acctually invalid. This patch tries to fix the aforementioned issues and implements strict_strtox serial functions, kernel/params.c uses them to strictly validate input, so module params will reject such values as 0x1234xxxx and returns an error: write error: Invalid argument Any modules which export numeric sysfs node can use strict_strtox instead of simple_strtox to reject any invalid input. Here are some test results: Before applying this patch: [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo 0x1000 > /sys/module/e1000/parameters/copybreak [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo 0x1000g > /sys/module/e1000/parameters/copybreak [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo 0x1000gggggggg > /sys/module/e1000/parameters/copybreak [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo 010000 > /sys/module/e1000/parameters/copybreak [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo 0100008 > /sys/module/e1000/parameters/copybreak [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo 010000aaaaa > /sys/module/e1000/parameters/copybreak [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# After applying this patch: [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo 0x1000 > /sys/module/e1000/parameters/copybreak [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo 0x1000g > /sys/module/e1000/parameters/copybreak -bash: echo: write error: Invalid argument [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo 0x1000gggggggg > /sys/module/e1000/parameters/copybreak -bash: echo: write error: Invalid argument [root@yangyi-dev /]# echo 010000 > /sys/module/e1000/parameters/copybreak [root@yangyi-dev /]# echo 0100008 > /sys/module/e1000/parameters/copybreak -bash: echo: write error: Invalid argument [root@yangyi-dev /]# echo 010000aaaaa > /sys/module/e1000/parameters/copybreak -bash: echo: write error: Invalid argument [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# echo -n 4096 > /sys/module/e1000/parameters/copybreak [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak 4096 [root@yangyi-dev /]# [akpm@linux-foundation.org: fix compiler warnings] [akpm@linux-foundation.org: fix off-by-one found by tiwai@suse.de] Signed-off-by: Yi Yang Cc: Greg KH Cc: "Randy.Dunlap" Cc: Takashi Iwai Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10e6f32bdf02448f787d78647e75cf98a02f19a4 Author: Randy Dunlap Date: Fri Feb 8 04:21:56 2008 -0800 getdelays: fix gcc warnings Fix gcc warnings in getdelays.c: Documentation/accounting/getdelays.c: In function 'task_context_switch_counts': Documentation/accounting/getdelays.c:214: warning: format '%15lu' expects type 'long unsigned int', but argument 4 has type '__u64' Documentation/accounting/getdelays.c:214: warning: format '%15lu' expects type 'long unsigned int', but argument 5 has type '__u64' Documentation/accounting/getdelays.c: In function 'main': Documentation/accounting/getdelays.c:402: warning: format '%d' expects type 'int', but argument 2 has type 'long unsigned int' Documentation/accounting/getdelays.c: In function 'get_family_id': Documentation/accounting/getdelays.c:171: warning: 'id' may be used uninitialized in this function One warning is not a problem and can be dismissed: Documentation/accounting/getdelays.c: In function 'main': Documentation/accounting/getdelays.c:236: warning: 'cmd_type' may be used uninitialized in this function Signed-off-by: Randy Dunlap Acked-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa7303e22c829a3364b5b7227aec9ed2d8623b2c Author: Sam Ravnborg Date: Fri Feb 8 04:21:55 2008 -0800 cpu: fix section mismatch warnings for enable_nonboot_cpus Fix following warning: WARNING: o-x86_64/kernel/built-in.o(.text+0x36d8b): Section mismatch in reference from the function enable_nonboot_cpus() to the function .cpuinit.text:_cpu_up() enable_nonboot_cpus() are used solely from CONFIG_CONFIG_PM_SLEEP_SMP=y and PM_SLEEP_SMP imply HOTPLUG_CPU therefore the reference to _cpu_up() is valid. Annotate enable_nonboot_cpus() with __ref to silence modpost. Signed-off-by: Sam Ravnborg Cc: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13d8bcd263cf96c67bd4071ad13cd056dca7b0fb Author: Mike Frysinger Date: Fri Feb 8 04:21:54 2008 -0800 use __u32 in linux/reiserfs_fs.h Since this header is exported to userspace and all the other types in the header have been scrubbed, this brings the last straggler in line. Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d20894a23708c2af75966534f8e4dedb46d48db2 Author: Andi Kleen Date: Fri Feb 8 04:21:54 2008 -0800 Remove a.out interpreter support in ELF loader Following the deprecation schedule the a.out ELF interpreter support is removed now with this patch. a.out ELF interpreters were an transition feature for moving a.out systems to ELF, but they're unlikely to be still needed. Pure a.out systems will still work of course. This allows to simplify the hairy ELF loader. Signed-off-by: Andi Kleen Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48d13e483c5b450be451f78cc9cb43c0bdd6b7bb Author: Pavel Emelyanov Date: Fri Feb 8 04:21:53 2008 -0800 Don't operate with pid_t in rtmutex tester The proper behavior to store task's pid and get this task later is to get the struct pid pointer and get the task with the pid_task() call. Make it for rt_mutex_waiter->deadlock_task_pid field. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8dc86af00612e5ccff3384c17575362a3f2a2ca0 Author: Pavel Emelyanov Date: Fri Feb 8 04:21:52 2008 -0800 Use find_task_by_vpid in posix timers All the functions that need to lookup a task by pid in posix timers obtain this pid from a user space, and thus this value refers to a task in the same namespace, as the current task lives in. So the proper behavior is to call find_task_by_vpid() here. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20a8143eaa3300a58326156eaf43e03db0fd2cb6 Author: Paul Clements Date: Fri Feb 8 04:21:51 2008 -0800 NBD: remove limit on max number of nbd devices Remove the arbitrary 128 device limit for NBD. nbds_max can now be set to any number. In certain scenarios where devices are used sparsely we have run into the 128 device limit. Signed-off-by: Paul Clements Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53a7a1bb438245cd2ef9674b9af3a5201d7d7657 Author: Jiri Slaby Date: Fri Feb 8 04:21:51 2008 -0800 Char: applicom, use pci_match_id Instead of testing hardcoded values, use pci_match_id to reference the pci_device_id table. Sideways, it allows easy new additions to the table. [akpm@linux-foundation.org: remove wrongly-added semicolon] Signed-off-by: Jiri Slaby Cc: WANG Cong Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55b29a728e37ac4b87d09ba8da480f14bdec3b8d Author: Jiri Slaby Date: Fri Feb 8 04:21:50 2008 -0800 Char: applicom, use pci_resource_start Use pci_resource_start instead of accessing pci_dev struct internals. Signed-off-by: Jiri Slaby Cc: WANG Cong Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6da80894cc11b5c0d79130a194789bab043a9b4b Author: Miklos Szeredi Date: Fri Feb 8 04:21:50 2008 -0800 mount options: fix udf Add a .show_options super operation to udf. Signed-off-by: Miklos Szeredi Acked-by: Cyrill Gorcunov Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b76db735407a26c1036fdfef249ddc35eb969bc4 Author: Andrew Morton Date: Fri Feb 8 04:21:49 2008 -0800 mount-options-fix-tmpfs-fix Documentation/SubmitCheckist, please. Cc: Hugh Dickins Cc: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 680d794babebc74484c141448baa9b95b211cf5e Author: akpm@linux-foundation.org Date: Fri Feb 8 04:21:48 2008 -0800 mount options: fix tmpfs Add .show_options super operation to tmpfs. Signed-off-by: Hugh Dickins Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90d09e141bb23bf0df5e31c40fb3175c17e8bda2 Author: Miklos Szeredi Date: Fri Feb 8 04:21:47 2008 -0800 mount options: fix spufs Add a .show_options super operation to spufs. Use generic_show_options() and save the complete option string in spufs_fill_super(). Signed-off-by: Miklos Szeredi Cc: Paul Mackerras Cc: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cdf6ccc8b88d667b3d326d3c506bca60b8c09939 Author: Miklos Szeredi Date: Fri Feb 8 04:21:47 2008 -0800 mount options: fix reiserfs Add a .show_options super operation to reiserfs. Use generic_show_options() and save the complete option string in reiserfs_fill_super() and reiserfs_remount(). Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 564cd138cb30658c12e80c33582bf50816ec7a41 Author: Miklos Szeredi Date: Fri Feb 8 04:21:46 2008 -0800 mount options: fix ncpfs Add a .show_options super operation to ncpfs. Small fix: add FS_BINARY_MOUNTDATA to the filesystem type flags, since it can take binary data, as well as text (similarly to NFS). Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d0132eea7a295623e34e26b0977638cc0f62a2c6 Author: Miklos Szeredi Date: Fri Feb 8 04:21:46 2008 -0800 mount options: fix isofs Add a .show_options super operation to isofs. Use generic_show_options() and save the complete option string in isofs_fill_super(). Signed-off-by: Miklos Szeredi Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10f19a86a5e106edb86d354137ba6e7388ecd1ce Author: Miklos Szeredi Date: Fri Feb 8 04:21:45 2008 -0800 mount options: fix hugetlbfs Add a .show_options super operation to hugetlbfs. Use generic_show_options() and save the complete option string in hugetlbfs_fill_super(). Signed-off-by: Miklos Szeredi Cc: Adam Litke Cc: Badari Pulavarty Cc: Ken Chen Cc: William Lee Irwin III Cc: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d9c1fd425e6e1f0998218104cc046589e3af3d8 Author: Miklos Szeredi Date: Fri Feb 8 04:21:44 2008 -0800 mount options: fix hpfs Add a .show_options super operation to hpfs. Use generic_show_options() and save the complete option string in hpfs_fill_super() and hpfs_remount_fs(). Also add a small fix: hpfs_remount_fs() should return -EINVAL on error, instead of 1, which is not an error value. Signed-off-by: Miklos Szeredi Cc: Mikulas Patocka Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd2cc4dff3b08ab54c4c177a080046bcc84ac41d Author: Miklos Szeredi Date: Fri Feb 8 04:21:43 2008 -0800 mount options: fix hostfs Add the "host path" option to /proc/mounts for UML hostfs filesystems. The mount source (mnt_devname) should really be used for this, but not easy to change now in a backward compatible way. Signed-off-by: Miklos Szeredi Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1875dbaa58e4894f7d9321d1c280fb23ca9f9e5 Author: Miklos Szeredi Date: Fri Feb 8 04:21:43 2008 -0800 mount options: fix fuse Add blksize= option to /proc/mounts for fuseblk filesystems. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1fca3b6090f45018b3754eff0276521edb8ac3e Author: Miklos Szeredi Date: Fri Feb 8 04:21:42 2008 -0800 mount options: fix fat Add flush option to /proc/mounts for msdos and vfat filesystems. Signed-off-by: Miklos Szeredi Acked-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35c879dc302cc08cbbf108deb2be1c2859da0d18 Author: Miklos Szeredi Date: Fri Feb 8 04:21:42 2008 -0800 mount options: fix ext2 Add noreservation option to /proc/mounts for ext2 filesystems. Signed-off-by: Miklos Szeredi Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b87a267eb7291d075df76ebabd43c7f961b12f67 Author: Miklos Szeredi Date: Fri Feb 8 04:21:41 2008 -0800 mount options: fix devpts Add a .show_options super operation to devpts. Small cleanup: when parsing the "mode" option, mask with S_IALLUGO instead of ~S_IFMT. Signed-off-by: Miklos Szeredi Acked-by: H. Peter Anvin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e55e212c083f0c51a7d4eccd1746b6dca40ffc41 Author: Miklos Szeredi Date: Fri Feb 8 04:21:40 2008 -0800 mount options: fix capifs Add a .show_options super operation to capifs. Use generic_show_options() and save the complete option string in capifs_remount(). Signed-off-by: Miklos Szeredi Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 552c3c6c565d08857df48e77e8ce2b223517c3ee Author: Miklos Szeredi Date: Fri Feb 8 04:21:38 2008 -0800 mount options: fix befs Add a .show_options super operation to befs. Use generic_show_options() and save the complete option string in befs_fill_super(). Signed-off-by: Miklos Szeredi Cc: Sergey S. Kostyliov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 979db7542d9c73db0d770110edb31c1252ef6c4a Author: Miklos Szeredi Date: Fri Feb 8 04:21:38 2008 -0800 mount options: fix autofs Add a .show_options super operation to autofs. Use generic_show_options() and save the complete option string in autofs_fill_super(). Signed-off-by: Miklos Szeredi Acked-by: H. Peter Anvin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aef97cb9031755422c23cc64f7a089a0fbbcca7a Author: Miklos Szeredi Date: Fri Feb 8 04:21:37 2008 -0800 mount options: fix autofs4 Add uid= and gid= options to /proc/mounts for autofs4 filesystems. Signed-off-by: Miklos Szeredi Acked-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 969729d56ef2c8b709844bc0071805f86dfbd2f9 Author: Miklos Szeredi Date: Fri Feb 8 04:21:37 2008 -0800 mount options: fix afs Add a .show_options super operation to afs. Use generic_show_options() and save the complete option string in afs_get_sb(). Signed-off-by: Miklos Szeredi Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9b3961b66bb1e93762895d809be074ea109c77c Author: Miklos Szeredi Date: Fri Feb 8 04:21:36 2008 -0800 mount options: fix affs Add a .show_options super operation to affs. Use generic_show_options() and save the complete option string in affs_fill_super() and affs_remount(). Signed-off-by: Miklos Szeredi Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e11400b0cadc97cb1062912c1028e965c93fa9b3 Author: Miklos Szeredi Date: Fri Feb 8 04:21:35 2008 -0800 mount options: fix adfs Add a .show_options super operation to adfs. Signed-off-by: Miklos Szeredi Acked-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3b304a23a8f7ae4c40c7b512ee45afae0010a70 Author: Miklos Szeredi Date: Fri Feb 8 04:21:35 2008 -0800 mount options: add generic_show_options() Add a new s_options field to struct super_block. Filesystems can save mount options passed to them in mount or remount. It is automatically freed when the superblock is destroyed. A new helper function, generic_show_options() is introduced, which uses this field to display the mount options in /proc/mounts. Another helper function, save_mount_options() may be used by filesystems to save the options in the super block. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f84e3f521e1449300e0fdc314b7b43b418a66dc3 Author: Miklos Szeredi Date: Fri Feb 8 04:21:34 2008 -0800 mount options: add documentation This series addresses the problem of showing mount options in /proc/mounts. Several filesystems which use mount options, have not implemented a .show_options superblock operation. Several others have implemented this callback, but have not kept it fully up to date with the parsed options. Q: Why do we need correct option showing in /proc/mounts? A: We want /proc/mounts to fully replace /etc/mtab. The reasons for this are: - unprivileged mounters won't be able to update /etc/mtab - /etc/mtab doesn't work with private mount namespaces - /etc/mtab can become out-of-sync with reality Q: Can't this be done, so that filesystems need not bother with implementing a .show_mounts callback, and keeping it up to date? A: Only in some cases. Certain filesystems allow modification of a subset of options in their remount_fs method. It is not possible to take this into account without knowing exactly how the filesystem handles options. For the simple case (no remount or remount resets all options) the patchset introduces two helpers: generic_show_options() save_mount_options() These can also be used to emulate the old /etc/mtab behavior, until proper support is added. Even if this is not 100% correct, it's still better than showing no options at all. The following patches fix up most in-tree filesystems, some have been compile tested only, some have been reviewed and acked by the maintainer. Table displaying status of all in-kernel filesystems: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - legend: none - fs has options, but doesn't define ->show_options() some - fs defines ->show_options(), but some only options are shown good - fs shows all options noopt - fs does not have options patch - a patch will be posted merged - a patch has been merged by subsystem maintainer 9p good adfs patch affs patch afs patch autofs patch autofs4 patch befs patch bfs noopt cifs some coda noopt configfs noopt cramfs noopt debugfs noopt devpts patch ecryptfs good efs noopt ext2 patch ext3 good ext4 merged fat patch freevxfs noopt fuse patch fusectl noopt gfs2 good gfs2meta noopt hfs good hfsplus good hostfs patch hpfs patch hppfs noopt hugetlbfs patch isofs patch jffs2 noopt jfs merged minix noopt msdos ->fat ncpfs patch nfs some nfsd noopt ntfs good ocfs2 good ocfs2/dlmfs noopt openpromfs noopt proc noopt qnx4 noopt ramfs noopt reiserfs patch romfs noopt smbfs good sysfs noopt sysv noopt udf patch ufs good vfat ->fat xfs good mm/shmem.c patch drivers/oprofile/oprofilefs.c noopt drivers/infiniband/hw/ipath/ipath_fs.c noopt drivers/misc/ibmasm/ibmasmfs.c noopt drivers/usb/core (usbfs) merged drivers/usb/gadget (gadgetfs) noopt drivers/isdn/capi/capifs.c patch kernel/cpuset.c noopt fs/binfmt_misc.c noopt net/sunrpc/rpc_pipe.c noopt arch/powerpc/platforms/cell/spufs patch arch/s390/hypfs good ipc/mqueue.c noopt security (securityfs) noopt security/selinux/selinuxfs.c noopt kernel/cgroup.c good security/smack/smackfs.c noopt in -mm: reiser4 some unionfs good - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This patch: Document the rules for handling mount options in the .show_options super operation. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e542059884bb6d651d7ffc64eacedbab2b64078c Author: Mike Frysinger Date: Fri Feb 8 04:21:31 2008 -0800 drop linux/ufs_fs.h from userspace export and relocate it to fs/ufs/ufs_fs.h Per previous discussions about cleaning up ufs_fs.h, people just want this straight up dropped from userspace export. The only remaining consumer (silo) has been fixed a while ago to not rely on this header. This allows use to move it completely from include/linux/ to fs/ufs/ seeing as how the only in-kernel consumer is fs/ufs/. Signed-off-by: Mike Frysinger Cc: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdc807871d58285737d50dc6163d0feb72cb0dc2 Author: H. Peter Anvin Date: Fri Feb 8 04:21:26 2008 -0800 avoid overflows in kernel/time.c When the conversion factor between jiffies and milli- or microseconds is not a single multiply or divide, as for the case of HZ == 300, we currently do a multiply followed by a divide. The intervening result, however, is subject to overflows, especially since the fraction is not simplified (for HZ == 300, we multiply by 300 and divide by 1000). This is exposed to the user when passing a large timeout to poll(), for example. This patch replaces the multiply-divide with a reciprocal multiplication on 32-bit platforms. When the input is an unsigned long, there is no portable way to do this on 64-bit platforms there is no portable way to do this since it requires a 128-bit intermediate result (which gcc does support on 64-bit platforms but may generate libgcc calls, e.g. on 64-bit s390), but since the output is a 32-bit integer in the cases affected, just simplify the multiply-divide (*3/10 instead of *300/1000). The reciprocal multiply used can have off-by-one errors in the upper half of the valid output range. This could be avoided at the expense of having to deal with a potential 65-bit intermediate result. Since the intent is to avoid overflow problems and most of the other time conversions are only semiexact, the off-by-one errors were considered an acceptable tradeoff. At Ralf Baechle's suggestion, this version uses a Perl script to compute the necessary constants. We already have dependencies on Perl for kernel compiles. This does, however, require the Perl module Math::BigInt, which is included in the standard Perl distribution starting with version 5.8.0. In order to support older versions of Perl, include a table of canned constants in the script itself, and structure the script so that Math::BigInt isn't required if pulling values from said table. Running the script requires that the HZ value is available from the Makefile. Thus, this patch also adds the Kconfig variable CONFIG_HZ to the architectures which didn't already have it (alpha, cris, frv, h8300, m32r, m68k, m68knommu, sparc, v850, and xtensa.) It does *not* touch the sh or sh64 architectures, since Paul Mundt has dealt with those separately in the sh tree. Signed-off-by: H. Peter Anvin Cc: Ralf Baechle , Cc: Sam Ravnborg , Cc: Paul Mundt , Cc: Richard Henderson , Cc: Michael Starvik , Cc: David Howells , Cc: Yoshinori Sato , Cc: Hirokazu Takata , Cc: Geert Uytterhoeven , Cc: Roman Zippel , Cc: William L. Irwin , Cc: Chris Zankel , Cc: H. Peter Anvin , Cc: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ef3d2fd17c377ef64a2aa19677d17576606c3b4 Author: Joe Perches Date: Fri Feb 8 04:21:25 2008 -0800 printk_ratelimit() functions should use CONFIG_PRINTK Makes an embedded image a bit smaller. Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36e789144267105e0b3f2b9bca7db3184fce50dc Author: Christoph Hellwig Date: Fri Feb 8 04:21:24 2008 -0800 kill do_generic_mapping_read do_generic_mapping_read was used by gfs2 for internals reads, but this use of the interface was rather suboptimal (as was the whole interface) and has been replaced by an internal helper now. This patch kills do_generic_mapping_read and surrounding damage in preparation of additional cleanups for the buffered read path. Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7437a51b30743ff1488981a393fc9e67894bf757 Author: Mike Frysinger Date: Fri Feb 8 04:21:24 2008 -0800 Remove __STRICT_ANSI__ from linux/types.h All of the asm-*/types.h headers have been updated to no longer check __STRICT_ANSI__ for the 64bit types, so this brings linux/types.h in line. Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d59d0b1b88c5b0f9cec219d236758d8882a59d6b Author: Andi Kleen Date: Fri Feb 8 04:21:23 2008 -0800 BKL-Removal: convert pipe to use unlocked_ioctl too No BKL needed in pipe_ioctl Signed-off-by: Andi Kleen Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de5c9edee7a3cfdc6dd1a31c4794dc41ef3c70f9 Author: David Brownell Date: Fri Feb 8 04:21:22 2008 -0800 PWM LED driver This is a LED driver using the PWM on newer SOCs from Atmel; brightness is controlled by changing the PWM duty cycle. So for example if you've set up two leds labeled "pwm0" and "pwm1": echo 0 > /sys/class/leds/pwm2/brightness # off (0%) echo 80 > /sys/class/leds/pwm2/brightness echo 255 > /sys/class/leds/pwm2/brightness # on (100%) Note that "brightness" here isn't linear; maybe that should change. Going from 4 to 8 probably doubles perceived brightness, while 244 to 248 is imperceptible. This is mostly intended to be a simple example of PWM, although it's realistic since LCD backlights are often driven with PWM to conserve battery power (and offer brightness options). Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen Cc: Richard Purdie Cc: Andrew Victor Cc: Nicolas Ferre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a1e8eb1f0b76b5e72a2343ad881c81b08dd6410 Author: David Brownell Date: Fri Feb 8 04:21:21 2008 -0800 Basic PWM driver for AVR32 and AT91 PWM device setup, and a simple PWM driver exposing a programming interface giving access to each channel's full capabilities. Note that this doesn't support starting several channels in synch. [hskinnemoen@atmel.com: allocate platform device dynamically] [hskinnemoen@atmel.com: Kconfig fix] Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen Cc: Andrew Victor Cc: Nicolas Ferre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8cece84c9f36410de5164735e909603426e4d5f Author: Jan Engelhardt Date: Fri Feb 8 04:21:20 2008 -0800 OSS: constify function pointer tables Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03a44825be987d720df854f63b2f7bd30e46bdde Author: Jan Engelhardt Date: Fri Feb 8 04:21:19 2008 -0800 procfs: constify function pointer tables Signed-off-by: Jan Engelhardt Acked-by: Geert Uytterhoeven Acked-by: Mike Frysinger Acked-By: David Howells Acked-by: Bryan Wu Acked-by: Jesper Nilsson Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec26e11740cdff8c3c8330ea235478704ffb4a71 Author: Jan Engelhardt Date: Fri Feb 8 04:21:18 2008 -0800 reiserfs: constify function pointer tables Signed-off-by: Jan Engelhardt Acked-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b7880e7bb30e641037550888b5c22d94c77f254 Author: Jan Kara Date: Fri Feb 8 04:21:09 2008 -0800 isofs: implement dmode option Implement dmode option for iso9660 filesystem to allow setting of access rights for directories on the filesystem. Signed-off-by: Jan Kara Cc: "Ilya N. Golubev" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d141c3ff6d74cc30cdbf26155842756ac16cf7f Author: Li Zefan Date: Fri Feb 8 04:21:09 2008 -0800 workqueue: make delayed_work_timer_fn() static delayed_work_timer_fn() is a timer function, make it static. Signed-off-by: Li Zefan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae161068756c203ccbeeb9178f4d4f6665d294cf Author: Haavard Skinnemoen Date: Fri Feb 8 04:21:08 2008 -0800 atmel_serial: show tty name in /proc/interrupts When possible, pass the tty name to request_irq() so that the user can easily distinguish the different serial ports in /proc/interrupts. Signed-off-by: Haavard Skinnemoen Cc: Andrew Victor Tested-by: Marc Pignat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c811ab8c2daf6bc2b5761937929a62fa84b18b32 Author: Haavard Skinnemoen Date: Fri Feb 8 04:21:08 2008 -0800 atmel_serial: use container_of instead of direct cast As pointed out by David Brownell, we really ought to be using container_of when converting from "struct uart_port *" to "struct atmel_uart_port *". Signed-off-by: Haavard Skinnemoen Cc: Andrew Victor Tested-by: Marc Pignat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6433471d33c09d69d029b1c4b7bdd1612c492587 Author: Haavard Skinnemoen Date: Fri Feb 8 04:21:07 2008 -0800 atmel_serial: fix broken RX buffer allocation Introduced by atmel_serial-split-the-interrupt-handler.patch. Thanks to michael for spotting it. Signed-off-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a66706158d6bc4d9eb29c37852001f78f4c8989c Author: Chip Coldwell Date: Fri Feb 8 04:21:06 2008 -0800 atmel_serial: add DMA support This patch is based on the DMA-patch by Chip Coldwell for the AT91/AT32 serial USARTS, with some tweaks to make it apply neatly on top of the other patches in this series. The RX and TX code has been moved to a tasklet and reworked a bit. Instead of depending on the ENDRX and TIMEOUT bits in CSR, we simply grab as much data as we can from the DMA buffers. I think this closes a race where the ENDRX bit is set after we read CSR but before we read RPR, although I haven't confirmed this. Similarly, the two TX handlers (ENDTX and TXBUFE) have been combined into one. Since the current code only uses a single TX buffer, there's no point in handling those interrupts separately. This also fixes a DMA sync bug in the original patch. [linux@bohmer.net: rebased onto irq-splitup patch] [hskinnemoen@atmel.com: moved to tasklet, fixed dma bug, misc cleanups] [hskinnemoen@atmel.com: atmel_serial dma: Misc fixes and cleanups] Signed-off-by: Remy Bohmer Signed-off-by: Haavard Skinnemoen Cc: Andrew Victor Tested-by: Marc Pignat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ecc26bd2789ddb253f61e182a61c776663fe44c Author: Remy Bohmer Date: Fri Feb 8 04:21:05 2008 -0800 atmel_serial: split the interrupt handler Split up the interrupt handler of the serial port into a interrupt top-half and a tasklet. The goal is to get the interrupt top-half as short as possible to minimize latencies on interrupts. But the old code also does some calls in the interrupt handler that are not allowed on preempt-RT in IRQF_NODELAY context. This handler is executed in this context because of the interrupt sharing with the timer interrupt. The timer interrupt on Preempt-RT runs in IRQF_NODELAY context. The tasklet takes care of handling control status changes, pushing incoming characters to the tty layer, handling break and other errors. It also handles pushing TX data into the data register. Reading the complete receive queue is still done in the top-half because we never want to miss any incoming character. [hskinnemoen@atmel.com: misc cleanups and simplifications] Signed-off-by: Remy Bohmer Signed-off-by: Haavard Skinnemoen Cc: Andrew Victor Tested-by: Marc Pignat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dfa7f343e526f3595d8f1d99807d141ae0c08601 Author: Haavard Skinnemoen Date: Fri Feb 8 04:21:04 2008 -0800 atmel_serial: fix bugs in probe() error path and remove() When an error happens in probe(), the clocks should be disabled, but only if the port isn't already used as a console. In remove(), the port struct shouldn't be freed because it's defined statically. Signed-off-by: Haavard Skinnemoen Cc: Andrew Victor Tested-by: Marc Pignat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c0fd82f9375b41f880dc9d7fe32920f33dc945b Author: Haavard Skinnemoen Date: Fri Feb 8 04:21:03 2008 -0800 atmel_serial: use existing console options only if BRG is running If BRGR is zero, the baud rate generator isn't running, so the boot loader can't have initialized the port. Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Tested-by: Marc Pignat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 829dd8112274d46c5ed82d46be506762e2c8fcd8 Author: Haavard Skinnemoen Date: Fri Feb 8 04:21:02 2008 -0800 atmel_serial: use cpu_relax() when busy-waiting Replace two instances of barrier() with cpu_relax() since that's the right thing to do when busy-waiting. This does not actually change anything since cpu_relax() is defined as barrier() on both ARM and AVR32. Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Tested-by: Marc Pignat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b843aa216c4da250c6732cd76430d73a6589beb5 Author: Remy Bohmer Date: Fri Feb 8 04:21:01 2008 -0800 atmel_serial: clean up the code Clean up the atmel_serial driver to conform the coding rules. It contains no functional change. Signed-off-by: Remy Bohmer Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Tested-by: Marc Pignat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1cfac48ba4c7481bb749e0f4f37c85cb871b2d1 Author: Haavard Skinnemoen Date: Fri Feb 8 04:21:00 2008 -0800 MAINTAINERS: add Haavard as maintainer of the atmel_serial driver The following patchset cleans up the atmel_serial driver a bit, moves a significant portion of the interrupt handler into a tasklet, and adds DMA support. This is the result of a combined effort by Chip Coldwell, Remy Bohmer and me. The patches should apply cleanly onto Linus' latest git tree, and I've also tested it on -mm (with a couple of avr32 fixes applied to make the rest of the tree compile.) With DMA, I see transfer rates around 92 kbps when transferring a big file using ZModem (both directions are roughly the same.) I've also tested the same thing with a bunch of debug options enabled. The transfer rate is slightly lower, but no errors are reported. Note that break and error handling doesn't work too well with DMA enabled. This is a common problem with all the efforts I've seen adding DMA support to this driver (including my own). The PDC error handling also accesses icount without locking. I'm tempted to just ignore the problem for now and hopefully come up with a solution later. This patch: The atmel_serial driver never had a MAINTAINERS entry, although Andrew Victor has effectively been acting as a maintainer since he got the driver merged into mainline in the first place. I'll keep Cc'ing Andrew on all patches, but I'm going to take the main responsibility for getting things moving upstream from now on. Signed-off-by: Haavard Skinnemoen Acked-by: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4bd7d59451960d4e1d994c01581b31b08fe3720 Author: Wim Van Sebroeck Date: Fri Feb 8 04:20:58 2008 -0800 SMBIOS/DMI: add type 41 = Onboard Devices Extended Information From version 2.6 of the SMBIOS standard, type 10 (On Board Devices Information) becomes obsolete. The reason for this is that no further fields can be added to this structure without adversely affecting existing software's ability to properly parse the data. Therefore type 41 (Onboard Devices Extended Information) was added. The structure is as follows: struct smbios_type_41 { u8 type; u8 length; u16 handle; u8 reference_designation_string; u8 device_type; /* same device type as in type 10 */ u8 device_type_instance; u16 segment_group_number; u8 bus_number; u8 device_function_number; }; For more info: http://www.dmtf.org/standards/smbios Signed-off-by: Wim Van Sebroeck Cc: Jean Delvare Cc: Len Brown Cc: Jeff Garzik Cc: Tejun Heo Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13050d89019a4127178c0945733fb23649f9f3fe Author: Stephan Boettcher Date: Fri Feb 8 04:20:56 2008 -0800 parport: fix ieee1284_epp_read_addr We bought cheap notebooks to control our custom data acquisition system, which requires EPP mode (read/write, data/addr). The bios does not offer EPP mode, and indeed hardware EPP mode appears not to work, although the parport driver tries to use it. EPPSWE mode does work for data r/w and addr write, but addr read requires this patch. (stephan)rshgse3: lspci 00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03) 00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03) 00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03) 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02) 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02) 00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02) 00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02) 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02) 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02) 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02) 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02) 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2) 00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02) 00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02) 00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller AHCI (rev 02) 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02) 02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8055 PCI-E Gigabit Ethernet Controller (rev 12) 05:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02) 08:03.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b3) 08:03.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 08) 08:03.2 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 17) (stephan)rshgse3: grep . /proc/sys/dev/parport/parport0/* /proc/sys/dev/parport/parport0/base-addr:888 1912 /proc/sys/dev/parport/parport0/dma:-1 /proc/sys/dev/parport/parport0/irq:7 /proc/sys/dev/parport/parport0/modes:PCSPP,TRISTATE,EPP /proc/sys/dev/parport/parport0/spintime:500 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a36219ac93b3fd029f5e800642226c57796c152f Author: Adrian Bunk Date: Fri Feb 8 04:20:55 2008 -0800 The scheduled 'time' option removal The scheduled removal of the 'time' option. Signed-off-by: Adrian Bunk Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3287629eff75c7323e875b942be82f7ac6ca18da Author: Arjan van de Ven Date: Fri Feb 8 04:20:55 2008 -0800 remove the unused exports of sys_open/sys_read These exports (which aren't used and which are in fact dangerous to use because they pretty much form a security hole to use) have been marked _UNUSED since 2.6.24 with removal in 2.6.25. This patch is their final departure from the Linux kernel tree. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2fdda0dfbe85ad5d68d4799ff7c5af89db8ac19 Author: Andy Whitcroft Date: Fri Feb 8 04:20:54 2008 -0800 update checkpatch.pl to version 0.13 This version brings a large number of fixes which have built up over the Christmas period. Mostly these are fixes for false positives, both through improvments to unary checks and possible type detection. It also brings new checks for while location and CVS keywords. Of note: - a number of fixes to unary detection - detection of a number of new forms of types to improve type matching - better inline handling - recognision of '%' as an operator Andy Whitcroft (28): Version: 0.13 unary detection: maintain bracket state across lines move to pre-sanitising the entire file the text of a #error statement should be treated like it is in quotes line sanitisation needs to target double backslash correctly tighten comment guestimation for lines starting ' * ' debug: add a debug framework prevent unclosed single quotes from spreading add % as an operator the text of a #warning statement should be treated like it is in quotes possible matching applies in typedefs single statement block checks must not trigger when two or more statements possible types: local variables may also be const treat inline as a type attribute to even when out of place possible types: sparse annotations are valid indicators possible types: beef up the possible type testing check for hanging while statements on the wrong line utf8 checks need to occur against the raw lines function brace checks should use any whitespece matches comments should take up space in the line when sanitised remove debugging from if assignment checks possible types -- ensure we detect all pointer casts fix tests for function spacing in the presence of #define clean up the UTF-8 error message to be clearer test-lib: invert the status report, output success counts detect and report CVS keywords tests: break out tests Add $Id$ to the CVS keyword checks Benny Halevy (1): checkpatch.pl: recognize the #elif preprocessor directive Geert Uytterhoeven (1): print the filenames of patches where available Mauro Carvalho Chehab (1): Fix missing \n in checkpatch.pl Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69759454873fd90130007bdb60948a79e880cd82 Author: Andrew Morton Date: Fri Feb 8 04:20:53 2008 -0800 fs/afs/security.c: fix uninitialized var warning fs/afs/security.c: In function 'afs_permission': fs/afs/security.c:290: warning: 'access' may be used uninitialized in this function Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8aa84ab99b1e47973f0b82258f0eab945d0b114d Author: Andrew Morton Date: Fri Feb 8 04:20:52 2008 -0800 fs/hfsplus/unicode.c: fix uninitialized var warning fs/hfsplus/unicode.c: In function 'hfsplus_hash_dentry': fs/hfsplus/unicode.c:328: warning: 'dsize' may be used uninitialized in this function Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 800fdfb90ab4a172a46e45b7cc5e1670a54f44bc Author: Jan Kara Date: Fri Feb 8 04:20:51 2008 -0800 udf: change maintainer I've tried to contact Ben Fennema a few times but without success. Since I'm currently probably closest to being an UDF maintainer, I guess it's fine to also change the entry in MAINTAINERS. Signed-off-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05343c4f2ee1a4f81f287d95b28c80ee565817c4 Author: Jan Kara Date: Fri Feb 8 04:20:51 2008 -0800 udf: fix adding entry to a directory When adding directory entry to a directory, we have to properly increase length of the last extent. Handle this similarly as extending regular files - make extents always have size multiple of block size (it will be truncated down to proper size in udf_clear_inode()). Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af793295bf9ee92660f5e77d337b0493cea3f9b9 Author: Jan Kara Date: Fri Feb 8 04:20:50 2008 -0800 udf: cleanup directory offset handling Position in directory returned by readdir is offset of directory entry divided by four (don't ask me why). Make this conversion only when reading f_pos from userspace / writing it there and internally work in bytes. It makes things more easily readable and also fixes a bug (we forgot to divide length of the entry by 4 when advancing f_pos in udf_add_entry()). Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32a8f24dd75c2be34606e77414afba7bc6b5b366 Author: Mike Galbraith Date: Fri Feb 8 04:20:49 2008 -0800 udf: avoid unnecessary synchronous writes Fix udf_clear_inode() to request asynchronous writeout in icache reclaim path. Signed-off-by: Mike Galbraith Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f3fbd08976f1d2562d6174d5fe4c85d12bb7d54 Author: Marcin Slusarz Date: Fri Feb 8 04:20:49 2008 -0800 udf: fix signedness issue sparse generated: fs/udf/namei.c:896:15: originally declared here fs/udf/namei.c:1147:41: warning: incorrect type in argument 3 (different signedness) fs/udf/namei.c:1147:41: expected int *offset fs/udf/namei.c:1147:41: got unsigned int * fs/udf/namei.c:1152:78: warning: incorrect type in argument 3 (different signedness) fs/udf/namei.c:1152:78: expected int *offset fs/udf/namei.c:1152:78: got unsigned int * Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ed161718a8f763130e6e349f2bbb1b764e6c5b3 Author: Marcin Slusarz Date: Fri Feb 8 04:20:48 2008 -0800 udf: fix 3 signedness & 1 unitialized variable warnings sparse generated: fs/udf/inode.c:324:41: warning: incorrect type in argument 4 (different signedness) fs/udf/inode.c:324:41: expected long * fs/udf/inode.c:324:41: got unsigned long * inode_getblk always set 4th argument to uint32_t value 3rd parameter of map_bh is sector_t (which is unsigned long or u64) so convert phys value to sector_t fs/udf/inode.c:1818:47: warning: incorrect type in argument 3 (different signedness) fs/udf/inode.c:1818:47: expected int * fs/udf/inode.c:1818:47: got unsigned int * fs/udf/inode.c:1826:46: warning: incorrect type in argument 3 (different signedness) fs/udf/inode.c:1826:46: expected int * fs/udf/inode.c:1826:46: got unsigned int * udf_get_filelongad and udf_get_shortad are called always for uint32_t values (struct extent_position->offset), so it's safe to convert offset parameter to uint32_t gcc warned: fs/udf/inode.c: In function 'udf_get_block': fs/udf/inode.c:299: warning: 'phys' may be used uninitialized in this function initialize it to 0 (if someday someone will break inode_getblk we will catch it immediately) Signed-off-by: Marcin Slusarz Cc: Ben Fennema Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 934c5e6019758305b9cb1eb977c5eac997cd0180 Author: Marcin Slusarz Date: Fri Feb 8 04:20:47 2008 -0800 udf: remove wrong prototype of udf_readdir sparse generated: fs/udf/dir.c:78:5: warning: symbol 'udf_readdir' was not declared. Should it be static? there are 2 different prototypes of udf_readdir - remove them and move code around to make it still compile Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9ca663578321695658675103c35452d8ce91d85 Author: Adrian Bunk Date: Fri Feb 8 04:20:47 2008 -0800 kill UDFFS_{DATE,VERSION} Printing date and version of a driver makes sense if there's a maintainer who's maintaining and using these, but printing ancient version information only confuses users. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28f7c4d413b9e6326f8d0aef31cd5ba8500b20dd Author: Marcin Slusarz Date: Fri Feb 8 04:20:46 2008 -0800 udf: improve readability of udf_load_partition Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 756fa92f4d725698ffa4ac1faeb8f4e8cdb6cd95 Author: Marcin Slusarz Date: Fri Feb 8 04:20:46 2008 -0800 udf: fix udf_debug macro udf_debug should be enclosed with do { } while (0) to be safely used in code like below: if (something) udf_debug(); else anything; (Otherwise compiler will not compile it with: "error: expected expression before 'else'") Signed-off-by: Marcin Slusarz Cc: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48d6d8ff7dca804536298e517298182c4a51c421 Author: Marcin Slusarz Date: Fri Feb 8 04:20:44 2008 -0800 udf: cache struct udf_inode_info cache UDF_I(struct inode *) return values when there are at least 2 uses in one function Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0b344385fa05f6bea462e707fcba89f9e2776c2 Author: Marcin Slusarz Date: Fri Feb 8 04:20:42 2008 -0800 udf: remove UDF_I_* macros and open code them Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e0f001736651f6f859aeca95f895c829d223cdb Author: Marcin Slusarz Date: Fri Feb 8 04:20:41 2008 -0800 udf: convert byte order of constant instead of variable convert byte order of constant instead of variable, which can be done at compile time (vs run time) Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4daa1b87992ff210c19a6347cabde22335667004 Author: Marcin Slusarz Date: Fri Feb 8 04:20:41 2008 -0800 udf: replace loops coded with goto to real loops Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 742ba02a51c8d0bf5446b154531179760c1ed0a2 Author: Marcin Slusarz Date: Fri Feb 8 04:20:40 2008 -0800 udf: create common function for changing free space counter Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f2587bb22bbcd679e9cf034fb4a29bb48b051b3 Author: Marcin Slusarz Date: Fri Feb 8 04:20:39 2008 -0800 udf: create common function for tag checksumming Signed-off-by: Marcin Slusarz Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b11111aba6c80cc2969fd1806d2a869bfc9f357 Author: Marcin Slusarz Date: Fri Feb 8 04:20:36 2008 -0800 udf: fix coding style fix coding style errors found by checkpatch: - assignments in if conditions - braces {} around single statement blocks - no spaces after commas - printks without KERN_* - lines longer than 80 characters - spaces between "type *" and variable name before: 192 errors, 561 warnings, 8987 lines checked after: 1 errors, 38 warnings, 9468 lines checked Signed-off-by: Marcin Slusarz Cc: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd45a420f93d18c91115f3f0568dd6a2555aa15a Author: Marcin Slusarz Date: Fri Feb 8 04:20:35 2008 -0800 udf: fix sparse warnings (shadowing & mismatch between declaration and definition) fix sparse warnings: fs/udf/super.c:1431:24: warning: symbol 'bh' shadows an earlier one fs/udf/super.c:1347:21: originally declared here fs/udf/super.c:472:6: warning: symbol 'udf_write_super' was not declared. Should it be static? Signed-off-by: Marcin Slusarz Cc: Ben Fennema Cc: Jan Kara Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 883cb9d1842a37c6eed77f2c64792d35048c1e8d Author: Marcin Slusarz Date: Fri Feb 8 04:20:34 2008 -0800 udf: move calculating of nr_groups into helper function Signed-off-by: Marcin Slusarz Cc: Ben Fennema Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66e1da3f47d5aaa278d116e72d2f8e8f204cdca3 Author: Marcin Slusarz Date: Fri Feb 8 04:20:33 2008 -0800 udf: convert macros related to bitmaps to functions convert UDF_SB_ALLOC_BITMAP macro to udf_sb_alloc_bitmap function convert UDF_SB_FREE_BITMAP macro to udf_sb_free_bitmap function Signed-off-by: Marcin Slusarz Cc: Ben Fennema Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit deae6cfcdc206f68e89346295909a2629f0e0606 Author: Marcin Slusarz Date: Fri Feb 8 04:20:33 2008 -0800 udf: check if udf_load_logicalvol failed udf_load_logicalvol may fail eg in out of memory conditions - check it and propagate error further Signed-off-by: Marcin Slusarz Cc: Ben Fennema Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc5d39be6dfb54a50c8ee1f6154b10181c974db1 Author: Marcin Slusarz Date: Fri Feb 8 04:20:32 2008 -0800 udf: convert UDF_SB_ALLOC_PARTMAPS macro to udf_sb_alloc_partition_maps function - convert UDF_SB_ALLOC_PARTMAPS macro to udf_sb_alloc_partition_maps function - convert kmalloc + memset to kcalloc - check if kcalloc failed (partially) Signed-off-by: Marcin Slusarz Cc: Ben Fennema Cc: Jan Kara Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c79e987d629cb0f8f7e2983725f4434a2dec66b Author: Marcin Slusarz Date: Fri Feb 8 04:20:30 2008 -0800 udf: remove some ugly macros remove macros: - UDF_SB_PARTMAPS - UDF_SB_PARTTYPE - UDF_SB_PARTROOT - UDF_SB_PARTLEN - UDF_SB_PARTVSN - UDF_SB_PARTNUM - UDF_SB_TYPESPAR - UDF_SB_TYPEVIRT - UDF_SB_PARTFUNC - UDF_SB_PARTFLAGS - UDF_SB_VOLIDENT - UDF_SB_NUMPARTS - UDF_SB_PARTITION - UDF_SB_SESSION - UDF_SB_ANCHOR - UDF_SB_LASTBLOCK - UDF_SB_LVIDBH - UDF_SB_LVID - UDF_SB_UMASK - UDF_SB_GID - UDF_SB_UID - UDF_SB_RECORDTIME - UDF_SB_SERIALNUM - UDF_SB_UDFREV - UDF_SB_FLAGS - UDF_SB_VAT - UDF_UPDATE_UDFREV - UDF_SB_FREE and open code them convert UDF_SB_LVIDIU macro to udf_sb_lvidiu function rename some struct udf_sb_info fields: - s_volident to s_volume_ident - s_lastblock to s_last_block - s_lvidbh to s_lvid_bh - s_recordtime to s_record_time - s_serialnum to s_serial_number; - s_vat to s_vat_inode; Signed-off-by: Marcin Slusarz Cc: Ben Fennema Cc: Jan Kara Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a71fc5de56338076fe99f24f50bccfebabefe18 Author: Marcin Slusarz Date: Fri Feb 8 04:20:28 2008 -0800 udf: fix coding style of super.c fix coding style errors found by checkpatch: - assignments in if conditions - braces {} around single statement blocks - no spaces after commas - printks without KERN_* - lines longer than 80 characters before: total: 50 errors, 207 warnings, 1835 lines checked after: total: 0 errors, 164 warnings, 1872 lines checked all 164 warnings left are lines longer than 80 characters; this file has too much indentation with really long expressions to break all those lines now; will fix later Signed-off-by: Marcin Slusarz Cc: Ben Fennema Acked-by: Jan Kara Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74bedc4d56211b30686c6f2f574bf6c6a9654887 Author: Christoph Hellwig Date: Fri Feb 8 04:20:28 2008 -0800 libfs: rename simple_attr_close to simple_attr_release simple_attr_close implementes ->release so it should be named accordingly. Signed-off-by: Christoph Hellwig Cc: Cc: Arnd Bergmann Cc: Greg KH Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9261303ab7589cda6a3b95f9f80c9063538dc335 Author: Christoph Hellwig Date: Fri Feb 8 04:20:27 2008 -0800 libfs: make simple attributes interruptible Use mutex_lock_interruptible in simple_attr_read/write. Signed-off-by: Christoph Hellwig Cc: Cc: Arnd Bergmann Cc: Greg KH Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b88b0998e35d239e74446cc30f354bdab86df89 Author: Christoph Hellwig Date: Fri Feb 8 04:20:26 2008 -0800 libfs: allow error return from simple attributes Sometimes simple attributes might need to return an error, e.g. for acquiring a mutex interruptibly. In fact we have that situation in spufs already which is the original user of the simple attributes. This patch merged the temporarily forked attributes in spufs back into the main ones and allows to return errors. [akpm@linux-foundation.org: build fix] Signed-off-by: Christoph Hellwig Cc: Cc: Arnd Bergmann Cc: Greg KH Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efae09f3e99fcc1bdead7bc23a508b3bade3f82f Author: Jesper Juhl Date: Fri Feb 8 04:20:25 2008 -0800 Nuke duplicate header from sysctl.c Don't include linux/security.h twice in kernel/sysctl.c Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8db694e46ac30c171eb3537aba677a5671cda02 Author: Jesper Juhl Date: Fri Feb 8 04:20:24 2008 -0800 Nuke a duplicate include from profile.c Remove duplicate inclusion of linux/profile.h from kernel/profile.c Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2dc9c913154b64efa8346e81cf298012f090c1b1 Author: Jesper Juhl Date: Fri Feb 8 04:20:24 2008 -0800 Nuke duplicate include from printk.c Remove the duplicate inclusion of linux/jiffies.h from kernel/printk.c Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18914b1884ebdbcd4d4454100502a23d1d2dba43 Author: Mike Galbraith Date: Fri Feb 8 04:20:23 2008 -0800 write_inode_now(): avoid unnecessary synchronous write We shouldn't use WB_SYNC_ALL if the caller is asking for asynchronous treatment. Signed-off-by: Mike Galbraith Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abe8be3abe4c2043bd766f32d7eba62c12dbb0b3 Author: Andi Kleen Date: Fri Feb 8 04:20:23 2008 -0800 Allow executables larger than 2GB This allows us to use executables >2GB. Based on a patch by Dave Anderson Signed-off-by: Andi Kleen Cc: Dave Anderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 531d7d4256f3726b93f7a91f97132a944ab28148 Author: Mike Frysinger Date: Fri Feb 8 04:20:22 2008 -0800 asm-*/posix_types.h: scrub __GLIBC__ Some arches (like alpha and ia64) already have a clean posix_types.h header. This brings all the others in line by removing all references to __GLIBC__ (and some undocumented __USE_ALL). Signed-off-by: Mike Frysinger Acked-by: Ingo Molnar Cc: Ulrich Drepper Cc: Roland McGrath Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90b315af12b427eeb09b2812343fb4ef9d01cf17 Author: Evgeniy Dushistov Date: Fri Feb 8 04:20:16 2008 -0800 ufs: fix symlink creation on ufs2 If we create symlink on UFS2 filesystem under Linux, it looks wrong under other OSes, because of max symlink length field was not initialized properly, and data blocks were not used to save short symlink names. [akpm@linux-foundation.org: add missing fs32_to_cpu()] Signed-off-by: Evgeniy Dushistov Cc: Steven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91dbbe4896f374462c5912fbb3ec0dbab4814783 Author: Christoph Hellwig Date: Fri Feb 8 04:20:16 2008 -0800 ext2: remove unused ext2_put_inode prototype Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2ec66828fd253802abb912668f4bf9597e3c898 Author: Rusty Russell Date: Fri Feb 8 04:20:15 2008 -0800 aio: negative offset should return -EINVAL An AIO read or write should return -EINVAL if the offset is negative. This check matches the one in pread and pwrite. This was found by the libaio test suite. Signed-off-by: Rusty Russell Acked-by: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7adfa2ff3efa02a7a9f2632d2d2662d3e5eb5304 Author: Rusty Russell Date: Fri Feb 8 04:20:14 2008 -0800 aio: partial write should not return error code When an AIO write gets an error after writing some data (eg. ENOSPC), it should return the amount written already, not the error. Just like write() is supposed to. This was found by the libaio test suite. Signed-off-by: Rusty Russell Acked-By: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25478445c4a39318acbe08ba8df7945766cbb5b5 Author: Alexey Dobriyan Date: Fri Feb 8 04:20:14 2008 -0800 Fix container_of() usage Using "attr" twice is not OK, because it effectively prohibits such container_of() on variables not named "attr". Signed-off-by: Alexey Dobriyan Acked-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50e8a2890ed0eeb7a11ae0c39144fcdd1cad1cf8 Author: Marcin Slusarz Date: Fri Feb 8 04:20:13 2008 -0800 ext3: replace all adds to little endians variables with le*_add_cpu replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); sparse didn't generate any new warning with this patch Signed-off-by: Marcin Slusarz Cc: Mark Fasheh Cc: David Chinner Cc: Timothy Shimmin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b5f6883683c91ad7e1af32b7ceeb604d68e2865 Author: Marcin Slusarz Date: Fri Feb 8 04:20:12 2008 -0800 byteorder: move le32_add_cpu & friends from OCFS2 to core This patchset moves le*_add_cpu and be*_add_cpu functions from OCFS2 to core header (1st), converts ext3 filesystem to this API (2nd) and replaces XFS different named functions with new ones (3rd). There are many places where these functions will be useful. Just look at: grep -r 'cpu_to_[ble12346]*([ble12346]*_to_cpu.*[-+]' linux-src/ Patch for ext3 is an example how conversions will probably look like. This patch: - move inline functions which add native byte order variable to little/big endian variable to core header * le16_add_cpu(__le16 *var, u16 val) * le32_add_cpu(__le32 *var, u32 val) * le64_add_cpu(__le64 *var, u64 val) * be32_add_cpu(__be32 *var, u32 val) - add for completeness: * be16_add_cpu(__be16 *var, u16 val) * be64_add_cpu(__be64 *var, u64 val) Signed-off-by: Marcin Slusarz Acked-by: Mark Fasheh Cc: David Chinner Cc: Timothy Shimmin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2004dc8eec1b4f0692b3be87ea80c70faa44d619 Author: Jan Kara Date: Fri Feb 8 04:20:11 2008 -0800 Use pgoff_t instead of unsigned long Convert variables containing page indexes to pgoff_t. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 476aed3870b26735c4fcfdaa95420fa9e1de5119 Author: Andrew Morton Date: Fri Feb 8 04:20:10 2008 -0800 aoe: statically initialise devlist_lock I guess aoedev_init() can go away now. Cc: Greg KH Cc: "Ed L. Cashin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52e112b3ab6b2b35a144565c8ea3bdda1e2845f2 Author: Ed L. Cashin Date: Fri Feb 8 04:20:09 2008 -0800 aoe: update copyright date Update the year in the copyright notices. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 578c4aa0b455a1850208ccc67ca1ca23697e72f5 Author: Ed L. Cashin Date: Fri Feb 8 04:20:09 2008 -0800 aoe: make error messages more specific Andrew Morton pointed out that the "too many targets" message in patch 2 could be printed for failing GFP_ATOMIC allocations. This patch makes the messages more specific. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d75981a8094e9f84fae65a6a83b361e3893b971 Author: Ed L. Cashin Date: Fri Feb 8 04:20:08 2008 -0800 aoe: the aoeminor doesn't need a long format The aoedev aoeminor member doesn't need a long format. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7df620d852642d424afc9777fe57880e02c92832 Author: Ed L. Cashin Date: Fri Feb 8 04:20:07 2008 -0800 aoe: add module parameter for users who need more outstanding I/O An AoE target provides an estimate of the number of outstanding commands that the AoE initiator can send before getting a response. The aoe_maxout parameter provides a way to set an even lower limit. It will not allow a user to use more outstanding commands than the target permits. If a user discovers a problem with a large setting, this parameter provides a way for us to work with them to debug the problem. We expect to improve the dynamic window sizing algorithm and drop this parameter. For the time being, it is a debugging aid. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b9699bbd24e82d2ec3bb5a43100099a936ded04 Author: Ed L. Cashin Date: Fri Feb 8 04:20:06 2008 -0800 aoe: only install new AoE device once An aoe driver user who had about 70 AoE targets found that he was hitting a BUG in sysfs_create_file because the aoe driver was trying to tell the kernel about an AoE device more than once. Each AoE device was reachable by several local network interfaces, and multiple ATA device indentify responses were returning from that single device. This patch eliminates a race condition so that aoe always informs the block layer of a new AoE device once in the presence of multiple incoming ATA device identify responses. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9bb237b6a670fa7a6af3adc65231b1f6fda44510 Author: Ed L. Cashin Date: Fri Feb 8 04:20:05 2008 -0800 aoe: dynamically allocate a capped number of skbs when necessary What this Patch Does Even before this recent series of 12 patches to 2.6.22-rc4, the aoe driver was reusing a small set of skbs that were allocated once and were only used for outbound AoE commands. The network layer cannot be allowed to put_page on the data that is still associated with a bio we haven't returned to the block layer, so the aoe driver (even before the patch under discussion) is still the owner of skbs that have been handed to the network layer for transmission. We need to keep track of these skbs so that we can free them, but by tracking them, we can also easily re-use them. The new patch was a response to the behavior of certain network drivers. We cannot reuse an skb that the network driver still has in its transmit ring. Network drivers can defer transmit ring cleanup and then use the state in the skb to determine how many data segments to clean up in its transmit ring. The tg3 driver is one driver that behaves in this way. When the network driver defers cleanup of its transmit ring, the aoe driver can find itself in a situation where it would like to send an AoE command, and the AoE target is ready for more work, but the network driver still has all of the pre-allocated skbs. In that case, the new patch just calls alloc_skb, as you'd expect. We don't want to get carried away, though. We try not to do excessive allocation in the write path, so we cap the number of skbs we dynamically allocate. Probably calling it a "dynamic pool" is misleading. We were already trying to use a small fixed-size set of pre-allocated skbs before this patch, and this patch just provides a little headroom (with a ceiling, though) to accomodate network drivers that hang onto skbs, by allocating when needed. The d->skbpool_hd list of allocated skbs is necessary so that we can free them later. We didn't notice the need for this headroom until AoE targets got fast enough. Alternatives If the network layer never did a put_page on the pages in the bio's we get from the block layer, then it would be possible for us to hand skbs to the network layer and forget about them, allowing the network layer to free skbs itself (and thereby calling our own skb->destructor callback function if we needed that). In that case we could get rid of the pre-allocated skbs and also the d->skbpool_hd, instead just calling alloc_skb every time we wanted to transmit a packet. The slab allocator would effectively maintain the list of skbs. Besides a loss of CPU cache locality, the main concern with that approach the danger that it would increase the likelihood of deadlock when VM is trying to free pages by writing dirty data from the page cache through the aoe driver out to persistent storage on an AoE device. Right now we have a situation where we have pre-allocation that corresponds to how much we use, which seems ideal. Of course, there's still the separate issue of receiving the packets that tell us that a write has successfully completed on the AoE target. When memory is low and VM is using AoE to flush dirty data to free up pages, it would be perfect if there were a way for us to register a fast callback that could recognize write command completion responses. But I don't think the current problems with the receive side of the situation are a justification for exacerbating the problem on the transmit side. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 262bf54144ebcb78cd0d057d2705dc5fb7bba7ac Author: Ed L. Cashin Date: Fri Feb 8 04:20:03 2008 -0800 aoe: user can ask driver to forget previously detected devices When an AoE device is detected, the kernel is informed, and a new block device is created. If the device is unused, the block device corresponding to remote device that is no longer available may be removed from the system by telling the aoe driver to "flush" its list of devices. Without this patch, software like GPFS and LVM may attempt to read from AoE devices that were discovered earlier but are no longer present, blocking until the I/O attempt times out. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf446f0dbafb5428a551da1c0df8f56316831df8 Author: Ed L. Cashin Date: Fri Feb 8 04:20:03 2008 -0800 aoe: eliminate goto and improve readability Adam Richter suggested eliminating this goto. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 468fc53050a81d73893ce619a62914799e8d86bb Author: Ed L. Cashin Date: Fri Feb 8 04:20:02 2008 -0800 aoe: clean up udev configuration example This patch adds a known default location for the udev configuration file and uses the more recent "==" syntax for SUBSYSTEM and KERNEL. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1eb0da4cea28ae8f1bbe61822a2cc04e6d074e03 Author: Ed L. Cashin Date: Fri Feb 8 04:20:01 2008 -0800 aoe: mac_addr: avoid 64-bit arch compiler warnings By returning unsigned long long, mac_addr does not generate compiler warnings on 64-bit architectures. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68e0d42f39d85b334d3867a4e5fc2e0e775c1a6c Author: Ed L. Cashin Date: Fri Feb 8 04:20:00 2008 -0800 aoe: handle multiple network paths to AoE device A remote AoE device is something can process ATA commands and is identified by an AoE shelf number and an AoE slot number. Such a device might have more than one network interface, and it might be reachable by more than one local network interface. This patch tracks the available network paths available to each AoE device, allowing them to be used more efficiently. Andrew Morton asked about the call to msleep_interruptible in the revalidate function. Yes, if a signal is pending, then msleep_interruptible will not return 0. That means we will not loop but will call aoenet_xmit with a NULL skb, which is a noop. If the system is too low on memory or the aoe driver is too low on frames, then the user can hit control-C to interrupt the attempt to do a revalidate. I have added a comment to the code summarizing that. Andrew Morton asked whether the allocation performed inside addtgt could use a more relaxed allocation like GFP_KERNEL, but addtgt is called when the aoedev lock has been locked with spin_lock_irqsave. It would be nice to allocate the memory under fewer restrictions, but targets are only added when the device is being discovered, and if the target can't be added right now, we can try again in a minute when then next AoE config query broadcast goes out. Andrew Morton pointed out that the "too many targets" message could be printed for failing GFP_ATOMIC allocations. The last patch in this series makes the messages more specific. Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8911ef4dc97f77797f297318010a7424300d2d50 Author: Ed L. Cashin Date: Fri Feb 8 04:19:58 2008 -0800 aoe: bring driver version number to 47 Signed-off-by: Ed L. Cashin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b21985c91ffb3062bfbd3f2bfbeceb5333afaac Author: Jan Beulich Date: Fri Feb 8 04:19:57 2008 -0800 constify tables in kernel/sysctl_check.c Remains the question whether it is intended that many, perhaps even large, tables are compiled in without ever having a chance to get used, i.e. whether there shouldn't #ifdef CONFIG_xxx get added. [akpm@linux-foundation.org: fix cut-n-paste error] Signed-off-by: Jan Beulich Acked-by: "Eric W. Biederman" Cc: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit edde08f2a8f13a648ab6d26f33e88d0c6146f3d1 Author: Harvey Harrison Date: Fri Feb 8 04:19:57 2008 -0800 misc: removal of final callers using fastcall Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 144b2a91468bdc0d4fa64b220c152fb58b8ffe05 Author: Harvey Harrison Date: Fri Feb 8 04:19:56 2008 -0800 asm-generic: remove fastcall Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec7015840ad7a8cdc87f52367ffe9c0b0401d919 Author: Harvey Harrison Date: Fri Feb 8 04:19:55 2008 -0800 Remove fastcall from linux/include [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f741cb8fecef923cce1dff820ac6aa78c12d136 Author: Harvey Harrison Date: Fri Feb 8 04:19:55 2008 -0800 lib: remove fastcall from lib/* [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ad5b3a505e68cfdc342933d6e0fc0eaa5e0a4f7 Author: Harvey Harrison Date: Fri Feb 8 04:19:53 2008 -0800 kernel: remove fastcall in kernel/* [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Harvey Harrison Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc9b52cd8f5f459b88adcf67c47668425ae31a78 Author: Harvey Harrison Date: Fri Feb 8 04:19:52 2008 -0800 fs: remove fastcall, it is always empty [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75acb9cd2ef0bbb463098fdd40cbcdda79d45fa3 Author: Nick Piggin Date: Fri Feb 8 04:19:50 2008 -0800 rd: support XIP Support direct_access XIP method with brd. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9db5579be4bb5320c3248f6acf807aedf05ae143 Author: Nick Piggin Date: Fri Feb 8 04:19:49 2008 -0800 rewrite rd This is a rewrite of the ramdisk block device driver. The old one is really difficult because it effectively implements a block device which serves data out of its own buffer cache. It relies on the dirty bit being set, to pin its backing store in cache, however there are non trivial paths which can clear the dirty bit (eg. try_to_free_buffers()), which had recently lead to data corruption. And in general it is completely wrong for a block device driver to do this. The new one is more like a regular block device driver. It has no idea about vm/vfs stuff. It's backing store is similar to the buffer cache (a simple radix-tree of pages), but it doesn't know anything about page cache (the pages in the radix tree are not pagecache pages). There is one slight downside -- direct block device access and filesystem metadata access goes through an extra copy and gets stored in RAM twice. However, this downside is only slight, because the real buffercache of the device is now reclaimable (because we're not playing crazy games with it), so under memory intensive situations, footprint should effectively be the same -- maybe even a slight advantage to the new driver because it can also reclaim buffer heads. The fact that it now goes through all the regular vm/fs paths makes it much more useful for testing, too. text data bss dec hex filename 2837 849 384 4070 fe6 drivers/block/rd.o 3528 371 12 3911 f47 drivers/block/brd.o Text is larger, but data and bss are smaller, making total size smaller. A few other nice things about it: - Similar structure and layout to the new loop device handlinag. - Dynamic ramdisk creation. - Runtime flexible buffer head size (because it is no longer part of the ramdisk code). - Boot / load time flexible ramdisk size, which could easily be extended to a per-ramdisk runtime changeable size (eg. with an ioctl). - Can use highmem for the backing store. [akpm@linux-foundation.org: fix build] [byron.bbradley@gmail.com: make rd_size non-static] Signed-off-by: Nick Piggin Signed-off-by: Byron Bradley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit daeb51e62cacde31c8245866e1096ff79a0c83fe Author: David Howells Date: Fri Feb 8 04:19:48 2008 -0800 mn10300: add platform MTD support for the ASB2303 board Add platform MTD support for the ASB2303 board. Signed-off-by: David Howells Acked-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b920de1b77b72ca9432ac3f97edb26541e65e5dd Author: David Howells Date: Fri Feb 8 04:19:31 2008 -0800 mn10300: add the MN10300/AM33 architecture to the kernel Add architecture support for the MN10300/AM33 CPUs produced by MEI to the kernel. This patch also adds board support for the ASB2303 with the ASB2308 daughter board, and the ASB2305. The only processor supported is the MN103E010, which is an AM33v2 core plus on-chip devices. [akpm@linux-foundation.org: nuke cvs control strings] Signed-off-by: Masakazu Urade Signed-off-by: Koichi Yasutake Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef3d534754f31fed9c3b976fee1ece1b3bc38282 Author: David Howells Date: Fri Feb 8 04:19:30 2008 -0800 mn10300: allocate serial port UART IDs for on-chip serial ports Allocate serial port UART type IDs for the MN10300 on-chip serial ports. Signed-off-by: David Howells Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62fb44b9622e4c0e00f31fb27620d97a00ae3dc6 Author: David Howells Date: Fri Feb 8 04:19:30 2008 -0800 usb: net2280 can't have a function called show_registers() net2280 can't have a function called show_registers() because this can produce a namespace clash with an arch function of the same name. All this driver's functions and variables should really be prefixed with "net2280_" to avoid such a problem in future. Signed-off-by: David Howells Cc: Greg KH Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1eb114112381eb66ebacdace1b6e70d30d603f9c Author: David Howells Date: Fri Feb 8 04:19:29 2008 -0800 aout: remove unnecessary inclusions of {asm, linux}/a.out.h Remove now unnecessary inclusions of {asm,linux}/a.out.h. [akpm@linux-foundation.org: fix alpha build] Signed-off-by: David Howells Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fa3031500ec9b0a7460c8c23751799006ffee74 Author: David Howells Date: Fri Feb 8 04:19:28 2008 -0800 aout: suppress A.OUT library support if !CONFIG_ARCH_SUPPORTS_AOUT Suppress A.OUT library support if CONFIG_ARCH_SUPPORTS_AOUT is not set. Not all architectures support the A.OUT binfmt, so the ELF binfmt should not be permitted to go looking for A.OUT libraries to load in such a case. Not only that, but under such conditions A.OUT core dumps are not produced either. To make this work, this patch also does the following: (1) Makes the existence of the contents of linux/a.out.h contingent on CONFIG_ARCH_SUPPORTS_AOUT. (2) Renames dump_thread() to aout_dump_thread() as it's only called by A.OUT core dumping code. (3) Moves aout_dump_thread() into asm/a.out-core.h and makes it inline. This is then included only where needed. This means that this bit of arch code will be stored in the appropriate A.OUT binfmt module rather than the core kernel. (4) Drops A.OUT support for Blackfin (according to Mike Frysinger it's not needed) and FRV. This patch depends on the previous patch to move STACK_TOP[_MAX] out of asm/a.out.h and into asm/processor.h as they're required whether or not A.OUT format is available. [jdike@addtoit.com: uml: re-remove accidentally restored code] Signed-off-by: David Howells Cc: Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0b933c08bd5fd053bbba8ba6387f543be03d49f Author: David Howells Date: Fri Feb 8 04:19:27 2008 -0800 aout: mark arches that support A.OUT format Mark arches that support A.OUT format by including the following in their master Kconfig files: config ARCH_SUPPORTS_AOUT def_bool y This should also be set if the arch provides compatibility A.OUT support for an older arch, for instance x86_64 for i386 or sparc64 for sparc. I've guessed at which arches don't, based on comments in the code, however I'm sure that some of the ones I've marked as 'yes' actually should be 'no'. Signed-off-by: David Howells Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 922a70d327bd4b11342c2afd08e20d35f52064c3 Author: David Howells Date: Fri Feb 8 04:19:26 2008 -0800 aout: move STACK_TOP[_MAX] to asm/processor.h Move STACK_TOP[_MAX] out of asm/a.out.h and into asm/processor.h as they're required whether or not A.OUT format is available. Signed-off-by: David Howells Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3eb056764dd806bbe84eb604e45e7470feeaafd8 Author: Li Zefan Date: Fri Feb 8 04:19:25 2008 -0800 time: fix typo in comments Fix typo in comments. BTW: I have to fix coding style in arch/ia64/kernel/time.c also, otherwise checkpatch.pl will be complaining. Signed-off-by: Li Zefan Cc: Thomas Gleixner Cc: Ingo Molnar Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf4fc6cb76e50b01666e28a9f4b2e6fbcbb96d5f Author: Li Zefan Date: Fri Feb 8 04:19:24 2008 -0800 timekeeping: rename timekeeping_is_continuous to timekeeping_valid_for_hres Function timekeeping_is_continuous() no longer checks flag CLOCK_IS_CONTINUOUS, and it checks CLOCK_SOURCE_VALID_FOR_HRES now. So rename the function accordingly. Signed-off-by: Li Zefan Cc: Thomas Gleixner Cc: Ingo Molnar Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b858e6ff9a38b987a83d22e6f2a2f621c80608d Author: Li Zefan Date: Fri Feb 8 04:19:24 2008 -0800 clockevent: simplify list operations list_for_each_safe() suffices here. Signed-off-by: Li Zefan Cc: Thomas Gleixner Cc: Ingo Molnar Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 818c357802e2791880057fe752dc9ce9e210f772 Author: Li Zefan Date: Fri Feb 8 04:19:23 2008 -0800 clocksource: remove redundant code Flag CLOCK_SOURCE_WATCHDOG is cleared twice. Note clocksource_change_rating() won't do anyting with the cs flag. Signed-off-by: Li Zefan Cc: Thomas Gleixner Cc: Ingo Molnar Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 146a505d498c36de98ec161d791dd50beca7f9a3 Author: Pavel Emelyanov Date: Fri Feb 8 04:19:22 2008 -0800 Get rid of the kill_pgrp_info() function There's only one caller left - the kill_pgrp one - so merge these two functions and forget the kill_pgrp_info one. Signed-off-by: Pavel Emelyanov Reviewed-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5df763b81946a405837b80874516dfc2a8f7ebf Author: Pavel Emelyanov Date: Fri Feb 8 04:19:22 2008 -0800 Clean up the kill_something_info This is the first step (of two) in removing the kill_pgrp_info. All the users of this function are in kernel/signal.c, but all they need is to call __kill_pgrp_info() with the tasklist_lock read-locked. Fortunately, one of its users is the kill_something_info(), which already needs this lock in one of its branches, so clean these branches up and call the __kill_pgrp_info() directly. Based on Oleg's view of how this function should look. Signed-off-by: Oleg Nesterov Signed-off-by: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 56496c1d83dfae0c74e2f43adb45d2d95e16c0d5 Author: Pavel Emelyanov Date: Fri Feb 8 04:19:21 2008 -0800 Pidns: fix badly converted mqueues pid handling When sending the pid namespaces patches I wrongly converted the tsk->tgid into task_pid_vnr(tsk) in mqueue-s (the git id of this patch is b488893a390edfe027bae7a46e9af8083e740668). The proper behavior is to get the task_tgid_vnr(tsk). This seem to be the only mistake of that kind. Signed-off-by: Pavel Emelyanov Cc: "Eric W. Biederman" Cc: Oleg Nesterov Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c5f3e7b43300508fe3947ff3cfff0f86043bb57 Author: Pavel Emelyanov Date: Fri Feb 8 04:19:20 2008 -0800 Pidns: make full use of xxx_vnr() calls Some time ago the xxx_vnr() calls (e.g. pid_vnr or find_task_by_vpid) were _all_ converted to operate on the current pid namespace. After this each call like xxx_nr_ns(foo, current->nsproxy->pid_ns) is nothing but a xxx_vnr(foo) one. Switch all the xxx_nr_ns() callers to use the xxx_vnr() calls where appropriate. Signed-off-by: Pavel Emelyanov Reviewed-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fea9d175545b38cb3e84569400419eb81bc90fa3 Author: Oleg Nesterov Date: Fri Feb 8 04:19:19 2008 -0800 ITIMER_REAL: convert to use struct pid signal_struct->tsk points to the ->group_leader and thus we have the nasty code in de_thread() which has to change it and restart ->real_timer if the leader is changed. Use "struct pid *leader_pid" instead. This also allows us to kill now unneeded send_group_sig_info(). Signed-off-by: Oleg Nesterov Acked-by: "Eric W. Biederman" Cc: Davide Libenzi Cc: Pavel Emelyanov Acked-by: Roland McGrath Acked-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46f382d2b69d2221086b823f0dbc8f32c027cac2 Author: Oleg Nesterov Date: Fri Feb 8 04:19:19 2008 -0800 uglify while_each_pid_task() to make sure we don't count the execing pricess twice There is a window when de_thread() switches the leader and drops tasklist_lock. In that window do_each_pid_task(PIDTYPE_PID) finds both new and old leaders. The problem is pretty much theoretical and probably can be ignored. Currently the only users of do_each_pid_task(PIDTYPE_PID) are send_sigio/send_sigurg, so they can send the signal to the same process twice. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Davide Libenzi Cc: Pavel Emelyanov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d36174bc2bce0372693a9cfbdef8b2689c9982cb Author: Oleg Nesterov Date: Fri Feb 8 04:19:18 2008 -0800 uglify kill_pid_info() to fix kill() vs exec() race kill_pid_info()->pid_task() could be the old leader of the execing process. In that case it is possible that the leader will be released before we take siglock. This means that kill_pid_info() (and thus sys_kill()) can return a false -ESRCH. Change the code to retry when lock_task_sighand() fails. The endless loop is not possible, __exit_signal() both clears ->sighand and does detach_pid(). Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Davide Libenzi Cc: Pavel Emelyanov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f374ada53bd1ca7c16d7607369fccc6769704956 Author: Eric W. Biederman Date: Fri Feb 8 04:19:17 2008 -0800 pid: fix solaris_procids Use task_pgrp_vnr not task_pgrp_nr so we return the process id the processes pid namespace and not in the initial pid namespace. Signed-off-by: Eric W. Biederman Cc: Pavel Emelyanov Cc: Oleg Nesterov Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69440e76f6121fe7a5193a82f45ccec08e4bb24b Author: Eric W. Biederman Date: Fri Feb 8 04:19:16 2008 -0800 pid: fix mips irix emulation pid usage [m.kozlowski@tuxland.pl: fix unbalanced parenthesis in irix_BSDsetpgrp()] Signed-off-by: Eric W. Biederman Cc: Pavel Emelyanov Cc: Oleg Nesterov Cc: Ralf Baechle Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac9a8e3f0f43d20fc316162e8e5f9186d295ff49 Author: Oleg Nesterov Date: Fri Feb 8 04:19:15 2008 -0800 sys_getsid: don't use ->nsproxy directly With the new semantics of find_vpid() we don't need to play with ->nsproxy explicitely, _vxx() do the right things. Also s/tasklist/rcu/. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44c4e1b2581f7273ab14ef30b6430618801c57b1 Author: Eric W. Biederman Date: Fri Feb 8 04:19:15 2008 -0800 pid: Extend/Fix pid_vnr pid_vnr returns the user space pid with respect to the pid namespace the struct pid was allocated in. What we want before we return a pid to user space is the user space pid with respect to the pid namespace of current. pid_vnr is a very nice optimization but because it isn't quite what we want it is easy to use pid_vnr at times when we aren't certain the struct pid was allocated in our pid namespace. Currently this describes at least tiocgpgrp and tiocgsid in ttyio.c the parent process reported in the core dumps and the parent process in get_signal_to_deliver. So unless the performance impact is huge having an interface that does what we want instead of always what we want should be much more reliable and much less error prone. Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Acked-by: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 161550d74c07303ffa6187ba776f62df5a906a21 Author: Eric W. Biederman Date: Fri Feb 8 04:19:14 2008 -0800 pid: sys_wait... fixes This modifies do_wait and eligible child to take a pair of enum pid_type and struct pid *pid to precisely specify what set of processes are eligible to be waited for, instead of the raw pid_t value from sys_wait4. This fixes a bug in sys_waitid where you could not wait for children in just process group 1. This fixes a pid namespace crossing case in eligible_child. Allowing us to wait for a processes in our current process group even if our current process group == 0. This allows the no child with this pid case to be optimized. This allows us to optimize the pid membership test in eligible child to be optimized. This even closes a theoretical pid wraparound race where in a threaded parent if two threads are waiting for the same child and one thread picks up the child and the pid numbers wrap around and generate another child with that same pid before the other thread is scheduled (teribly insanely unlikely) we could end up waiting on the second child with the same pid# and not discover that the specific child we were waiting for has exited. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5dee1707dfbfc55eb7569b9ae5abaf932bd4c377 Author: Oleg Nesterov Date: Fri Feb 8 04:19:13 2008 -0800 move the related code from exit_notify() to exit_signals() The previous bugfix was not optimal, we shouldn't care about group stop when we are the only thread or the group stop is in progress. In that case nothing special is needed, just set PF_EXITING and return. Also, take the related "TIF_SIGPENDING re-targeting" code from exit_notify(). So, from the performance POV the only difference is that we don't trust !signal_pending() until we take ->siglock. But this in fact fixes another ___pure___ theoretical minor race. __group_complete_signal() finds the task without PF_EXITING and chooses it as the target for signal_wake_up(). But nothing prevents this task from exiting in between without noticing the pending signal and thus unpredictably delaying the actual delivery. Signed-off-by: Oleg Nesterov Cc: Davide Libenzi Cc: Ingo Molnar Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6806aac6d282d58b97763f5e17e2787e62c3b440 Author: Oleg Nesterov Date: Fri Feb 8 04:19:12 2008 -0800 sys_setsid: remove now unneeded session != 1 check Eric's "fix clone(CLONE_NEWPID)" eliminated the last reason for this hack. Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d12619b5ff5664623524aef796514d1946ea3b4a Author: Oleg Nesterov Date: Fri Feb 8 04:19:12 2008 -0800 fix group stop with exit race do_signal_stop() counts all sub-thread and sets ->group_stop_count accordingly. Every thread should decrement ->group_stop_count and stop, the last one should notify the parent. However a sub-thread can exit before it notices the signal_pending(), or it may be somewhere in do_exit() already. In that case the group stop never finishes properly. Note: this is a minimal fix, we can add some optimizations later. Say we can return quickly if thread_group_empty(). Also, we can move some signal related code from exit_notify() to exit_signals(). Signed-off-by: Oleg Nesterov Acked-by: Davide Libenzi Cc: Ingo Molnar Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 430c623121ea88ca80595c99fdc63b7f8a803ae5 Author: Oleg Nesterov Date: Fri Feb 8 04:19:11 2008 -0800 start the global /sbin/init with 0,0 special pids As Eric pointed out, there is no problem with init starting with sid == pgid == 0, and this was historical linux behavior changed in 2.6.18. Remove kernel_init()->__set_special_pids(), this is unneeded and complicates the rules for sys_setsid(). This change and the previous change in daemonize() mean that /sbin/init does not need the special "session != 1" hack in sys_setsid() any longer. We can't remove this check yet, we should cleanup copy_process(CLONE_NEWPID) first, so update the comment only. Signed-off-by: Oleg Nesterov Acked-by: "Eric W. Biederman" Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 297bd42b15daed02453ff59ce6d31216a58b0398 Author: Oleg Nesterov Date: Fri Feb 8 04:19:10 2008 -0800 move daemonized kernel threads into the swapper's session Daemonized kernel threads run in the init's session. This doesn't match the behaviour of kthread_create()'ed threads, and this is one of the 2 reasons why we need a special hack in sys_setsid(). Now that set_special_pids() was changed to use struct pid, not pid_t, we can use init_struct_pid and set 0,0 special pids. Signed-off-by: Oleg Nesterov Acked-by: "Eric W. Biederman" Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8520d7c7f8611216e3b270becec95bb35b6899d4 Author: Oleg Nesterov Date: Fri Feb 8 04:19:09 2008 -0800 teach set_special_pids() to use struct pid Change set_special_pids() to work with struct pid, not pid_t from global name space. This again speedups and imho cleanups the code, also a preparation for the next patch. Signed-off-by: Oleg Nesterov Acked-by: "Eric W. Biederman" Acked-by: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4cc0a9c876d4d4eadaef97a2bff4a199946d202 Author: Oleg Nesterov Date: Fri Feb 8 04:19:09 2008 -0800 fix setsid() for sub-namespace /sbin/init sys_setsid() still deals with pid_t's from the global namespace. This means that the "session > 1" check can't help for sub-namespace init, setsid() can't succeed because copy_process(CLONE_NEWPID) populates PIDTYPE_PGID/SID links. Remove the usage of task_struct->pid and convert the code to use "struct pid". This also simplifies and speedups the code, saves one find_pid(). Signed-off-by: Oleg Nesterov Cc: "Eric W. Biederman" Acked-by: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e021306cff4277764a42065214fc73f2d26be4b Author: Oleg Nesterov Date: Fri Feb 8 04:19:08 2008 -0800 sys_setpgid(): simplify pid/ns interaction sys_setpgid() does unneeded conversions from pid_t to "struct pid" and vice versa. Use "struct pid" more consistently. Saves one find_vpid() and eliminates the explicit usage of ->nsproxy->pid_ns. Imho, cleanups the code. Also use the same_thread_group() helper. Signed-off-by: Oleg Nesterov Acked-by: Pavel Emelyanov Acked-by: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c543f1ee08ea6c2176dbdc47df0d0f6357c88713 Author: Oleg Nesterov Date: Fri Feb 8 04:19:07 2008 -0800 wait_task_zombie: remove ->exit_state/exit_signal checks for WNOWAIT The first "p->exit_state != EXIT_ZOMBIE" check doesn't make too much sense. The exit_state was EXIT_ZOMBIE when the function was called, and another thread can change it to EXIT_DEAD right after the check. The second condition is not possible, detached non-traced threads were already filtered out by eligible_child(), we didn't drop tasklist since then. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a515e4a62dbf7e4c213740268a5267faa69e5b2 Author: Oleg Nesterov Date: Fri Feb 8 04:19:07 2008 -0800 wait_task_continued/zombie: don't use task_pid_nr_ns() lockless Surprise, the other two wait_task_*() functions also abuse the task_pid_nr_ns() function, and may cause read-after-free or report nr == 0 in wait_task_continued(). wait_task_zombie() doesn't have this problem, but it is still better to cache pid_t rather than call task_pid_nr_ns() three times on the saved pid_namespace. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2cc3eb133baa2e9dc8efd40f417106b2ee520f3 Author: Oleg Nesterov Date: Fri Feb 8 04:19:06 2008 -0800 do_wait: fix security checks Imho, the current usage of security_task_wait() is not logical. Suppose we have the single child p, and security_task_wait(p) return -EANY. In that case waitpid(-1) returns this error. Why? Isn't it better to return ECHLD? We don't really have reapable children. Now suppose that child was stolen by gdb. In that case we find this child on ->ptrace_children and set flag = 1, but we don't check that the child was denied. So, do_wait(..., WNOHANG) returns 0, this doesn't match the behaviour above. Without WNOHANG do_wait() blocks only to return the error later, when the child will be untraced. Inho, really strange. I think eligible_child() should return the error only if the child's pid was requested explicitly, otherwise we should silently ignore the tasks which were nacked by security_task_wait(). Signed-off-by: Oleg Nesterov Cc: Roland McGrath Cc: Chris Wright Cc: Eric Paris Cc: James Morris Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96fabbf55ae79826f2e8a86f4066d7e8834315ae Author: Oleg Nesterov Date: Fri Feb 8 04:19:04 2008 -0800 do_wait: cleanup delay_group_leader() usage eligible_child() == 2 means delay_group_leader(). With the previous patch this only matters for EXIT_ZOMBIE task, we can move that special check to the only place it is really needed. Also, with this patch we don't skip security_task_wait() for the group leaders in a non-empty thread group. I don't really understand the exact semantics of security_task_wait(), but imho this change is a bugfix. Also rearrange the code a bit to kill an ugly "check_continued" backdoor. Signed-off-by: Oleg Nesterov Cc: Eric Paris Cc: James Morris Cc: Roland McGrath Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1bad95c3bee183719e15eebffef66afc3fb3f8b0 Author: Oleg Nesterov Date: Fri Feb 8 04:19:03 2008 -0800 wait_task_stopped(): remove unneeded delay_group_leader check wait_task_stopped() doesn't need the "delay_group_leader" parameter. If the child is not traced it must be a group leader. With or without subthreads ->group_stop_count == 0 when the whole task is stopped. Signed-off-by: Oleg Nesterov Cc: Mika Penttila Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20686a309aa98c518adbbd9b57cdbb1804143deb Author: Oleg Nesterov Date: Fri Feb 8 04:19:03 2008 -0800 ptrace_stop: fix racy nonstop_code setting If the tracer is gone and we are not going to stop, ptrace_stop() sets ->exit_code = nostop_code. However, the tracer could actually clear the exit code before detaching. In that case get_signal_to_deliver() "resends" the signal which was cancelled by the debugger. For example, it is possible that a quick PTRACE_ATTACH + PTRACE_DETACH can leave the tracee in STOPPED state. Change the behaviour of ptrace_stop(). If the caller is ptrace notify(), we should always clear ->exit_code. If the caller is get_signal_to_deliver(), we should not touch it at all. To do so, change the nonstop_code parameter to "bool clear_code" and change the callers accordingly. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cbab8100538efdd93aeae6fc37787d986f2f558 Author: Oleg Nesterov Date: Fri Feb 8 04:19:02 2008 -0800 do_wait: factor out "retval != 0" checks Every branch if the main "if" statement does the same code at the end. Move it down. Also, fix the indentation. Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee7c82da830ea860b1f9274f1f0cdf99f206e7c2 Author: Oleg Nesterov Date: Fri Feb 8 04:19:01 2008 -0800 wait_task_stopped: simplify and fix races with SIGCONT/SIGKILL/untrace wait_task_stopped() has multiple races with SIGCONT/SIGKILL. tasklist_lock does not pin the child in TASK_TRACED/TASK_STOPPED stated, almost all info reported (including exit_code) may be wrong. In fact, the code under write_lock_irq(tasklist_lock) is not safe. The child may be PTRACE_DETACH'ed at this time by another subthread, in that case it is possible we are no longer its ->parent. Change wait_task_stopped() to take ->siglock before inspecting the task. This guarantees that the child can't resume and (for example) clear its ->exit_code, so we don't need to use xchg(&p->exit_code) and re-check. The only exception is ptrace_stop() which changes ->state and ->exit_code without ->siglock held during abort. But this can only happen if both the tracer and the tracee are dying (coredump is in progress), we don't care. With this patch wait_task_stopped() doesn't move the child to the end of the ->parent list on success. This optimization could be restored, but in that case we have to take write_lock(tasklist) and do some nasty checks. Also change the do_wait() since we don't return EAGAIN any longer. [akpm@linux-foundation.org: fix up after Willy renamed everything] Signed-off-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6405f7f4675884b671bee66678e1c2859bdb0e56 Author: Oleg Nesterov Date: Fri Feb 8 04:19:00 2008 -0800 ptrace_stop: fix the race with ptrace detach+attach If the tracer went away (may_ptrace_stop() failed), ptrace_stop() drops tasklist and then changes the ->state from TASK_TRACED to TASK_RUNNING. This can fool another tracer which attaches to us in between. Change the ->state under tasklist_lock to ensure that ptrace_check_attach() can't wrongly succeed. Also, remove the unnecessary mb(). Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0c0b649d67aa775aa9851de61aade17504be70c Author: Oleg Nesterov Date: Fri Feb 8 04:19:00 2008 -0800 ptrace_check_attach: remove unneeded ->signal != NULL check It is not possible to see the PT_PTRACED task without ->signal/sighand under tasklist_lock, release_task() does ptrace_unlink() first. If the task was already released before, ptrace_attach() can't succeed and set PT_PTRACED. Remove this check. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34a1738f7da0b3d28d4b066d03a78f46b8cab68f Author: Oleg Nesterov Date: Fri Feb 8 04:18:59 2008 -0800 kill my_ptrace_child() Now that my_ptrace_child() is trivial we can use the "p->ptrace & PT_PTRACED" inline and simplify the corresponding logic in do_wait: we can't find the child in TASK_TRACED state without PT_PTRACED flag set, ptrace_untrace() either sets TASK_STOPPED or wakes up the tracee. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b39c7bfbd1436836c0fb34c5b437fda1a7a3dd4 Author: Oleg Nesterov Date: Fri Feb 8 04:18:58 2008 -0800 kill PT_ATTACHED Since the patch "Fix ptrace_attach()/ptrace_traceme()/de_thread() race" commit f5b40e363ad6041a96e3da32281d8faa191597b9 we set PT_ATTACHED and change child->parent "atomically" wrt task_list lock. This means we can remove the checks like "PT_ATTACHED && ->parent != ptracer" which were needed to catch the "ptrace attach is in progress" case. We can also remove the flag itself since nobody else uses it. Signed-off-by: Oleg Nesterov Acked-by: Roland McGrath Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01b8b07a5d77d22e609267dcae74d15e3e9c5f13 Author: Pierre Peiffer Date: Fri Feb 8 04:18:57 2008 -0800 IPC: consolidate sem_exit_ns(), msg_exit_ns() and shm_exit_ns() sem_exit_ns(), msg_exit_ns() and shm_exit_ns() are all called when an ipc_namespace is released to free all ipcs of each type. But in fact, they do the same thing: they loop around all ipcs to free them individually by calling a specific routine. This patch proposes to consolidate this by introducing a common function, free_ipcs(), that do the job. The specific routine to call on each individual ipcs is passed as parameter. For this, these ipc-specific 'free' routines are reworked to take a generic 'struct ipc_perm' as parameter. Signed-off-by: Pierre Peiffer Cc: Cedric Le Goater Cc: Pavel Emelyanov Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed2ddbf88c0ddeeae4c78bb306a116dfd867c55c Author: Pierre Peiffer Date: Fri Feb 8 04:18:57 2008 -0800 IPC: make struct ipc_ids static in ipc_namespace Each ipc_namespace contains a table of 3 pointers to struct ipc_ids (3 for msg, sem and shm, structure used to store all ipcs) These 'struct ipc_ids' are dynamically allocated for each icp_namespace as the ipc_namespace itself (for the init namespace, they are initialized with pointers to static variables instead) It is so for historical reason: in fact, before the use of idr to store the ipcs, the ipcs were stored in tables of variable length, depending of the maximum number of ipc allowed. Now, these 'struct ipc_ids' have a fixed size. As they are allocated in any cases for each new ipc_namespace, there is no gain of memory in having them allocated separately of the struct ipc_namespace. This patch proposes to make this table static in the struct ipc_namespace. Thus, we can allocate all in once and get rid of all the code needed to allocate and free these ipc_ids separately. Signed-off-by: Pierre Peiffer Acked-by: Cedric Le Goater Cc: Pavel Emelyanov Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b9fcb0ec60584d639ad105c42b75a3447071e47 Author: Pierre Peiffer Date: Fri Feb 8 04:18:56 2008 -0800 IPC/semaphores: consolidate SEM_STAT and IPC_STAT commands These commands (SEM_STAT and IPC_STAT) are rather doing the same things (only the meaning of the id given as input and the return value differ). However, for the semaphores, they are handled in two different places (two different functions). This patch consolidates this for clarification by handling these both commands in the same place in semctl_nolock(). It also removes one unused parameter for this function. Signed-off-by: Pierre Peiffer Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2d75cddc83a349ef5633f609b9734b6b957f90f Author: Pavel Emelyanov Date: Fri Feb 8 04:18:54 2008 -0800 ipc: uninline some code from util.h ipc_lock_check_down(), ipc_lock_check() and ipcget() seem too large to be inline. Besides, they give no optimization being inline as they perform calls inside in any case. Moving them into ipc/util.c saves 500 bytes of vmlinux and shortens IPC internal API. $ ./scripts/bloat-o-meter vmlinux-orig vmlinux add/remove: 3/2 grow/shrink: 0/10 up/down: 490/-989 (-499) function old new delta ipcget - 392 +392 ipc_lock_check_down - 49 +49 ipc_lock_check - 49 +49 sys_semget 119 105 -14 sys_shmget 108 86 -22 sys_msgget 100 78 -22 do_msgsnd 665 631 -34 do_msgrcv 680 644 -36 do_shmat 771 733 -38 sys_msgctl 1302 1229 -73 ipcget_new 80 - -80 sys_semtimedop 1534 1452 -82 sys_semctl 2034 1922 -112 sys_shmctl 1919 1765 -154 ipcget_public 322 - -322 The ipcget() growth is the result of gcc inlining of currently static ipcget_new/_public. Signed-off-by: Pavel Emelyanov Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a46c9994242978ab001299cc9c906b9a3eedadcc Author: Alan Cox Date: Fri Feb 8 04:18:53 2008 -0800 serial_core: bring mostly into line with coding style Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4c502a709e53e02ae5249a5f2f2b8292abc0386 Author: Alan Cox Date: Fri Feb 8 04:18:53 2008 -0800 8250: enable rate reporting via termios Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f803cd08f4cfa40e3aa31ffc39777700c018e09 Author: Alan Cox Date: Fri Feb 8 04:18:52 2008 -0800 serial8250: coding style Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5756ee99967d65fa8e14873d55cdf150659097ee Author: Alan Cox Date: Fri Feb 8 04:18:51 2008 -0800 8250_pci: coding style Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b0fd36ddc5826cbf20c8766d9262bc2efd3a51c Author: Alan Cox Date: Fri Feb 8 04:18:51 2008 -0800 8250_hub6: codding style Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0fe1c1371342869f4693ad42929c1388842b0f3e Author: Alan Cox Date: Fri Feb 8 04:18:50 2008 -0800 8250_hp300: coding style Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b4a483be544569cd61156be86c0becf21a02e8b Author: Alan Cox Date: Fri Feb 8 04:18:50 2008 -0800 8250_gsc: coding style Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce2e204f0c55567baa0323df8d327989d7113c66 Author: Alan Cox Date: Fri Feb 8 04:18:49 2008 -0800 8250_early: coding style Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 355d95a1c8aab5c0d54178c1b2269e7425c746ee Author: Alan Cox Date: Fri Feb 8 04:18:48 2008 -0800 tty_ioctl: drag screaming into compliance with the coding style Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37bdfb074ec035880ed140f6281badf92b655a72 Author: Alan Cox Date: Fri Feb 8 04:18:47 2008 -0800 tty_io: drag screaming into coding style compliance Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66c6ceae39534c029c3434489c036f5ae2c6a593 Author: Alan Cox Date: Fri Feb 8 04:18:46 2008 -0800 tty_audit: fix checkpatch complaint Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4129a6454dd925560bf3f46a12eb9f01cf8d5e7e Author: Alan Cox Date: Fri Feb 8 04:18:45 2008 -0800 rocket: don't let random users reset the controller Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6df3526b6649e57a414ba6b4179655341affcf46 Author: Alan Cox Date: Fri Feb 8 04:18:45 2008 -0800 rocket: first pass at termios reporting Also removes a cflag comparison that caused some mode changes to get wrongly ignored Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4edf1827ea19e65ca27ed197384d63f4d1dc8836 Author: Alan Cox Date: Fri Feb 8 04:18:44 2008 -0800 n_tty: clean up old code to follow coding style and (mostly) checkpatch Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db1acaa632870ec87b65e062bc72ca375837a1f6 Author: Alan Cox Date: Fri Feb 8 04:18:43 2008 -0800 moxa: first pass at termios reporting Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92dfc9dc7ba63134f721b6e745dbdcfc13ea341b Author: Andrew Morton Date: Fri Feb 8 04:18:43 2008 -0800 fix "modules: make module_address_lookup() safe" Get the constness right, avoid nasty cast. Cc: Ingo Molnar Cc: Kyle McMartin Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d7623943c905efae327933bc5ee0b2f78e15f56 Author: Christoph Lameter Date: Fri Feb 8 04:18:42 2008 -0800 modules: include sections.h to avoid defining linker variables explicitly module.c should not define linker variables on its own. We have an include file for that. Signed-off-by: Christoph Lameter Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88173507e4fc1e7ecd111b0565e8cba0cb7dae6d Author: Christoph Lameter Date: Fri Feb 8 04:18:41 2008 -0800 Modules: handle symbols that have a zero value The module subsystem cannot handle symbols that are zero. If symbols are present that have a zero value then the module resolver prints out a message that these symbols are unresolved. [akinobu.mita@gmail.com: fix __find_symbl() error checks] Cc: Mathieu Desnoyers Cc: Kay Sievers Cc: Rusty Russell Cc: Andi Kleen Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 596f56018df3ed7de20f6038f72177b3674ebbd4 Author: Heiko Carstens Date: Fri Feb 8 04:18:40 2008 -0800 tty: s390 support for termios2. Backend for s390. Acked-by: Alan Cox Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa7738a5f503abea5445cdd8cc2d501502c748ae Author: Heiko Carstens Date: Fri Feb 8 04:18:39 2008 -0800 tty: let architectures override the user/kernel macros. Give architectures that support the new termios2 the possibilty to overide the user_termios_to_kernel_termios and kernel_termios_to_user_termios macros. As soon as all architectures that use the generic variant have been converted the ifdefs can go away again. Architectures in question are avr32, frv, powerpc and s390. Cc: Alan Cox Cc: Paul Mackerras Cc: David Howells Cc: Haavard Skinnemoen Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d94afc6ccf6690b30ae112ec8101b3f10d50114e Author: mark gross Date: Fri Feb 8 04:18:39 2008 -0800 intel-iommu: fault_reason index cleanup Fix an off by one bug in the fault reason string reporting function, and clean up some of the code around this buglet. [akpm@linux-foundation.org: cleanup] Signed-off-by: mark gross Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8bab73515ca5b392680bb033dceeb37b8463e95 Author: mark gross Date: Fri Feb 8 04:18:38 2008 -0800 intel-iommu: PMEN support Add support for protected memory enable bits by clearing them if they are set at startup time. Some future boot loaders or firmware could have this bit set after it loads the kernel, and it needs to be cleared if DMA's are going to happen effectively. Signed-off-by: mark gross Acked-by: Muli Ben-Yehuda Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d3a4e3666325a9709cc8ea2e88151394e8f20fc Author: Alexey Dobriyan Date: Fri Feb 8 04:18:37 2008 -0800 proc: fix ->open'less usage due to ->proc_fops flip Typical PDE creation code looks like: pde = create_proc_entry("foo", 0, NULL); if (pde) pde->proc_fops = &foo_proc_fops; Notice that PDE is first created, only then ->proc_fops is set up to final value. This is a problem because right after creation a) PDE is fully visible in /proc , and b) ->proc_fops are proc_file_operations which do not have ->open callback. So, it's possible to ->read without ->open (see one class of oopses below). The fix is new API called proc_create() which makes sure ->proc_fops are set up before gluing PDE to main tree. Typical new code looks like: pde = proc_create("foo", 0, NULL, &foo_proc_fops); if (!pde) return -ENOMEM; Fix most networking users for a start. In the long run, create_proc_entry() for regular files will go. BUG: unable to handle kernel NULL pointer dereference at virtual address 00000024 printing eip: c1188c1b *pdpt = 000000002929e001 *pde = 0000000000000000 Oops: 0002 [#1] PREEMPT SMP DEBUG_PAGEALLOC last sysfs file: /sys/block/sda/sda1/dev Modules linked in: foo af_packet ipv6 cpufreq_ondemand loop serio_raw psmouse k8temp hwmon sr_mod cdrom Pid: 24679, comm: cat Not tainted (2.6.24-rc3-mm1 #2) EIP: 0060:[] EFLAGS: 00210002 CPU: 0 EIP is at mutex_lock_nested+0x75/0x25d EAX: 000006fe EBX: fffffffb ECX: 00001000 EDX: e9340570 ESI: 00000020 EDI: 00200246 EBP: e9340570 ESP: e8ea1ef8 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process cat (pid: 24679, ti=E8EA1000 task=E9340570 task.ti=E8EA1000) Stack: 00000000 c106f7ce e8ee05b4 00000000 00000001 458003d0 f6fb6f20 fffffffb 00000000 c106f7aa 00001000 c106f7ce 08ae9000 f6db53f0 00000020 00200246 00000000 00000002 00000000 00200246 00200246 e8ee05a0 fffffffb e8ee0550 Call Trace: [] seq_read+0x24/0x28a [] seq_read+0x0/0x28a [] seq_read+0x24/0x28a [] seq_read+0x0/0x28a [] proc_reg_read+0x60/0x73 [] proc_reg_read+0x0/0x73 [] vfs_read+0x6c/0x8b [] sys_read+0x3c/0x63 [] sysenter_past_esp+0x5f/0xa5 [] destroy_inode+0x24/0x33 ======================= INFO: lockdep is turned off. Code: 75 21 68 e1 1a 19 c1 68 87 00 00 00 68 b8 e8 1f c1 68 25 73 1f c1 e8 84 06 e9 ff e8 52 b8 e7 ff 83 c4 10 9c 5f fa e8 28 89 ea ff fe 4e 04 79 0a f3 90 80 7e 04 00 7e f8 eb f0 39 76 34 74 33 EIP: [] mutex_lock_nested+0x75/0x25d SS:ESP 0068:e8ea1ef8 [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6caeb7c4544608e8ae62731334661fc396c7f85 Author: Eric W. Biederman Date: Fri Feb 8 04:18:35 2008 -0800 proc: fix the threaded /proc/self Long ago when the CLONE_THREAD support first went it someone thought it would be wise to point /proc/self at /proc/ instead of /proc/. Given that /proc/ can return information about a very different task (if enough things have been unshared) then our current process /proc/ seems blatantly wrong. So far I have yet to think up an example where the current behavior would be advantageous, and I can see several places where it is seriously non-intuitive. We may be stuck with the current broken behavior for backwards compatibility reasons but lets try fixing our ancient bug for the 2.6.25 time frame and see if anyone screams. Signed-off-by: Eric W. Biederman Acked-by: Ingo Molnar Cc: "Guillaume Chazarain" Cc: "Pavel Emelyanov" Cc: "Rafael J. Wysocki" Cc: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 488e5bc4560d0b510c1ddc451c51a6cc14e3a930 Author: Eric W. Biederman Date: Fri Feb 8 04:18:34 2008 -0800 proc: proper pidns handling for /proc/self Currently if you access a /proc that is not mounted with your processes current pid namespace /proc/self will point at a completely random task. This patch fixes /proc/self to point to the current process if it is available in the particular mount of /proc or to return -ENOENT if the current process is not visible. Signed-off-by: Eric W. Biederman Cc: Pavel Emelyanov Cc: Alexey Dobriyan Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df5f8314ca30d6a76735748e5ba4ca9809c0f434 Author: Eric W. Biederman Date: Fri Feb 8 04:18:33 2008 -0800 proc: seqfile convert proc_pid_status to properly handle pid namespaces Currently we possibly lookup the pid in the wrong pid namespace. So seq_file convert proc_pid_status which ensures the proper pid namespaces is passed in. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: another build fix] [akpm@linux-foundation.org: s390 build fix] [akpm@linux-foundation.org: fix task_name() output] [akpm@linux-foundation.org: fix nommu build] Signed-off-by: Eric W. Biederman Cc: Andrew Morgan Cc: Serge Hallyn Cc: Cedric Le Goater Cc: Pavel Emelyanov Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Paul Menage Cc: Paul Jackson Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a56d3fc74c0178c5f41c48315604d62cff4e746d Author: Eric W. Biederman Date: Fri Feb 8 04:18:32 2008 -0800 seqfile convert proc_pid_statm This conversion is just for code cleanliness, uniformity, and general safety. Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee992744ea53db0a90c986fd0a70fbbf91e7f8bd Author: Eric W. Biederman Date: Fri Feb 8 04:18:31 2008 -0800 proc: rewrite do_task_stat to correctly handle pid namespaces. Currently (as pointed out by Oleg) do_task_stat has a race when calling task_pid_nr_ns with the task exiting. In addition do_task_stat is not currently displaying information in the context of the pid namespace that mounted the /proc filesystem. So "cut -d' ' -f 1 /proc//stat" may not equal . This patch fixes the problem by converting to a single_open seq_file show method. Getting the pid namespace from the filesystem superblock instead of current, and simply using the the struct pid from the inode instead of attempting to get that same pid from the task. Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be614086a4aff163d5aa0dc160638d1193b59cde Author: Eric W. Biederman Date: Fri Feb 8 04:18:30 2008 -0800 proc: implement proc_single_file_operations Currently many /proc/pid files use a crufty precursor to the current seq_file api, and they don't have direct access to the pid_namespace or the pid of for which they are displaying data. So implement proc_single_file_operations to make the seq_file routines easy to use, and to give access to the full state of the pid of we are displaying data for. Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94413d8807a3c511a3675be4ce27a4d16d6408ee Author: Zhang Rui Date: Fri Feb 8 04:18:29 2008 -0800 proc: detect duplicate names on registration Print a warning if PDE is registered with a name which already exists in target directory. Bug report and a simple fix can be found here: http://bugzilla.kernel.org/show_bug.cgi?id=8798 [\n fixlet and no undescriptive variable usage --adobriyan] [akpm@linux-foundation.org: make printk comprehensible] Signed-off-by: Zhang Rui Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd2cbe48883a01f710c2a639877e3b3e4eba6e59 Author: Alexey Dobriyan Date: Fri Feb 8 04:18:28 2008 -0800 proc: remove useless check on symlink removal proc symlinks always have valid ->data containing destination of symlink. No need to check it on removal -- proc_symlink() already done it. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76df0c25d0c34eba9fbb8a44106ed096553ba0e8 Author: Alexey Dobriyan Date: Fri Feb 8 04:18:27 2008 -0800 proc: simplify function prototypes Move code around so as to reduce the number of forward-declarations. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4237e0d3de38da640d7c977d68f5f7f1d207a631 Author: Alexey Dobriyan Date: Fri Feb 8 04:18:27 2008 -0800 proc: less LOCK operations during lookup Pseudo-code for lookup effectively is: LOCK kernel LOCK proc_subdir_lock find PDE UNLOCK proc_subdir_lock get inode LOCK proc_subdir_lock goto unlock UNLOCK proc_subdir_lock UNLOCK kernel We can get rid of LOCK/UNLOCK pair after getting inode simply by jumping to unlock_kernel() directly. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b3fe63b19e00f3b2a14a09c979e84163029e390 Author: Alexey Dobriyan Date: Fri Feb 8 04:18:26 2008 -0800 proc: remove MODULE_LICENSE proc is not modular, so MODULE_LICENSE just expands to empty space. proc without doubts remains GPLed. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbdc73873229754ab3e673ea8c82eaf9ae3c646f Author: Pavel Emelyanov Date: Fri Feb 8 04:18:25 2008 -0800 namespaces: mark NET_NS with "depends on NAMESPACES" There's already an option controlling the net namespaces cloning code, so make it work the same way as all the other namespaces' options. Signed-off-by: Pavel Emelyanov Cc: "David S. Miller" Acked-by: Serge Hallyn Cc: Cedric Le Goater Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74bd59bb39eb08b4379e2590c5f160748d83f812 Author: Pavel Emelyanov Date: Fri Feb 8 04:18:24 2008 -0800 namespaces: cleanup the code managed with PID_NS option Just like with the user namespaces, move the namespace management code into the separate .c file and mark the (already existing) PID_NS option as "depend on NAMESPACES" [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Pavel Emelyanov Acked-by: Serge Hallyn Cc: Cedric Le Goater Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aee16ce73c71a241190cef3aaa265f6a3ab8e035 Author: Pavel Emelyanov Date: Fri Feb 8 04:18:23 2008 -0800 namespaces: cleanup the code managed with the USER_NS option Make the user_namespace.o compilation depend on this option and move the init_user_ns into user.c file to make the kernel compile and work without the namespaces support. This make the user namespace code be organized similar to other namespaces'. Also mask the USER_NS option as "depend on NAMESPACES". [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Pavel Emelyanov Acked-by: Serge Hallyn Cc: Cedric Le Goater Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae5e1b22f17983da929a0d0178896269e19da186 Author: Pavel Emelyanov Date: Fri Feb 8 04:18:22 2008 -0800 namespaces: move the IPC namespace under IPC_NS option Currently the IPC namespace management code is spread over the ipc/*.c files. I moved this code into ipc/namespace.c file which is compiled out when needed. The linux/ipc_namespace.h file is used to store the prototypes of the functions in namespace.c and the stubs for NAMESPACES=n case. This is done so, because the stub for copy_ipc_namespace requires the knowledge of the CLONE_NEWIPC flag, which is in sched.h. But the linux/ipc.h file itself in included into many many .c files via the sys.h->sem.h sequence so adding the sched.h into it will make all these .c depend on sched.h which is not that good. On the other hand the knowledge about the namespaces stuff is required in 4 .c files only. Besides, this patch compiles out some auxiliary functions from ipc/sem.c, msg.c and shm.c files. It turned out that moving these functions into namespaces.c is not that easy because they use many other calls and macros from the original file. Moving them would make this patch complicated. On the other hand all these functions can be consolidated, so I will send a separate patch doing this a bit later. Signed-off-by: Pavel Emelyanov Acked-by: Serge Hallyn Cc: Cedric Le Goater Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58bfdd6deeec02b73691ea2c951a3c5d743bca63 Author: Pavel Emelyanov Date: Fri Feb 8 04:18:21 2008 -0800 namespaces: move the UTS namespace under UTS_NS option Currently all the namespace management code is in the kernel/utsname.c file, so just compile it out and make stubs in the appropriate header. The init namespace itself is in init/version.c and is in the kernel all the time. Signed-off-by: Pavel Emelyanov Acked-by: Serge Hallyn Cc: Cedric Le Goater Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5289a69491f2b597e22d0456b46cc043deedbd8 Author: Pavel Emelyanov Date: Fri Feb 8 04:18:19 2008 -0800 namespaces: add the NAMESPACES config option The option is selectable if EMBEDDED is chosen only. When the EMBEDDED is off namespaces will be on. Signed-off-by: Pavel Emelyanov Acked-by: Serge Hallyn Cc: Cedric Le Goater Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3d0c6aa1bb342b9b2c7b123b52ac2f48a4d4d0a Author: Nishanth Aravamudan Date: Fri Feb 8 04:18:18 2008 -0800 hugetlb: add locking for overcommit sysctl When I replaced hugetlb_dynamic_pool with nr_overcommit_hugepages I used proc_doulongvec_minmax() directly. However, hugetlb.c's locking rules require that all counter modifications occur under the hugetlb_lock. Add a callback into the hugetlb code similar to the one for nr_hugepages. Grab the lock around the manipulation of nr_overcommit_hugepages in proc_doulongvec_minmax(). Signed-off-by: Nishanth Aravamudan Acked-by: Adam Litke Cc: David Gibson Cc: William Lee Irwin III Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac74c00e499ed276a965e5b5600667d5dc04a84a Author: Ulisses Furquim Date: Fri Feb 8 04:18:16 2008 -0800 inotify: fix check for one-shot watches before destroying them As the IN_ONESHOT bit is never set when an event is sent we must check it in the watch's mask and not in the event's mask. Signed-off-by: Ulisses Furquim Reported-by: "Clem Taylor" Tested-by: "Clem Taylor" Cc: Amy Griffis Cc: Robert Love Cc: John McCutchan Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c42da46f3b0ff85ac4f61beaa0633bbb480c49e Author: Lennert Buytenhek Date: Thu Feb 7 21:55:45 2008 +0100 [ARM] Orion: free up kernel virtual address space Move Orion virtual mappings higher up in the address space, to free up more kernel virtual address space. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 7f74c2c7f760fdd44116e3dd90a5aeeb9d9333c7 Author: Lennert Buytenhek Date: Thu Feb 7 21:55:17 2008 +0100 [ARM] Orion: distinguish between physical and virtual addresses Hack up the Orion port to distinguish between virtual and physical addresses of register windows. This will allow moving virtual mappings higher up in the address space, to free up more kernel virtual address space. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 27cd3ad2313e5aca5304a6f32060a90367edbf51 Author: Lennert Buytenhek Date: Thu Feb 7 21:54:18 2008 +0100 [ARM] Orion: kill orion_early_putstr() Kill orion_early_putstr(), as it isn't used anywhere. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 3c96e5a440d45c3d858082e531ded24d5cc06f68 Author: Nicolas Pitre Date: Thu Feb 7 14:25:08 2008 -0500 [ARM] Orion: update defconfig Signed-off-by: Nicolas Pitre commit f244baa3cafb4a49934d1fd944e29885a0fdbc3e Author: Saeed Bishara Date: Tue Jan 29 11:33:32 2008 -1100 [ARM] Orion: Use the sata_mv driver for the integrated SATA controller This patch adds instantiation for the sata_mv driver, enabling the integrated SATA controller. Signed-off-by: Saeed Bishara Signed-off-by: Nicolas Pitre commit bc10ac3f2fe44e65f787d6197fd5d17304bf7d83 Author: Jesper Nilsson Date: Fri Feb 8 17:51:15 2008 +0100 CRIS v32: Remove hwregs/timer_defs.h, it is now architecture specific. - File is moved to arch-v32/mach-fs/hwregs/timer_defs.h commit 69b06c15e7e24d2b17ec8f89a7f3ae9fa55f5667 Author: Jesper Nilsson Date: Fri Feb 8 17:00:25 2008 +0100 CRIS v32: Change drivers/i2c.c locking. - Change spin_lock + local_irq_save into spin_lock_irqsave - Change spin_unlock + local_irq_restore into spin_unlock_irqrestore - Return ENOTTY if ioctl is not recognized as a cris ioctl. - Make init functions static. commit a34d24425e9c133e875a26c0bbc91783cf485b93 Author: Jesper Nilsson Date: Fri Feb 8 16:28:36 2008 +0100 CRIS v32: Rewrite ARTPEC-3 gpio driver to avoid volatiles and general cleanup. Changes as suggested by Andrew Morton, plus general cleanup to ease later consolidation of driver into machine common driver. - Correct parameter type of gpio_write to const char __user * - Remove volatile from the arrays of machine dependent registers, use readl and writel to access them instead. - Remove useless casts of void. - Use spin_lock_irqsave for locking. - Break gpio_write into smaller sub-functions. - Remove useless breaks after returns. - Don't perform any change in IO_CFG_WRITE_MODE if values are invalid. (previously values were set and then set to zero) - Change cast for copy_to_user to (void __user *) - Make file_operations gpio_fops static and const. - Make setget_output static. (However, it's still inline since the CRIS architecture is still not SMP, which makes the function small enough to inline) commit 0e53c2be0495afa97c6b0d06397adcbff9c65347 Author: Jerome Marchand Date: Fri Feb 8 11:10:56 2008 +0100 Enhanced partition statistics: documentation update Update the documentation to reflect the change in userspace interface. Signed-off-by: Jerome Marchand Signed-off-by: Jens Axboe commit c3c930d93365c495fbc1df28649da7cd4b97f4af Author: Jerome Marchand Date: Fri Feb 8 12:06:21 2008 +0100 Enhanced partition statistics: remove old partition statistics Removes the now unused old partition statistic code. Signed-off-by: Jerome Marchand Signed-off-by: Jens Axboe commit 28f39d553ee242000e62f6c589ee3dc6de3f9aaa Author: Jerome Marchand Date: Fri Feb 8 11:04:56 2008 +0100 Enhanced partition statistics: procfs Reports enhanced partition statistics in /proc/diskstats. Signed-off-by: Jerome Marchand commit 34e8beac92c27d292938065f8375842d2840767c Author: Jerome Marchand Date: Fri Feb 8 11:04:55 2008 +0100 Enhanced partition statistics: sysfs Reports enhanced partition statistics in sysfs. Signed-off-by: Jerome Marchand commit a890d62b9e8743341f62548104d1ac29fa8a5a88 Author: Jerome Marchand Date: Fri Feb 8 11:04:53 2008 +0100 Enhanced partition statistics: aoe fix Updates the enhanced partition statistics in ATA over Ethernet driver (not tested). Signed-off-by: Jerome Marchand commit 6f2576af5ba5913538fda7dfb7c6a17771025477 Author: Jerome Marchand Date: Fri Feb 8 11:04:35 2008 +0100 Enhanced partition statistics: update partition statitics Updates the enhanced partition statistics in generic block layer besides the disk statistics. Signed-off-by: Jerome Marchand Signed-off-by: Jens Axboe commit ea5c48ab2a76559d4af39e1f7de137c0851ac0a5 Author: Jerome Marchand Date: Fri Feb 8 11:04:09 2008 +0100 Enhanced partition statistics: core statistics This patch contain the core infrastructure of enhanced partition statistics. It adds to struct hd_struct the same stats data as struct gendisk and define basics function to manipulate them. Signed-off-by: Jerome Marchand Signed-off-by: Jens Axboe commit 63a7138671c50a6f2c27bbd1a308dc75967062a3 Author: Jens Axboe Date: Fri Feb 8 12:41:03 2008 +0100 block: fixup rq_init() a bit Rearrange fields in cache order and initialize some fields that we didn't previously init. Remove init of ->completion_data, it's part of a union with ->hash. Luckily clearing the rb node is the same as setting it to null! Signed-off-by: Jens Axboe commit 7800029df321b033ef27122fbb599ee0a839eb53 Author: Jesper Nilsson Date: Fri Feb 8 11:54:30 2008 +0100 CRIS: Add new timerfd syscall entries. commit 0b07aa6d383e1bb0024b17dec9251deec9ddbc31 Author: Jesper Nilsson Date: Fri Jan 25 13:22:29 2008 +0100 MAINTAINERS: Add my information for the CRIS port. commit eb090473a71ecd35987542fb733a14cc2023777f Author: Jesper Nilsson Date: Fri Feb 8 10:44:05 2008 +0100 CRIS v32: Correct spelling of bandwidth in function name. commit 9f68ff9ee9ecae38a3b0bb3b9c4799cded19b27c Author: Jesper Nilsson Date: Fri Feb 8 10:24:41 2008 +0100 CRIS v32: Clean up nandflash.c for ARTPEC-3 and ETRAX FS. Clean up issues noticed by Andrew Morton: - Use a combined struct for allocating the mtd_info and nand_chip structs instead of using anonymous memory as the example in Documentation/DocBook/mtdnand.tmpl - Use kzalloc instead of using kmalloc/memset(0) - Make crisv32_device_ready static. commit ad433f2368c37a64d119a997a0530cc28b9a5566 Author: Jesper Nilsson Date: Wed Feb 6 14:52:40 2008 +0100 CRIS v10: Cleanup of drivers/gpio.c - Change parameters of gpio_write (const char * buf -> const char __user *buf) - Don't initialize static variables to zero. - Remove useless casts from void. - Change name of interrupt routine (gpio_pa_interrupt -> gpio_interrupt) - Use kzmalloc instead of allocating memory and zeroing it manually. - Correct casts for copy_to_user and copy_from_user to (void __user *) - Make file_operations gpio_fops static. - Make ioif_watcher static, not used outside this file. commit 5efa1d1c940f07e79469e20db2b7a73c44180e82 Author: Jesper Nilsson Date: Wed Feb 6 13:35:07 2008 +0100 CRIS v10: drivers/net/cris/eth_v10.c rename LED defines to CRIS_LED to avoid name clash. commit a63461e9ea35e55058e0a07e2030de13584e9ca2 Author: Jesper Nilsson Date: Wed Feb 6 13:33:32 2008 +0100 CRIS: Make io_pwm_set_period members unsigned in etraxgpio.h commit 79e04fdbb3423f6faa0d93e5ec41c2c2741d4052 Author: Jesper Nilsson Date: Wed Feb 6 13:21:28 2008 +0100 CRIS: Move ETRAX_AXISFLASHMAP to common Kconfig file. commit c261038108b814a1ea1e85daeaa950cbd35a7db7 Author: Jesper Nilsson Date: Thu Jan 31 17:56:24 2008 +0100 CRIS: Drop regs parameter from call to profile_tick in kernel/time.c commit ac17e82a87f4d914cf9f61526b57e21b4a944e09 Author: Jesper Nilsson Date: Tue Jan 29 18:54:55 2008 +0100 CRIS v32: Fix minor formatting issue in mach-a3/io.c commit f8e47cb0585c2506888b415354de27bff77be276 Author: Jesper Nilsson Date: Tue Jan 29 18:54:05 2008 +0100 CRIS v32: Initialize GIO even if we're rambooting in kernel/head.S commit a87434b04f6dbca547bf1b9856769290841b1b4c Author: Jesper Nilsson Date: Tue Jan 29 18:52:42 2008 +0100 CRIS v32: Remove kernel/arbiter.c, it now exists in machine dependent directory. commit 1791f539cd441c3f7926f2c449487af2b95466a1 Author: Jesper Nilsson Date: Tue Jan 29 10:43:05 2008 +0100 CRIS v32: Minor changes to avoid errors in asm-cris/arch-v32/hwregs/reg_rdwr.h - Add ifdef around macros to read and write hardware registers - Add parens around REG_READ expression to avoid possible precedence errors. - Remove useless CVS id tag. commit b8ed6b4d833360fa7ba8635ad0c8d8bba5386e0e Author: Jesper Nilsson Date: Tue Jan 29 10:37:33 2008 +0100 CRIS v32: arch-v32/hwregs/intr_vect_defs.h moved to machine dependent directory. commit fb5c6e115594bef1c7ab6c55b46fd1450a03507b Author: Jesper Nilsson Date: Mon Jan 28 18:15:11 2008 +0100 CRIS v32: Correct offset for TASK_pid in asm-cris/arch-v32/offset.h commit 78dbb60643f44498996a83554eda5c3ed4ad6a79 Author: Jesper Nilsson Date: Mon Jan 28 18:13:50 2008 +0100 CRIS v32: Move register map header to machine dependent directory. This file is machine dependent, and needs to be in asm-cris/arch-v32/mach-fs/hwregs/reg_map.h instead. commit 57e6f9646ccf52d14c57bf4886fc0edb5a47d82b Author: Jesper Nilsson Date: Mon Jan 28 18:11:29 2008 +0100 CRIS v32: Let compiler know that memory is clobbered after a break op. commit 12e1b1e7909484cfa538159adf87227ad23d8d94 Author: Jesper Nilsson Date: Mon Jan 28 18:08:44 2008 +0100 CRIS v32: Remove SMP stub from asm-cris/arch-v32/system.h CRIS v32 is not SMP. commit de1c1419f9eb8f9d719aaaa3e3f3073069ecd657 Author: Jesper Nilsson Date: Mon Jan 28 18:07:58 2008 +0100 CRIS v32: Completely rework spinlocks for ETRAX FS and ARTPEC-3 commit 4258fb19320ae083064aef21b042a02a509119b9 Author: Jesper Nilsson Date: Mon Jan 28 18:06:43 2008 +0100 CRIS v32: Change name for simulator config in asm-cris/arch-v32/processor.h commit 230d69cf2ba6505fccdb7216da9eedc924c00d19 Author: Jesper Nilsson Date: Mon Jan 28 18:06:11 2008 +0100 CRIS v32: Add prototype for crisv32_pinmux_dealloc_fixed in asm-cris/arch-v32/pinmux.h Deallocation was not possible before, but is now. commit e919a1201c285f27764a5ee5ee06535a61c31d22 Author: Jesper Nilsson Date: Mon Jan 28 18:04:46 2008 +0100 CRIS v32: Change name for simulator config in asm-cris/arch-v32/page.h Also, fix a typo. commit d9ebcacee94ba818a65fcefdae5f1cbad2ac7ad0 Author: Jesper Nilsson Date: Mon Jan 28 18:03:26 2008 +0100 CRIS v32: Remove juliette.h, it is not supported for CRIS v32. commit 6c6dc56c1e980dd3b63c9e7b5209167f9afcafcc Author: Jesper Nilsson Date: Mon Jan 28 17:56:56 2008 +0100 CRIS v32: Add support for ETRAX FS and ARTPEC-3 for arch-v32/hwregs/eth_defs.h - A couple of fields have changed name: reg_eth_rw_ga_lo.table -> tbl reg_eth_rw_ga_hi.table -> tbl reg_eth_rw_gen_ctrl.flow_ctrl_dis -> flow_ctrl - Add some new register fields. reg_eth_rw_gen_ctrl.gtxclk_out reg_eth_rw_gen_ctrl.phyrst_n reg_eth_rw_tr_ctrl.carrier_ext - max_size in reg_eth_rw_rec_ctrl had the wrong size. - Registers reg_eth_rw_mgm_ctrl and reg_eth_r_stat was reworked completely. commit 8d073287442fd8f56baadd4a17853931b8330e47 Author: Jesper Nilsson Date: Mon Jan 28 17:42:17 2008 +0100 CRIS v32: Rename variable used in macro for arch-v32/hwregs/dma.h The old name "r" would quite often produce warnings when other variables with the same name was shadowed. Rename it __x to make it more unlikely to happen. commit 3fb18a3387ee5da0fb579db6e5707e4813e725cf Author: Jesper Nilsson Date: Mon Jan 28 16:55:21 2008 +0100 CRIS v32: Remove useless CVS id tag from arch-v32/hwregs/Makefile commit 94ebe164159a620fe2457548554fc9b56501f256 Author: Jesper Nilsson Date: Mon Jan 28 16:54:51 2008 +0100 CRIS v32: Add defines for udelay and ndelay in arch-v32/delay.h Both of these are implemented using cris_delay10ns(). commit 209e9c43ade3938feab8abcc7978c0e17c79cdc3 Author: Jesper Nilsson Date: Mon Jan 28 16:53:19 2008 +0100 CRIS v32: Adjust arch-v32/atomic.h for new spinlock/rwlock infrastructure commit e52c2c72ddfa7460f0a959e26f84d74180ca0a1b Author: Jesper Nilsson Date: Mon Jan 28 16:51:31 2008 +0100 CRIS v32: Add missing header to include/asm-cris/arch-v32/Kbuild commit 581b4fdc1550956f7609faa8ca31c8a9a6b82878 Author: Jesper Nilsson Date: Mon Jan 28 16:50:32 2008 +0100 CRIS: Break long comment line in include/asm-cris/arch-v10/page.h commit 0d9f2e6f8603a770e5af013d6e87526dc2a0dbf5 Author: Jesper Nilsson Date: Mon Jan 28 16:49:39 2008 +0100 CRIS: Rename LED macros to CRIS_LED to avoid name clash in io.h This is done to avoid collision with linux/leds.h commit a1a7dc1d068425c0c453c7c602cc97a4254e0bba Author: Jesper Nilsson Date: Thu Jan 31 17:40:37 2008 +0100 CRIS: Add missing headers to include/asm-cris Kbuild files. commit daa00b9caf1b6b022ff8aada7502b5ccc34becf4 Author: Jesper Nilsson Date: Mon Jan 28 16:40:21 2008 +0100 CRIS: Add sched_clock to kernel/time.c Also, clean up some whitespace errors. commit 60dead5a8c909a650ade5f92f2649db292486af1 Author: Jesper Nilsson Date: Mon Jan 28 16:39:00 2008 +0100 CRIS: Register cpus in kernel/setup.c Also, fix some white space errors, and constify cpuinfo_op. commit 3ae8d8baab1dd571b934001c595d5ab81214304f Author: Jesper Nilsson Date: Mon Jan 28 16:34:30 2008 +0100 CRIS: Remove include of linux/init.h, not needed anymore. commit 6e0b688034aa211bf24600c66aace52991d83249 Author: Jesper Nilsson Date: Mon Jan 28 16:33:21 2008 +0100 CRIS: Remove CONFIG_NO_IOMEM from ARTPEC-3 default config. commit 1b7e7da364123e45acb5f697fc0422bafcda13ff Author: Jesper Nilsson Date: Mon Jan 28 16:30:35 2008 +0100 CRIS: Remove useless CVS log from kernel/ptrace.c Also, fix some whitespace errors. commit f32bb79c9773cce660f629343b4736af8e24186b Author: Jesper Nilsson Date: Mon Jan 28 16:29:21 2008 +0100 CRIS: Remove useless CVS id and log from kernel/process.c commit 08cfeacb6bcb37c5cf1a9bc0c930243634631f09 Author: Jesper Nilsson Date: Mon Jan 28 16:28:10 2008 +0100 CRIS: Add configuration possibility for using kmalloc for modules. Using kmalloc instead of vmalloc solves the stability problems experienced by some 100 LX products. commit b4945a90d00f9ada1fd76fd7bd591e9ae54ca8b4 Author: Jesper Nilsson Date: Mon Jan 28 16:25:13 2008 +0100 CRIS: Remove CONFIG_NO_IOMEM from default configs. commit baa69b121a32f2b8ee388b651030f7f3c16df463 Author: Jesper Nilsson Date: Wed Jan 30 12:57:31 2008 +0100 CRIS v32: Fix startup oops and replace hardcoded pagesize in vmlinux.lds.S - Move alignment of init data to page size outside define CONFIG_BLK_DEV_INITRD This avoids oops due to memory on the same page as init data being freed. - Change hardcoded page size to use macro from asm/page.h - Add reserved memory via CONFIG_ETRAX_VMEM_SIZE. - Use available defines for TEXT_TEXT and INITCALLS. - Cleanup whitespace. commit 52d82ef12a172124ee4aab06656c877868efc407 Author: Jesper Nilsson Date: Fri Jan 25 18:08:07 2008 +0100 CRIS v32: Avoid work when switching between tasks with shared memory descriptors in mm/tlb.c There is no need to do all this work if they share memory descriptors. Also, fix some minor whitespace and long lines. commit 3d44305abe1fe75793a4b42de51d8a0be9bedc3f Author: Jesper Nilsson Date: Fri Jan 25 18:05:12 2008 +0100 CRIS v32: Add workaround for MMU hardware bug for ETRAX FS in mm/mmu.S commit 108ecfbc3110574fe929e9dd1f622580f95359c0 Author: Jesper Nilsson Date: Fri Jan 25 18:03:00 2008 +0100 CRIS v32: Fix bug in internal memory allocator mm/intmem.c - Fix bug where allocated memory didn't account for alignment. - Add support for ARTPEC-3 - Add module_init for crisv32_intmem_init. commit 0836c6d26f3512db5fa9698376846c5cec4fae13 Author: Jesper Nilsson Date: Fri Jan 25 18:00:48 2008 +0100 CRIS v32: Change name of simulator config to CONFIG_ETRAX_VCS_SIM in mm/init.c - Remove unneded code for ETRAX FS and ARTPEC-3 commit ea0af95b1c7e17541365b555a43f5e8d51ef3dff Author: Jesper Nilsson Date: Fri Jan 25 17:57:28 2008 +0100 CRIS v32: Change lib/spinlock.S to use byte operations instead of dwords. commit ea402db97f8f9e2cfe646faf1c9d473d9f9044d1 Author: Jesper Nilsson Date: Fri Jan 25 17:55:31 2008 +0100 CRIS v32: Move hw_settings.S to machine specific directories for ETRAX FS and ARTPEC-3 commit 41f9412b206985a36145b423f58bf8b46085358e Author: Jesper Nilsson Date: Fri Jan 25 17:54:14 2008 +0100 CRIS v32: Update lib/checksum.S and lib/checksumcopy.S - Slight tweaks, use $acr + addoq to propagate carry across the loop boundary. - Better use of latency cycles. - Remove duplicate folding of carry, it is not needed. commit 7674464cb31ff652d2eda69783ef61640eae4c3c Author: Jesper Nilsson Date: Fri Jan 25 17:32:01 2008 +0100 CRIS v32: Add lib/delay to build. commit 48c87a4483d9146d9f23198163d6ee621535702d Author: Jesper Nilsson Date: Fri Jan 25 17:31:38 2008 +0100 CRIS v32: Add precise delay loops for ETRAX FS and ARTPEC-3. Implements cris_delay10ns. commit a474de0a02ee9093af96414a30f69d433201d002 Author: Jesper Nilsson Date: Fri Jan 25 17:28:10 2008 +0100 CRIS v32: Update vcs_hook.c for ETRAX FS. - Clean up some formatting and whitespace. commit 09160d7cc39ab1015d23428f3995cd49eacfaebf Author: Jesper Nilsson Date: Fri Jan 25 16:43:53 2008 +0100 CRIS v32: Move vcs_hook to machine specific directory. These files are different for ETRAX FS and ARTPEC-3. commit 538380da1a41c981c640bd22a091fdfc32d1e81e Author: Jesper Nilsson Date: Fri Jan 25 16:15:44 2008 +0100 CRIS v32: Update kernel/smp.c for CRIS v32. - Change include paths to machine specific headers (asm/arch/hwregs -> hwregs) - Add cpu_possible_map as cpumask_t and export it. - Drop struct pt_regs parameter from crisv32_ipi_interrupt. - timer -> timer0 commit 574852a2a5cb603708133ade9896c9bc77a68c46 Author: Jesper Nilsson Date: Fri Jan 25 16:10:02 2008 +0100 CRIS v32: Update signal handling in kernel/signal.c - do_signal now returns void, and does not have the previous signal set as a parameter. - Remove sys_rt_sigsuspend, we can use the common one instead. - Change sys_sigsuspend to be more like x86, don't call do_signal here. - handle_signal, setup_frame and setup_rt_frame now return -EFAULT if we've delivered a segfault, which is used by callers to perform necessary cleanup. - Break long lines, correct whitespace and formatting errors. commit 14e61bebb45acabcba2c3b7c4ff529fd646bd3f6 Author: Jesper Nilsson Date: Fri Jan 25 16:05:55 2008 +0100 CRIS v32: Update boot/rescue/rescue.ld - Update to work for ETRAX FS and ARTPEC-3 commit 45a4127c10abff5edce4448c7bc951d0a112e67a Author: Jesper Nilsson Date: Fri Jan 25 15:42:41 2008 +0100 CRIS v10: Update drivers/gpio.c, fix locking and general improvements. - Change all spin_lock/local_irq_save to spin_lock_irqsave. - Change multiple returns in functions where we have a lock to goto out. - Correct number of arguments to gpio_poll_timer_interrupt, gpio_pa_interrupt. - Break out gpio_write logic to smaller functions to make it readable. - In setget_input and setget_output, avoid extra if-indent level. - Change name LED_* -> CRIS_LED_* to avoid name clash. - Don't use braces around single statement ifs. - Fix whitespace errors. - Remove useless CVS id and log. commit 46aac058fe525a2a659e3363fa9bcd7d6bbf2d73 Author: Jesper Nilsson Date: Fri Jan 25 13:50:27 2008 +0100 CRIS: Add support for ETRAX FS and ARTPEC-3 to etraxgpio.h The CRIS v32 architectures have more gpio ports and built in PWM. commit f2bbc96a40988f0bb2e67ef21579116870b53c14 Author: Jesper Nilsson Date: Thu Jan 24 14:37:10 2008 +0100 CRIS v32: Change names of config variable and register field for data available. - CONFIG_ETRAXFS_SIM -> CONFIG_ETRAX_VCS_SIM - ser_intr_mask.data_avail -> ser_intr_mask.dav commit f64dd2191d9b64358c0f357b0f28e149ce7f3d83 Author: Jesper Nilsson Date: Thu Jan 24 14:34:37 2008 +0100 CRIS v32: Change debug and formatting in kernel/fasttimer.c - Don't use SANITYCHECK(x) as a macro, test FAST_TIMER_SANITY_CHECKS with ifdef. This makes it possible for automatic indent etc to work. - Correct some whitespace errors. - Don't initialize static variable. commit 43e6bd6aa8fa8ba5e72e1bcd9062cc3627f4a6c1 Author: Jesper Nilsson Date: Thu Jan 24 14:31:55 2008 +0100 CRIS v32: Update kernel/crisksyms.c - Include pinmux.h from machine specific directory. - Add some more symbols: crisv32_pinmux_alloc, crisv32_pinmux_dealloc_fixed, crisv32_io_get_name and crisv32_io_get commit cbca6634888ec9fcde203e6f12f6c5e716f1f90b Author: Jesper Nilsson Date: Thu Jan 24 14:30:01 2008 +0100 CRIS v32: Remove config ifdef around init function for drivers/sync_serial.c The init function should be defined always. commit 5adb5c873f8324e5dfdbabc7d68fda3972de7386 Author: Jesper Nilsson Date: Thu Jan 24 14:25:18 2008 +0100 CRIS v32: Remove drivers/gpio.c, now exists as machine specific file. commit 7edf744053873e390d7d05ab0136c5162cf89c27 Author: Jesper Nilsson Date: Thu Jan 24 14:24:09 2008 +0100 CRIS v32: Update driver for RTC chip pcf8563. - Moved all calls to register_chrdev to a function called by module_init. - Added mutex locking. - Added better error handling at start up. - Added BIN_TO_BCD of the month value before it is saved to the RTC. - Corrected the month value returned by pcf8563_readreg. - Cache the voltage low value at driver init so the battery status information does not get 'accidentally' cleared when setting the RTC time. - Removed obsolete CONFIG_ETRAX_RTC_READONLY - Voltage low ioctl():s RTC_VLOW_RD -> RTC_VL_READ, RTC_VLOW_SET -> RTC_VL_CLR commit d8ac17a0eeab6580cced355de85ac90227096bb9 Author: Jesper Nilsson Date: Thu Jan 24 14:17:47 2008 +0100 CRIS v32: Remove drivers/nandflash.h, now exists as machine specific file. commit 2c30da717586a137b90c245820657a0d0a3a0a67 Author: Jesper Nilsson Date: Thu Jan 24 14:14:09 2008 +0100 CRIS v32: ETRAX FS Change name of LED macros in drivers/mach-fs/gpio.c to avoid collision. commit cacc0cc83fcc3bc0bc37a11ba9e7624c3aed6e08 Author: Jesper Nilsson Date: Thu Jan 24 14:13:12 2008 +0100 CRIS v32: Change name of LED macros in drivers/mach-a3/gpio.c to avoid collision. commit 935a847b98899943ef86628aba54e4837c6c7ff6 Author: Jesper Nilsson Date: Thu Jan 24 14:12:10 2008 +0100 CRIS v32: Change include path for hwregs in drivers/iop_fw_load.c Also, remove useless CVS id tag. commit 635c45c195d95d9e65587b3cd18af9df4d102f52 Author: Jesper Nilsson Date: Thu Jan 24 14:10:27 2008 +0100 CRIS v32: Rewrite of stream co-processor driver for ETRAX FS and ARTPEC-3 - Workaround for cachebug (Guinness TR 106). - Add ARTPEC-3 support. commit a77dba6a4dd0e18ae57018a99e4068c34125632c Author: Jesper Nilsson Date: Thu Jan 24 13:07:34 2008 +0100 CRIS v32: Replace build flags in boot/rescue/Makefile - Change AFLAGS to asflags-y, LDFLAGS to ldflags-y and EXTRA_CFLAGS to ccflags-y. We only need the flags in this Makefile. commit 111e3b1abaccb39a5fdc5eb79c51988862beb26d Author: Jesper Nilsson Date: Wed Jan 30 12:55:56 2008 +0100 CRIS v32: Replace build flags in boot/compressed/Makefile - Change AFLAGS to asflags-y, LDFLAGS to ldflags-y and KBUILD_CFLAGS to ccflags-y. We only need the flags in this Makefile. commit 8f2972529f354fec0fa1341d08074d328f748d8c Author: Jesper Nilsson Date: Wed Jan 23 17:36:40 2008 +0100 CRIS v10: Change name of low voltage read and set macros. commit a9d13fad8c72215f8a6c95af81c354547cf4bd64 Author: Jesper Nilsson Date: Wed Jan 23 11:11:34 2008 +0100 CRIS v32: Remove useless CVS id tag from boot/compressed/README commit 3c1d9303a9676fd4f9062f2347f1a6241eb6314b Author: Jesper Nilsson Date: Mon Jan 21 17:01:31 2008 +0100 CRIS: Fix bugs in return value of atomic_inc_return and atomic_dec_return. Increment and decrement before assigning to return value. commit b43890af886b14d3052d8b7f9e0b2f8d261dcd7d Author: Jesper Nilsson Date: Mon Jan 21 16:38:41 2008 +0100 CRIS: Allow arch dependent delay to override common version. commit 151f6398301c30670456efd0c4801aa721d557b9 Author: Jesper Nilsson Date: Mon Jan 21 15:51:13 2008 +0100 CRIS: Include arch dependent bug.h. commit 620cf2e44206bde8a7777e29658b3752675c066b Author: Jesper Nilsson Date: Mon Jan 21 15:49:43 2008 +0100 CRIS: Correct pfn_pte to make it possible to ioremap uncached addresses. commit 058f5fdfd9953e7f856285b72f1c652683d5d19b Author: Jesper Nilsson Date: Mon Jan 21 15:38:22 2008 +0100 CRIS: Correct comment in io.h to describe reality of I/O space. The old comment stated that it was "junk needed for the arch-independent code but which we never use in the CRIS port", but this is no longer true. commit 78759757dff4ba9a2564daad1fc8e7f051080cd1 Author: Jesper Nilsson Date: Mon Jan 21 15:15:09 2008 +0100 CRIS: Update cpu_possible_map and raw_smp_processor_id in smp.h header. - Change name of __smp_processor_id to raw_smp_processor_id. - cpu_possible_map is no longer a define for phys_cpu_present_map, it is now a cpumask_t. commit 9bf79539ed0866f1f67d09e807e745eae9588adb Author: Jesper Nilsson Date: Mon Jan 21 14:11:22 2008 +0100 CRIS v10: Remove duplicated folding of carry from lib/checksum.S, it is not needed. Also, remove useless CVS id tag. commit ab59284eaeb9560926ef5f0a233d91ecb4e64e1a Author: Jesper Nilsson Date: Mon Jan 21 14:10:33 2008 +0100 CRIS v10: Remove duplicated folding of carry from lib/checksumcopy.S, it is not needed. Also, remove useless CVS id tag. commit 2afab729f599af4aa7a6e737b20bc43a4fdff69e Author: Jesper Nilsson Date: Mon Jan 21 14:06:32 2008 +0100 CRIS v10: Clear TIF_SYSCALL_TRACE flag in ptrace_disable in kernel/ptrace.c commit b1220e2e7f03a0e86078c82819e802c25047638d Author: Jesper Nilsson Date: Tue Jan 29 11:27:19 2008 +0100 CRIS v10: Update kernel/io_interface_mux.c Fixed a bug where two interfaces using pins in the same pin group could not be allocated at the same time even if there where no pin collisions. Change all restore and returns into goto exit pattern. Also, remove useless CVS id and correct chapter reference for ETRAX100LX Designer's Reference in comment. commit 5f526d1467383fbd7d64b4f7de85b2889838e454 Author: Jesper Nilsson Date: Mon Jan 21 11:52:52 2008 +0100 CRIS v10: Setup serial port 2 to avoid accidental TXD pulse on startup. If serial port 2 is used, select it in R_GEN_CONFIG. If serial port 2 is used, setup the control registers for the port. This is done to avoid a pulse on the TXD line during start up, which could disturb some units. Also, remove useless CVS id and log. commit c974a9e5a3c52f1c61501b22a0b0a278250a6bd1 Author: Jesper Nilsson Date: Mon Jan 21 11:44:11 2008 +0100 CRIS v10: Add synchronous serial port driver for CRIS v10. commit 4f073eff3fb738dce5ad0d8a3d126e5c09cbfba7 Author: Jesper Nilsson Date: Mon Jan 21 11:28:16 2008 +0100 CRIS v10: Don't call get_mmu_context when switching between tasks with shared memory descriptors Also, cleanup formatting and fix whitespace errors. commit 40316c1fadfcd7856e43029fdbac5df6a1d57063 Author: Jesper Nilsson Date: Mon Jan 21 11:14:59 2008 +0100 CRIS v10: Fix bug where error returns didn't restore irqs in mm/fault.c Don't return when we're inside local_irq_disable(), use goto exit instead. Also, cleanup some whitespace errors. commit 5712e4dfc65220aa0693e8903345743f80b38230 Author: Jesper Nilsson Date: Mon Jan 21 11:11:25 2008 +0100 CRIS v10: Remove useless CVS id tag from lib/old_checksum.c commit f12bb5c04aa9bb8c6eede48915c528665058001f Author: Jesper Nilsson Date: Mon Jan 21 11:10:54 2008 +0100 CRIS v10: Remove useless CVS id and log from lib/dram_init.S commit da4d091348eadcf2868733c6373a1906df8fd837 Author: Jesper Nilsson Date: Mon Jan 21 11:09:56 2008 +0100 CRIS v10: Remove useless CVS id from kernel/shadows.c commit b2d08142584835a006c0c70f8aee8f9cfe486de4 Author: Jesper Nilsson Date: Mon Jan 21 11:07:49 2008 +0100 CRIS v10: Reformat drivers/makefile using tabs. commit c3d6ddddb01e239c7176a561c499999636ab4f61 Author: Jesper Nilsson Date: Mon Jan 21 11:05:40 2008 +0100 CRIS: Move common Kconfig variable ETRAX_RTC to arch independet Kconfig. commit 5062969d77fed23b8ffc1a4124e96e991adaf52c Author: Jesper Nilsson Date: Mon Jan 21 11:01:33 2008 +0100 CRIS: Remove NO_IOMEM config, we have IO memory. commit 10f9f9c8570f3656243d2585cbd818ac16dff4f3 Author: Jesper Nilsson Date: Fri Jan 18 15:23:48 2008 +0100 CRIS v10: Remove CVS id from kernel/process.c commit c8acccc959663f1434093c275c455f92a5964974 Author: Jesper Nilsson Date: Fri Jan 18 15:23:21 2008 +0100 CRIS v10: Remove CVS log and id from kernel/kgdb.c commit 8d67bca55c6f28d4a26129918c4bd96876b50225 Author: Jesper Nilsson Date: Fri Jan 18 15:22:30 2008 +0100 CRIS v10: Cleanup kernel/irq.c - Remove useless CVS id tag. - Remove no longer needed extern declarations for kgdb. commit 4200c35d20f20948e2276553c64d0db3a5398a0c Author: Jesper Nilsson Date: Fri Jan 18 14:31:19 2008 +0100 CRIS v10: Cleanup kernel/fasttimer.c - Change C99 comment style to C89. - Remove superfluous SANITYCHECK macro, test FAST_TIMER_SANITY_CHECKS instead. commit 72af70cfecbcd4198ebe8ff7634d31ed4b4675e0 Author: Jesper Nilsson Date: Fri Jan 18 13:50:31 2008 +0100 CRIS v10: Cleanup kernel/entry.S CVS log and id. commit 028a731f98e685088fd2a8a0734db83197a39c0b Author: Jesper Nilsson Date: Fri Jan 18 13:49:31 2008 +0100 CRIS v10: Remove CVS id tag from kernel/dma.c commit 99bb22bd284bcc6aa5efe2728f4ecafa5146e4f8 Author: Jesper Nilsson Date: Fri Jan 18 13:48:02 2008 +0100 CRIS v10: Break long lines in boot/rescue/head.S commit 7cda01268559b788b695caee66511ae8d2f0bdf9 Author: Jesper Nilsson Date: Fri Jan 18 13:47:09 2008 +0100 CRIS v10: Remove CVS tag from boot/compressed/misc.c commit 18b0f3461664f4f8348832d33b481252cf2904f9 Author: Jesper Nilsson Date: Fri Jan 18 13:44:13 2008 +0100 CRIS v10: Update and fix bug in kernel/debugport. - Move local_irq_save to after possible return in console_write_direct. - Remove old raw_printk hack, not needed anymore. - Add watchdog handling. - Make serial_driver use depend on CONFIG_ETRAX_SERIAL. - Remove useless CVS log. commit d8468472e4206a6b3e777d29ee64eb91d2671415 Author: Jesper Nilsson Date: Thu Jan 17 16:01:45 2008 +0100 CRIS v10: Cleanup rtc.h - Change RTC_VLOW_RD -> RTC_VL_READ, RTC_VLOW_SET -> RTC_VL_CLR - Whitespace and formatting. commit 34a8e501fe83f3b572eee56a6fca5111ab8cdf65 Author: Jesper Nilsson Date: Thu Jan 17 15:17:07 2008 +0100 CRIS v10: Update driver for pcf8563 - Use mutex instead of spinlock, fixes kernel bugzilla report 8339. - Make sure that pcf8563_init can be called multiple times but only setup once. - Change RTC_VLOW_RD -> RTC_VL_READ, RTC_VLOW_SET -> RTC_VL_CLR - Cache the voltage low value at driver init so the battery status information does not get 'accidentally' cleared when setting the RTC time. - Add weekday handling. - Correct leapyear handling to include 100 and 400 year exceptions. - Correct whitespace and formatting errors. - Remove useless CVS id tag. commit e5d5cf2442038b8ad3e0f90b00e5acdd18d5fa98 Author: Jesper Nilsson Date: Thu Jan 17 14:50:47 2008 +0100 CRIS v10: Fix bugs in i2c_init and i2c_readreg - Set the variable first to zero after first setup, so we can stop multiple calls to i2c_init from trying to setup i2c. - The last byte read by the master in an i2c transfer needs to be NACKed, not ACKed. - Also, remove useless CVS log and CVS id tags. commit 3d6c03fc223e6ed3b7cb4cf850a7da4a376d02d3 Author: Jesper Nilsson Date: Thu Jan 17 14:44:00 2008 +0100 CRIS v10: Cleanup drivers/eeprom.c to avoid import conflicts. - Remove useless CVS log and CVS id tags. - Whitespace fix and remove C++ comment. commit d207cf5bb91351e58b55d02f54a0218a0d8e3736 Author: Jesper Nilsson Date: Thu Jan 17 11:33:45 2008 +0100 CRIS v10: Correct and cleanup boot/rescue/testrescue.S - Correct include path for sv_addr_ag.h, should be asm/arch/ - Fix some whitespace errors. - Remove useless CVS id tag. commit ef8028a7ab1014b174c1ff9f565e387bd2a9a436 Author: Jesper Nilsson Date: Thu Jan 17 11:30:21 2008 +0100 CRIS v10: Correct and cleanup boot/rescue/kimagerescue.S - Correct include path for sv_addr_ag.h, should be included from asm/arch/ - Remove useless CVS id tag. - Correct whitespace errors and some formatting. commit 546cc14862c8712341823c9235268062bac87b74 Author: Jesper Nilsson Date: Thu Jan 17 11:22:41 2008 +0100 CRIS v10: Change boot/rescue/Makefile to use ccflags-y, asflags-y and ldflags-y. Replace EXTRA_CFLAGS with ccflags-y. Change ASFLAGS and LDFLAGS into asflags-y and ldflags-y, we only need these flags in this makefile. commit 3c9547a504a96a6a3585573dc172ab4070c18679 Author: Jesper Nilsson Date: Thu Jan 17 11:13:21 2008 +0100 CRIS v10: Update boot/compressed/Makefile to use ccflags-y and ldflags-y Replace use of EXTRA_CFLAGS with ccflags-y and LDFLAGS with ldflags-y, (we only need to change linker flags for this makefile) commit 0dfb8c35703709ca5e8f58e019d72383110999a7 Author: Jesper Nilsson Date: Thu Jan 17 10:42:58 2008 +0100 CRIS: Add architecture dependent bug.h for CRIS v10 and CRIS v32 commit fbdb5f865b570e34d6e0d17f327f8d9bc2c4ccc6 Author: Jesper Nilsson Date: Tue Dec 4 17:25:45 2007 +0100 CRIS v32: Update and improve kernel/time.c - Shorten include paths to machine dependent header files. - Register name for first timer is now regi_timer0. - Remove raw_printk hack, use oops_in_progress instead. - Add handling of CPU frequency scaling for CRIS. - Remove regs parameter to timer_interrupt, get them from get_irq_regs instead. - Whitespace and formatting changes. commit bd1c8c54b9a0a60fde31322bcae9d308ba069f12 Author: Jesper Nilsson Date: Mon Dec 3 11:37:14 2007 +0100 CRIS v10: New default config. commit d8ca6b1593382e51f4c245de9040c795be3a0281 Author: Jesper Nilsson Date: Mon Dec 3 11:16:25 2007 +0100 CRIS v32: Minor fixes for io.h - Shorten include paths for machine dependent header files. - Add volatile to hardeware register pointers. - Add spinlocks around critical region. - Expand macros for handling of leds. commit 9ce1ea751f7256b2248321c2427612a295f15137 Author: Jesper Nilsson Date: Mon Dec 3 11:12:10 2007 +0100 CRIS v32: Update and improve kernel/traps.c - Remove watchdog handling, handled elsewhere. - Shorten include paths to machine dependent header files. - Remove raw_printk hack, we now use oops_in_progress instead. - Add handling of BUG for exception handlers (break 14). - Formatting and whitespace changes. commit 8cca29b7137a08f25b05e1cddf7dbc8fe8dfad05 Author: Jesper Nilsson Date: Mon Dec 3 10:54:15 2007 +0100 CRIS v32: Minor updates to kernel/process.c - Shorten include paths for machine dependent header files. - Remove unused extern declaration of etrax_gpio_wake_up_check. - Register name for first timer is now regi_timer0. commit 693d9847b210f3812bed975d1c8edae90b8f8e1c Author: Jesper Nilsson Date: Fri Nov 30 18:09:54 2007 +0100 CRIS v32: Update and simplify kernel/irq.c. - First timer register has changed name to timer0. - Build IRQs with only IRQ number, mask bit will be calculated instead. - Add more IRQs, up to 64 supported. - Use arrays to hold which IRQs triggered instead of trying to do magic with two 32 bit values now that more than 32 IRQs are supported. commit 96e476697d7ed025bfa1af4073e825901b5c6b1a Author: Jesper Nilsson Date: Fri Nov 30 17:54:12 2007 +0100 CRIS v32: Update kernel/head.S - Shorten include paths for machine specific header files. - Add magic for booting NAND flash. - Change CONFIG_ETRAXFS_SIM to CONFIG_ETRAX_VCS_SIM. - Use assembler macros for initializing hardware (clocks) - Add stubs for SMP slave CPUs. - Search for cramfs or jffs2 if no romfs found. - Initialize l2cache. commit ec87ee20c28708bbd22f71f429d2e21c965c44e4 Author: Jesper Nilsson Date: Fri Nov 30 17:46:11 2007 +0100 CRIS v32: Update and improve fasttimer.c - Change include path to machine dependent header files. - Remove __INLINE__, it expands to inline anyway. - Don't initialize static variables. - Change timers to use fasttimer_t instead of timevals. - Change name of timeval_cmp to fasttime_cmp to highlight this. - Register name for first timer is regi_timer0, not regi_timer. - Whitespace and formatting changes. - Don't return if we're blocking interrupts, goto done and restore interrupts. - Disable interrupts while walking the fasttimer list, only restore while doing the callback. - Remove #ifdef DECLARE_WAITQUEUE, this code won't be used in another OS. - Remove CVS log. commit e867cefbaaac23644414cfe562b4fee7dc604f2e Author: Jesper Nilsson Date: Fri Nov 30 17:28:05 2007 +0100 CRIS v32: Include path fix for timex.h - Shorten include path for machine dependent header files. - Correct some formatting issues. commit 822641026238421a70ad20af513758ef927527e5 Author: Jesper Nilsson Date: Fri Nov 30 17:26:23 2007 +0100 CRIS v32: Update debugport. - Shorten include paths to machine dependent headers. - Add support for fifth serial port. - Remove CONFIG_ETRAXFS_SIM and CONFIG_ETRAX_DEBUG_PORT_NULL, no longer used. - Remove raw_printk and stupid_debug hack, no longer needed. - Remove dummy console stuff, no longer needed. - Correct some register type names. - Correct some whitespace errors and formatting. commit 3f50c0673cf5edd2c6bb76243410c3cd59b3b62d Author: Jesper Nilsson Date: Fri Nov 30 17:20:00 2007 +0100 CRIS v32: Update boot/rescue/head.S code. - Add ifdef for ETRAX_AXISFLASHMAP to avoid compiling file unless it is set. - Use assembler macros for setting up clocks. - Don't copy image, just jump to it (only works for NOR flash) commit a5d204bf368ed9f326d0ce46b47523a786203acb Author: Jesper Nilsson Date: Fri Nov 30 17:16:09 2007 +0100 CRIS v32: Update boot/compressed/misc.c - Shorten include paths to machine specific headers. - Remove fill_inbuf, not defined here. - Return __dest as value from memcpy. - Enable serial port hardware transmitter and receiver in serial_setup. - Correct baudrate divisor calculation, changed from 4800 to 115200. - Add support for Artpec-3 specific serial port setup. - Initialize pinmux for the correct serial port. commit 247c3c959f5d5a7edd1d5561ffe29906129dab0b Author: Jesper Nilsson Date: Fri Nov 30 16:40:26 2007 +0100 CRIS v32: Update compressed head.S - Fixes for NAND and NOR flash booting. - Use assembler macros for common tasks (clocks, general io etc) - Use (EtraxFS or Artpec-3) machine specific include for dram and hardware init. commit 5d23ff25b2d406b7fc1eb771d5dc4f1add0f2530 Author: Jesper Nilsson Date: Fri Nov 30 16:30:58 2007 +0100 CRIS v32: Remove common gpio and nandflash, add mach-fs and mach-a3 as subdirs. Also add board_mmcspi to build if ETRAX_SPI_MMC_BOARD is set. (Generic MMC SPI implementation) commit dbf9f14476dc88887b6e8f29eea97162ce4d8cbd Author: Jesper Nilsson Date: Fri Nov 30 16:28:26 2007 +0100 CRIS v32: Update boot rescue Kbuild makefile. - Remove old specific targets, use more generic ones instead. - Use if_changed to avoid creating new images when no change. - Use EXTRA_CFLAGS instead of CFLAGS. commit 28bf739b127c0f0e893baf4efd97d218247d5d71 Author: Jesper Nilsson Date: Wed Jan 30 12:52:51 2008 +0100 CRIS v32: Update boot compressed Kbuild makefile. - Remove old specific targets, use more generic ones instead. - Use if_changed to avoid creating new images when no change. - Use KBUILD_CFLAGS instead of CFLAGS. commit 3d6f7871ada50e607fe1dae64d2d726a6764451a Author: Jesper Nilsson Date: Fri Nov 30 16:24:07 2007 +0100 CRIS v32: Update boot Kbuild makefile. - Remove old specific targets, use more generic ones instead. - Use if_changed to avoid creating new images when no change. commit 1e4cc2c8c7cb54ce0e5a7002c68aca9e89607117 Author: Jesper Nilsson Date: Fri Nov 30 16:22:50 2007 +0100 CRIS v32: Update traps.c - Remove raw_prink hack, use oops_in_progress instead. - When ETRAX_WATCHDOG_NICE_DOGGY is set, loop in trap after oops dump instead of rebooting. - Break long lines to less than 80 chars. - Fix whitespace errors. - Remove unnecessary comments. commit 32872b203b542f0696b6af4db992a3c320de57e1 Author: Jesper Nilsson Date: Fri Nov 30 16:17:21 2007 +0100 CRIS v10: Update and improve axisflashmap.c - Add config to use mtd0 as whole flash device. - Fix whitespace errors. - Remove braces around single statement ifs. - Break long lines. - Remove unnecessary CVS log. commit 8c11bffae7d234928fd3ee5b4419e9d1b6f7f55a Author: Jesper Nilsson Date: Fri Nov 30 16:13:29 2007 +0100 CRIS v10: Update rescue head.s - Correct whitespace problems. - Add ifdef for ETRAX_AXISFLASHMAP to avoid compile error when not set. commit 63e6b9a0b876a287782a706351e0868789673f90 Author: Jesper Nilsson Date: Fri Nov 30 16:11:38 2007 +0100 CRIS v10: Update rescue Kbuild makefile. - Remove old specific targets, use more generic ones instead. - Use if_changed to avoid creating new images when no change. Removes a lot of cruft. - Use EXTRA_CFLAGS instead of CFLAGS. commit 1333a694836cb7e561b1b70d60ccceb8fabeead2 Author: Jesper Nilsson Date: Fri Nov 30 16:10:30 2007 +0100 CRIS v10: Update boot/compressed Kbuild makefile. - Remove old specific targets, use more generic ones instead. - Use if_changed to avoid creating new images when no change. - Use EXTRA_CFLAGS instead of CFLAGS. commit 87f5a7f7033ce4bbad082983332bbce43e849c84 Author: Jesper Nilsson Date: Fri Nov 30 16:08:34 2007 +0100 CRIS v10: Update boot Kbuild makefile. - Remove old specific targets, use more generic ones instead. commit 2c2314bf6b1e72c2de6703a62f51f453576cd132 Author: Jesper Nilsson Date: Fri Nov 30 16:07:06 2007 +0100 CRIS: Update main Kbuild makefile. - Remove old and non-generic targets, use generic ones instead. - Add sub-arch as mach-fs or mach-a3 for EtraxFS and Artpec-3 respectively. - Add links to sub-arch directories, and erase before trying to create them. - Include from sub-arch specific include directory "mach". - Add files to be cleaned in CLEAN_FILES instead of as archclean target. commit 5fc1f3122fda1a15df0e4f83d85f4d2991bf0edd Author: Jesper Nilsson Date: Fri Nov 30 16:01:53 2007 +0100 CRIS v32: Update and improve axisflashmap - Use default partition table when no partition is found (for initial tests) - Add config ETRAX_AXISFLASHMAP_MTD0WHOLE to allow whole flash as mtd0. - Add config for VCS simulator connection. commit 201ca54aa039eb1e5143a98311e7ea25afc57ebb Author: Jesper Nilsson Date: Fri Nov 30 15:54:01 2007 +0100 CRIS v32: New version of I2C driver. - Add i2c_write and i2c_read as functions. - Use spinlocks for critical regions. - Add config item to set I2C data and clock port. - Put unneeded testcode inside #if 0. - Remove CVS id tag. commit 0f229504f804da9c601aeb4690995904d9553b79 Author: Jesper Nilsson Date: Fri Nov 30 15:47:34 2007 +0100 CRIS v32: Fixup kernel Makefile. - Remove CRISv32 common arbiter, dma, io and pinmux files, they are now defined in machine dependent directories. - Add cache and cacheflush files for working around cache problems in CRISv32 chips. commit ffc8b00d580e26bfde0d57cd41f1f76cf63b1eb3 Author: Jesper Nilsson Date: Fri Nov 30 15:44:07 2007 +0100 CRIS v32: Update entry.S to working order. - Remove oldset parameter. - Utilise delay-slot for parameter moving. - Add kernel_execve as break 13. - Add new kernel syscalls. commit e8a8abf20e217465c00fa14fd27321401898654c Author: Jesper Nilsson Date: Fri Nov 30 15:40:21 2007 +0100 CRIS: Remove define ARCH_HAS_DMA_DECLARE_COHERENT_MEMORY commit 54ab4d7208a9e67920a499cfc3cce8554b7a2c11 Author: Jesper Nilsson Date: Fri Nov 30 14:14:54 2007 +0100 CRIS v32: Whitespace and formatting changes for kernel/ptrace.c commit 1ddba0257e0c8fb6cdfa913efd3a433d0e4a762a Author: Jesper Nilsson Date: Fri Nov 30 14:11:29 2007 +0100 CRIS: Minor generic kernel/traps.c changes. - Collect extern declarations at top of file. - Change raw_printk to printk, use oops_in_progress instead. - Fix formatting and whitespace. - Allow the watchdog to be disabled during oops. commit 3e1fdc4eacfcfb68372301572a28c7370d861795 Author: Jesper Nilsson Date: Fri Nov 30 13:59:57 2007 +0100 CRIS: Minor fixes to mm/fault.c - Only disallow oops if we're in_interrupt context (was in_atomic before) - Use the generic oops_in_progress instead of the raw_printk hack. - Fix whitespace/formatting. - Remove CVS log entries. commit 75e52b279cf018453687a2c7bc99328462438525 Author: Jesper Nilsson Date: Fri Nov 30 10:12:31 2007 +0100 CRIS v32: Add headers for EtraxFS and Artpec-3 chips. commit 738af38bbc8bb4a5b081935c47744fdb7bf0f70b Author: Jesper Nilsson Date: Fri Nov 30 10:11:43 2007 +0100 CRIS v32: Add prototypes for cache flushing We need these to work around some cache bugs in CRISv32 chips. commit 642d4ea0656f30257a1dcab65133a2f6aabffca5 Author: Jesper Nilsson Date: Thu Nov 29 18:19:42 2007 +0100 CRIS: Remove unnecessary CVS log from cris/mm/init.c commit 1e5915b173c4a729a818dbef020e166ceeaa321b Author: Jesper Nilsson Date: Tue Jan 15 11:59:12 2008 +0100 CRIS v32: Update asm-cris/arch-v32/irq.h for ETRAX FS and ARTPEC-3 - Correct include to use <> - Rework calculation of number of IRQs and exceptions we have. - Remove useless "mask" argument to BUILD_IRQ macro commit 0c2efc4848984ed38753d48990f0f0c72af56ba9 Author: Jesper Nilsson Date: Thu Nov 29 17:58:06 2007 +0100 CRIS: Merge axisflashmap.h with Axis internal changes. - Add partition table struct to be used to parse partition table in flash. - Add JFFS2 as a type, and add readoly flag. - Improve some comments. - Lindent has been run, fixing whitespace and formatting issues. commit e908dfc3c08d684b115f6fbd3740c6b77e0ddaf8 Author: Jesper Nilsson Date: Thu Nov 29 17:30:24 2007 +0100 CRIS v32: Update synchronous serial driver. Now uses a DMA descriptor ring, which should avoid any unnecessary pauses in the streams. commit ca91d5b098700570f308dea0b228829fd4c37f14 Author: Jesper Nilsson Date: Thu Nov 29 17:26:24 2007 +0100 CRIS v32: Add SECOND_WORD_SYNC, used in sync_serial. commit f74c31d50c3c568abf315f9b8b206a4ec7b9c9f6 Author: Jesper Nilsson Date: Thu Nov 29 17:24:10 2007 +0100 CRIS v32: Add L2 cache initialization code. commit 58d083192825c5fbd46fa0b1ff4d1ecc9118b692 Author: Jesper Nilsson Date: Thu Nov 29 17:21:59 2007 +0100 CRIS v32: Add hardware dependent include files and defconfigs for ETRAX FS and ARTPEC-3 chips. The header files describe the hardware registers available in both these chips, note that most of this documentation is automatically generated from the hardware implementation. commit 035e111f9a9b29843bc899f03d56f19d94bebb53 Author: Jesper Nilsson Date: Thu Nov 29 17:11:23 2007 +0100 CRIS v32: Add new machine dependent files for Etrax-FS and Artpec-3. The two chips are somewhat different, and needs different handling. Adds handing of the dma, dram initialization, hardware settings, io, memory arbiter and pinmux Also moves the dma, dram initialization and io from CRIS v32 common files. commit 6107c61fd3e6b47106b078db1726ad814564efef Author: Jesper Nilsson Date: Thu Nov 29 17:05:58 2007 +0100 CRIS v32: Add new driver files for Etrax-FS Adds gpio and nandflash handling for Etrax-FS commit 18a1e013cdd94d1ade2c07acdbac61d533c7fc60 Author: Jesper Nilsson Date: Thu Nov 29 17:03:41 2007 +0100 CRIS v32: Add new driver files for Artpec-3. Adds gpio and nandflash handling for Artpec-3. commit 923dd2a46349bb1bb94aa894b7ff61093618d68a Author: Jesper Nilsson Date: Wed Dec 5 18:10:36 2007 +0100 CRIS: Rearrange Kconfigs for v10 and v32 to allow compilation without warnings. - Remove some unneeded configs and add some new ones. - Merge common config items to common file instead of duplicating them. - Pull in standard Kconfig.preempt. - Remove some unneeded Kconfigs for subsystems not (yet) available on CRIS (md, scsi, ieee1394, i2o, isdn, telephony, media, pcmcia, pci) - Rename CRISv32 config items which had different types from CRISv10. (ETRAX_LED2G, ETRAX_LED2R, ETRAX_LED3G, ETRAX_LED3R, ETRAX_I2C_DATA_PORT, ETRAX_I2C_CLK_PORT) commit a99824f327c748b2753f4fa570eb1fefcd6a9c4d Author: Badari Pulavarty Date: Tue Feb 5 00:10:18 2008 -0800 [POWERPC] Add arch-specific walk_memory_remove() for 64-bit powerpc walk_memory_resource() verifies if there are holes in a given memory range, by checking against /proc/iomem. On x86/ia64 system memory is represented in /proc/iomem. On powerpc, we don't show system memory as IO resource in /proc/iomem - instead it's maintained in /proc/device-tree. This provides a way for an architecture to provide its own walk_memory_resource() function. On powerpc, the memory region is small (16MB), contiguous and non-overlapping. So extra checking against the device-tree is not needed. Signed-off-by: Badari Pulavarty Acked-by: KAMEZAWA Hiroyuki Cc: Dave Hansen Cc: Benjamin Herrenschmidt Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 1482471d19e77d794012dbacaa65c44ceaae37bb Author: Badari Pulavarty Date: Tue Feb 5 00:10:17 2008 -0800 [POWERPC] Enable hotplug memory remove for 64-bit powerpc Enable hotplug memory remove for ppc64. Signed-off-by: Badari Pulavarty Cc: Dave Hansen Cc: KAMEZAWA Hiroyuki Cc: Benjamin Herrenschmidt Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit aa620abe756207222d234f785d41435fac486e06 Author: Badari Pulavarty Date: Tue Feb 5 00:10:16 2008 -0800 [POWERPC] Add remove_memory() for 64-bit powerpc Supply remove_memory() function for 64-bit powerpc. This is still not quite complete as it needs to do some more arch-specific stuff, which will be added in a later patch. Signed-off-by: Badari Pulavarty Cc: Yasunori Goto Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit 44621be4b563fbce32007ebfac91dfe8f5692743 Author: Michael Ellerman Date: Fri Feb 8 16:37:04 2008 +1100 [POWERPC] Make cell IOMMU fixed mapping printk more useful Currently the cell IOMMU fixed mapping just printks that it's been setup, which is not particularly useful. Much more interesting is the address ranges for the different windows. This adds one line to dmesg on a blade. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 4a8df1507eaeefc9739e3762db606caa08edba98 Author: Michael Ellerman Date: Fri Feb 8 16:37:04 2008 +1100 [POWERPC] Fix potential cell IOMMU bug when switching back to default DMA ops If we get a 64-bit dma mask we switch to the fixed ops and call cell_dma_dev_setup(). If the driver then switches back to a 32-bit dma mask for any reason we don't call cell_dma_dev_setup() again, which has the potential to leave bogus data in dev->archdata.dma_data. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 0e0b47abb71a2c4aed5895c01f41827dbd8a981c Author: Michael Ellerman Date: Fri Feb 8 16:37:03 2008 +1100 [POWERPC] Don't enable cell IOMMU fixed mapping if there are no dma-ranges In order for the cell IOMMU fixed mapping to work we need "dma-ranges" properties in the device tree. If there are none then there's no point enabling the fixed mapping support. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit ccd05d086f82dba2ab117dcaf4a38cbb2863a439 Author: Michael Ellerman Date: Fri Feb 8 16:37:02 2008 +1100 [POWERPC] Fix cell IOMMU null pointer explosion on old firmwares The cell IOMMU fixed mapping support has a null pointer bug if you run it on older firmwares that don't contain the "dma-ranges" properties. Fix it and convert to using of_get_next_parent() while we're there. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 85687ff2b4eab47f4d637a0d3a482bb955d3cbd4 Author: Luke Browning Date: Fri Feb 8 15:50:41 2008 +1100 [POWERPC] spufs: Fix timing dependent false return from spufs_run_spu Stop bits are only valid when the running bit is not set. Status bits carry over from one invocation of spufs_run_spu() to another, so the RUNNING bit gets added to the previous state of the register which may have been a remote library call. In this case, it looks like another library routine should be invoked, but the spe is actually running. This fixes a problem with a testcase that exercises the scheduler. Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit e66686b414f10f1ef2cd0aa77a03a67e17304773 Author: Luke Browning Date: Fri Feb 8 15:50:41 2008 +1100 [POWERPC] spufs: No need to have a runnable SPU for libassist update We don't need to update the libassist statistic with the context in a runnable state, so do it after spu_disable_spu(). Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr Acked-by: Christoph Hellwig Signed-off-by: Paul Mackerras commit 732377c5f5335e227171c76532613f45b4067f25 Author: Masato Noguchi Date: Fri Feb 8 15:50:41 2008 +1100 [POWERPC] spufs: Update SPU_Status[CISHP] in backing runcntl write Currently, the kernel may fail to restart a SPE context which has stopped and been swapped out. This changes spu_backing_runcntl_write to emulate the real SPU_Status register exactly. When the SPU Run Control register is written with SPU_RunCntl[Run] set to '1', the physical SPU automatically sets SPU_Status[R] and clears SPU_Status[CISHP]. Signed-off-by: Masato Noguchi Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit eebead5b8ff89340dc18ceec996157d0eb7d0287 Author: Christoph Hellwig Date: Fri Feb 8 15:50:41 2008 +1100 [POWERPC] spufs: Fix state_mutex leaks Fix various state_mutex leaks. The worst one was introduced by the interrutible state_mutex conversion but there've been a few before too. Notably spufs_wait now returns without the state_mutex held when returning an error, which actually cleans up some code. Signed-off-by: Christoph Hellwig Signed-off-by: Luke Browning Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 592a607bbc053bc6f614a0e619326009f4b3829e Author: Benjamin Herrenschmidt Date: Thu Feb 7 14:29:43 2008 +1100 [POWERPC] Disable G5 NAP mode during SMU commands on U3 It appears that with the U3 northbridge, if the processor is in NAP mode the whole time while waiting for an SMU command to complete, then the SMU will fail. It could be related to the weird backward mechanism the SMU uses to get to system memory via i2c to the northbridge that doesn't operate properly when the said bridge is in napping along with the CPU. That is on U3 at least, U4 doesn't seem to be affected. This didn't show before NO_HZ as the timer wakeup was enough to make it work it seems, but that is no longer the case. This fixes it by disabling NAP mode on those machines while an SMU command is in flight. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 48c946a482661d8466cd24bae5df749147ff1b1d Author: David S. Miller Date: Fri Feb 8 00:08:10 2008 -0800 [SPARC64]: Make use of the new fs/compat_binfmt_elf.c Signed-off-by: David S. Miller commit 882c49164d72c45f37d7fa1bb3de7c31cf1a5fab Author: Frank Seidel Date: Mon Feb 4 19:25:42 2008 +0100 mmc: extend ricoh_mmc to support Ricoh RL5c476 This patch adds support for the Ricoh RL5c476 chip: with this the mmc adapter that needs this disabler (R5C843) can also be handled correctly when it sits on a RL5c476. Signed-off-by: Frank Seidel Signed-off-by: Pierre Ossman commit 6e996ee8e730a50eef51cdb072b166fe8f80831e Author: David Brownell Date: Mon Feb 4 18:12:48 2008 +0100 at91_mci: use generic GPIO calls Update the AT91 MMC driver to use the generic GPIO calls instead of the AT91-specific calls; and to request (and release) those GPIO signals. That required updating the probe() fault cleanup codepaths. Now there is a single sequence for freeing resources, in reverse order of their allocation. Also that code uses use dev_*() for messaging, and has less abuse of KERN_ERR. Likewise with updating remove() cleanup. This had to free the GPIOs, and while adding that code I noticed and fixed two other problems: it was poking at a workqueue owned by the mmc core; and in one (rare) case would try freeing an IRQ that it didn't allocate. Signed-off-by: David Brownell Signed-off-by: Nicolas Ferre Signed-off-by: Pierre Ossman commit 541ceb5b8b4a90f7862ef24e4058fce520247827 Author: Feng Tang Date: Mon Jan 7 14:29:02 2008 +0800 sdhci: add num index for multi controllers case Some devices have several controllers; need add the index info to device slot name host->slot_desc[] Signed-off-by: Feng Tang Signed-off-by: Pierre Ossman commit 11b295c8b2934e1a9275961418e2c4f46ee674ac Author: Pierre Ossman Date: Wed Jan 23 23:21:21 2008 +0100 MAINTAINERS: remove non-existant URLs Remove references to web pages that are no longer up and running. Signed-off-by: Pierre Ossman commit 34671dc2e60ff83fcb0e76fecaaa02e36ee6ec09 Author: Pierre Ossman Date: Sat Jan 5 23:18:58 2008 +0100 mmc: remove sdhci and mmc_spi experimental markers Both of these drivers work well (although some hardware still has its problems) and are not in the "alpha" quality that EXPERIMENTAL suggests. Signed-off-by: Pierre Ossman commit 1f090bf5245115e404103d35e7f5597bfe653aac Author: Philip Langdale Date: Sat Dec 29 00:11:42 2007 -0800 mmc: Handle suspend/resume in Ricoh MMC disabler As pci config space is reinitialised on a suspend/resume cycle, the disabler needs to work its magic at resume time. For symmetry this change also explicitly enables the controller at suspend time but it's not strictly necessary. Signed-off-by: Philipl Langdale Signed-off-by: Pierre Ossman commit dd5a1843d566911dbb077c4022c4936697495af6 Author: Eric Dumazet Date: Thu Feb 7 23:30:42 2008 -0800 [IPSEC] flow: reorder "struct flow_cache_entry" and remove SLAB_HWCACHE_ALIGN 1) We can shrink sizeof(struct flow_cache_entry) by 8 bytes on 64bit arches. 2) No need to align these structures to hardware cache lines, this only waste ram for very litle gain. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit fca09fb732b2cc310110b2fcbf3449df043a96d0 Author: Eric Dumazet Date: Thu Feb 7 23:29:57 2008 -0800 [DECNET] ROUTE: remove unecessary alignment Same alignment requirement was removed on IP route cache in the past. This alignment actually has bad effect on 32 bit arches, uniprocessor, since sizeof(dn_rt_hash_bucket) is forced to 8 bytes instead of 4. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 405137d16fbe4c80b9e06e61af05856027745d23 Author: Joy Latten Date: Thu Feb 7 23:11:56 2008 -0800 [IPSEC]: Add support for aes-ctr. The below patch allows IPsec to use CTR mode with AES encryption algorithm. Tested this using setkey in ipsec-tools. Signed-off-by: Joy Latten Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 2ba85f3a58441dda35c62f0bc24e0dc3de432a88 Author: David S. Miller Date: Thu Feb 7 22:46:09 2008 -0800 [SPARC64]: Make use of compat_sys_ptrace() Signed-off-by: David S. Miller commit 4a507d93fac78ecd37d18343c57c564f6a126f01 Author: Len Brown Date: Fri Feb 8 00:37:16 2008 -0500 acer-wmi, tc1100-wmi: select ACPI_WMI It is safe for these Kconfig entries to use select because they select ACPI_WMI, which already has its dependencies satisfied. This makes Kconfig more user friendly, since the user selects the driver they want and the dependency is met for them. Otherwise, the user would have to find and enable ACPI_WMI to make enabling these drivers possible. Signed-off-by: Len Brown commit 20b4514799ebcfb04b45537e90e421cb73fd0cc9 Author: Carlos Corbacho Date: Fri Feb 8 00:36:49 2008 -0500 ACPI: WMI: Improve Kconfig description As Pavel Machek has pointed out, the Kconfig entry for WMI is pretty non-descriptive. Rewrite it so that it explains what ACPI-WMI is, and why anyone would want to enable it. Many thanks to Ray Lee for ideas on this. Signed-off-by: Carlos Corbacho CC: Pavel Machek CC: Ray Lee Signed-off-by: Len Brown commit 446b1dfc4cd1c2bbc7eb22d5fec38e23a577492c Author: Len Brown Date: Thu Feb 7 16:23:00 2008 -0500 ACPI: DMI: add Panasonic CF-52 and Thinpad X61 Add Lenovo X61 Add Panasonic Toughbook CF-52 Signed-off-by: Len Brown commit 543a956140e1f57331c0e528d2367106057aeca0 Author: Len Brown Date: Thu Feb 7 16:55:08 2008 -0500 ACPI: thermal: syntax, spelling, kernel-doc Reviewed-by: Randy Dunlap Signed-off-by: Len Brown commit a13ff0bb3feda8b1fcffc69951320277ed7c4101 Author: Nick Piggin Date: Thu Feb 7 18:46:06 2008 -0800 Convert SG from nopage to fault. Signed-off-by: Nick Piggin Cc: Douglas Gilbert Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 054b0e2b2d5ed460784e8dfbf30ff4768dbf4376 Author: Sam Ravnborg Date: Thu Feb 7 18:20:29 2008 -0800 [ISDN]: fix section mismatch warning in enpci_card_msg Fix following warnings: WARNING: drivers/isdn/hisax/built-in.o(.text+0x3cf50): Section mismatch in reference from the function enpci_card_msg() to the function .devinit.text:Amd7930_init() WARNING: drivers/isdn/hisax/built-in.o(.text+0x3cf85): Section mismatch in reference from the function enpci_card_msg() to the function .devinit.text:Amd7930_init() enpci_card_msg() can be called outside __devinit context referenced function should not be annotated __devinit. Remove annotation of Amd7930_init to fix this. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit bca65eae394e95c125837b6eb3a8246c40777608 Author: Florian Westphal Date: Thu Feb 7 18:18:01 2008 -0800 [TIPC]: declare proto_ops structures as 'const'. Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 86121fe5b4f170829429433cd99ec7f884c8ae75 Author: Ilpo Järvinen Date: Thu Feb 7 18:17:13 2008 -0800 [TIPC]: Kill unused static inline (x5) All these static inlines are unused: in_own_zone 1 (net/tipc/addr.h) msg_dataoctet 1 (net/tipc/msg.h) msg_direct 1 (include/net/tipc/tipc_msg.h) msg_options 1 (include/net/tipc/tipc_msg.h) tipc_nmap_get 1 (net/tipc/bcast.h) Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 04f217aca4d803fe72c2c54fe460d68f5233ce52 Author: Stephen Hemminger Date: Thu Feb 7 18:13:00 2008 -0800 [TC]: oops in em_meta If userspace passes a unknown match index into em_meta, then em_meta_change will return an error and the data for the match will not be set. This then causes an null pointer dereference when the cleanup is done in the error path via tcf_em_tree_destroy. Since the tree structure comes kzalloc, it is initialized to NULL. Discovered when testing a new version of tc command against an accidental older kernel. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4e881a217bd1403960eb8f32297ba9d226c6d5ae Author: Rami Rosen Date: Thu Feb 7 18:11:49 2008 -0800 [IPV6] Minor cleanup: remove unused definitions in net/ip6_fib.h This patch removes some unused definitions and one method typedef declaration (f_pnode) in include/net/ip6_fib.h, as they are not used in the kernel. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit af195ac82e38ba802fd86b5a014ed05ef6dd88bb Author: Jonathan Brassow Date: Fri Feb 8 02:11:39 2008 +0000 dm raid1: report fault status This patch adds extra information to the mirror status output, so that it can be determined which device(s) have failed. For each mirror device, a character is printed indicating the most severe error encountered. The characters are: * A => Alive - No failures * D => Dead - A write failure occurred leaving mirror out-of-sync * S => Sync - A sychronization failure occurred, mirror out-of-sync * R => Read - A read failure occurred, mirror data unaffected This allows userspace to properly reconfigure the mirror set. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 06386bbfd2441416875d0403d405c56822f6ebac Author: Jonathan Brassow Date: Fri Feb 8 02:11:37 2008 +0000 dm raid1: handle read failures This patch gives the ability to respond-to/record device failures that happen during read operations. It also adds the ability to read from mirror devices that are not the primary if they are in-sync. There are essentially two read paths in mirroring; the direct path and the queued path. When a read request is mapped, if the region is 'in-sync' the direct path is taken; otherwise the queued path is taken. If the direct path is taken, we must record bio information so that if the read fails we can retry it. We then discover the status of a direct read through mirror_end_io. If the read has failed, we will mark the device from which the read was attempted as failed (so we don't try to read from it again), restore the bio and try again. If the queued path is taken, we discover the results of the read from 'read_callback'. If the device failed, we will mark the device as failed and attempt the read again if there is another device where this region is known to be 'in-sync'. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit b80aa7a0c268d3ae0c472f648af1e3e4a359765c Author: Jonathan Brassow Date: Fri Feb 8 02:11:35 2008 +0000 dm raid1: fix EIO after log failure This patch adds the ability to requeue write I/O to core device-mapper when there is a log device failure. If a write to the log produces and error, the pending writes are put on the "failures" list. Since the log is marked as failed, they will stay on the failures list until a suspend happens. Suspends come in two phases, presuspend and postsuspend. We must make sure that all the writes on the failures list are requeued in the presuspend phase (a requirement of dm core). This means that recovery must be complete (because writes may be delayed behind it) and the failures list must be requeued before we return from presuspend. The mechanisms to ensure recovery is complete (or stopped) was already in place, but needed to be moved from postsuspend to presuspend. We rely on 'flush_workqueue' to ensure that the mirror thread is complete and therefore, has requeued all writes in the failures list. Because we are using flush_workqueue, we must ensure that no additional 'queue_work' calls will produce additional I/O that we need to requeue (because once we return from presuspend, we are unable to do anything about it). 'queue_work' is called in response to the following functions: - complete_resync_work = NA, recovery is stopped - rh_dec (mirror_end_io) = NA, only calls 'queue_work' if it is ready to recover the region (recovery is stopped) or it needs to clear the region in the log* **this doesn't get called while suspending** - rh_recovery_end = NA, recovery is stopped - rh_recovery_start = NA, recovery is stopped - write_callback = 1) Writes w/o failures simply call bio_endio -> mirror_end_io -> rh_dec (see rh_dec above) 2) Writes with failures are put on the failures list and queue_work is called** ** write_callbacks don't happen during suspend ** - do_failures = NA, 'queue_work' not called if suspending - add_mirror (initialization) = NA, only done on mirror creation - queue_bio = NA, 1) delayed I/O scheduled before flush_workqueue is called. 2) No more I/Os are being issued. 3) Re-attempted READs can still be handled. (Write completions are handled through rh_dec/ write_callback - mention above - and do not use queue_bio.) Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 8f0205b798f926e2745de5fdebf0a8605c621de6 Author: Jonathan Brassow Date: Fri Feb 8 02:11:32 2008 +0000 dm raid1: handle recovery failures This patch adds the calls to 'fail_mirror' if an error occurs during mirror recovery (aka resynchronization). 'fail_mirror' is responsible for recording the type of error by mirror device and ensuring an event gets raised for the purpose of notifying userspace. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 72f4b314100bae85c75d8e4c6fec621ab44e777d Author: Jonathan Brassow Date: Fri Feb 8 02:11:29 2008 +0000 dm raid1: handle write failures This patch gives mirror the ability to handle device failures during normal write operations. The 'write_callback' function is called when a write completes. If all the writes failed or succeeded, we report failure or success respectively. If some of the writes failed, we call fail_mirror; which increments the error count for the device, notes the type of error encountered (DM_RAID1_WRITE_ERROR), and selects a new primary (if necessary). Note that the primary device can never change while the mirror is not in-sync (IOW, while recovery is happening.) This means that the scenario where a failed write changes the primary and gives recovery_complete a chance to misread the primary never happens. The fact that the primary can change has necessitated the change to the default_mirror field. We need to protect against reading garbage while the primary changes. We then add the bio to a new list in the mirror set, 'failures'. For every bio in the 'failures' list, we call a new function, '__bio_mark_nosync', where we mark the region 'not-in-sync' in the log and properly set the region state as, RH_NOSYNC. Userspace must also be notified of the failure. This is done by 'raising an event' (dm_table_event()). If fail_mirror is called in process context the event can be raised right away. If in interrupt context, the event is deferred to the kmirrord thread - which raises the event if 'event_waiting' is set. Backwards compatibility is maintained by ignoring errors if the DM_FEATURES_HANDLE_ERRORS flag is not present. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit d74f81f8adc504a23be3babf347b9f69e9389924 Author: Milan Broz Date: Fri Feb 8 02:11:27 2008 +0000 dm snapshot: combine consecutive exceptions in memory Provided sector_t is 64 bits, reduce the in-memory footprint of the snapshot exception table by the simple method of using unused bits of the chunk number to combine consecutive entries. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 4f7f5c675fd6bacaae3c67be44de872dcff0e3b7 Author: Brian Wood Date: Fri Feb 8 02:11:24 2008 +0000 dm: stripe enhanced status return This patch adds additional information to the status line. It is added at the end of the returned text so it will not interfere with existing implementations using this data. The addition of this information will allow for a common return interface to match that returned with the dm-raid1.c status line (with Jonathan Brassow's patches). Here is a sample of what is returned with a mirror "status" call: isw_eeaaabgfg_mirror: 0 488390920 mirror 2 8:16 8:32 3727/3727 1 AA 1 core Here's what's returned with this patch for a stripe "status" call: isw_dheeijjdej_stripe: 0 976783872 striped 2 8:16 8:32 1 AA Signed-off-by: Brian Wood Signed-off-by: Alasdair G Kergon commit a25eb9446ad50027bc2082386e5358bedad087ed Author: Brian Wood Date: Fri Feb 8 02:11:22 2008 +0000 dm: stripe trigger event on failure This patch adds the stripe_end_io function to process errors that might occur after an IO operation. As part of this there are a number of enhancements made to record and trigger events: - New atomic variable in struct stripe to record the number of errors each stripe volume device has experienced (could be used later with uevents to report back directly to userspace) - New workqueue/work struct setup to process the trigger_event function - New end_io function. It is here that testing for BIO error conditions take place. It determines the exact stripe that cause the error, records this in the new atomic variable, and calls the queue_work() function - New trigger_event function to process failure events. This calls dm_table_event() Signed-off-by: Brian Wood Signed-off-by: Alasdair G Kergon commit fb8b284806124bef250196007d7373ea3fe26194 Author: Jonathan Brassow Date: Fri Feb 8 02:11:19 2008 +0000 dm log: auto load modules If the log type is not recognised, attempt to load the module 'dm-log-.ko'. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 304f3f6a58301316da612d7bf21d9abe1369d456 Author: Milan Broz Date: Fri Feb 8 02:11:17 2008 +0000 dm: move deferred bio flushing to workqueue Add a single-thread workqueue for each mapped device and move flushing of the lists of pushback and deferred bios to this new workqueue. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 3a7f6c990ad04e6f576a159876c602d14d6f7fef Author: Milan Broz Date: Fri Feb 8 02:11:14 2008 +0000 dm crypt: use async crypto dm-crypt: Use crypto ablkcipher interface Move encrypt/decrypt core to async crypto call. Signed-off-by: Herbert Xu Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 95497a960015c89c7c585d5fb953bc2816dba1e5 Author: Milan Broz Date: Fri Feb 8 02:11:12 2008 +0000 dm crypt: prepare async callback fn dm-crypt: Use crypto ablkcipher interface Prepare callback function for async crypto operation. Signed-off-by: Herbert Xu Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 43d6903482eec168b727bc4bf76a9f415257d862 Author: Milan Broz Date: Fri Feb 8 02:11:09 2008 +0000 dm crypt: add completion for async dm-crypt: Use crypto ablkcipher interface Prepare completion for async crypto request. Signed-off-by: Herbert Xu Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit ddd42edfd8ec44595b1501318512bc29a36f015f Author: Milan Broz Date: Fri Feb 8 02:11:07 2008 +0000 dm crypt: add async request mempool dm-crypt: Use crypto ablkcipher interface Introduce mempool for async crypto requests. cc->req is used mainly during synchronous operations (to prevent allocation and deallocation of the same object). Signed-off-by: Herbert Xu Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 01482b7671d014aa44f2efbc1153f4e3f48d7fb3 Author: Milan Broz Date: Fri Feb 8 02:11:04 2008 +0000 dm crypt: extract scatterlist processing dm-crypt: Use crypto ablkcipher interface Move scatterlists to separate dm_crypt_struct and pick out block processing from crypt_convert. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 899c95d36c896f9fb7bc5f4f03b4abd86bda292c Author: Milan Broz Date: Fri Feb 8 02:11:02 2008 +0000 dm crypt: tidy io ref counting Make io reference counting more obvious. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 84131db689ab86409315c15a3ea5daf732cb04e1 Author: Milan Broz Date: Fri Feb 8 02:10:59 2008 +0000 dm crypt: introduce crypt_write_io_loop Introduce crypt_write_io_loop(). Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit dec1cedf9d4eabe43f3c7d6af095eff40c139a89 Author: Milan Broz Date: Fri Feb 8 02:10:57 2008 +0000 dm crypt: abstract crypt_write_done Process write request in separate function and queue final bio through io workqueue. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 0c395b0f8dd7aee394df95b46963fc0f3401cf90 Author: Milan Broz Date: Fri Feb 8 02:10:54 2008 +0000 dm crypt: store sector mapping in dm_crypt_io Add sector into dm_crypt_io instead of using local variable. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 395b167ca0c559aa975d8bbc46a3d10edd6e17d0 Author: Alasdair G Kergon Date: Fri Feb 8 02:10:52 2008 +0000 dm crypt: move queue functions Reorder kcryptd functions for clarity. Signed-off-by: Alasdair G Kergon commit 4e4eef64e246694a6302c3ee95ac9b60c40f877e Author: Milan Broz Date: Fri Feb 8 02:10:49 2008 +0000 dm crypt: adjust io processing functions Rename functions to follow calling convention. Prepare write io error processing function skeleton. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit ee7a491e62214bfd56c97c1fef3672c09e2a700d Author: Milan Broz Date: Fri Feb 8 02:10:46 2008 +0000 dm crypt: tidy crypt_endio Simplify crypt_endio function. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 5742fd77757894ebb5e441afbdac1fb666e782f7 Author: Milan Broz Date: Fri Feb 8 02:10:43 2008 +0000 dm crypt: move error setting outside crypt_dec_pending Move error code setting outside of crypt_dec_pending function. Use -EIO if crypt_convert_scatterlist() fails. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit fcd369daa36d547607dbedd0b41099d6dfc1d1c7 Author: Milan Broz Date: Fri Feb 8 02:10:41 2008 +0000 dm crypt: remove unnecessary crypt_context write parm Remove write attribute from convert_context and use bio flag instead. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 53017030e2548dffbe481fb4ab6b587abbee6f8b Author: Milan Broz Date: Fri Feb 8 02:10:38 2008 +0000 dm crypt: move convert_context inside dm_crypt_io Move convert_context inside dm_crypt_io. Signed-off-by: Herbert Xu Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 009cd09042fbd095e708b412ad7870fb421fa2f0 Author: Alasdair G Kergon Date: Fri Feb 8 02:10:35 2008 +0000 dm mpath: add missing static A static declaration missing. Signed-off-by: Alasdair G Kergon commit 0149e57fedcaca8905b6cca091fcb0915ff3e27d Author: Alasdair G Kergon Date: Fri Feb 8 02:10:32 2008 +0000 dm: targets no longer experimental Drop the EXPERIMENTAL tag from well-established device-mapper targets, so the newer ones stand out better. Signed-off-by: Alasdair G Kergon commit 46125c1c90882e17f856f1ba30440efea9135e80 Author: Milan Broz Date: Fri Feb 8 02:10:30 2008 +0000 dm: refactor dm_suspend completion wait Move completion wait to separate function Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 94d6351e147231b2c5a9512d69693ee8ac0c204d Author: Milan Broz Date: Fri Feb 8 02:10:27 2008 +0000 dm: split dm_suspend io_lock hold into two Change io_locking to allow processing flush in separate thread. Because we have DMF_BLOCK_IO already set, any possible new ios are queued in dm_requests now. In the case of interrupting previous wait there can be more ios queued (we unlocked io_lock for a while) but this is safe. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 73d410c0137f63c6597e9763c81e5f4d015e9940 Author: Milan Broz Date: Fri Feb 8 02:10:25 2008 +0000 dm: tidy dm_suspend Tidy dm_suspend function - change return value logic in dm_suspend - use atomic_read only once. - move DMF_BLOCK_IO clearing into one place Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 6d6f10df890df8be69edd4db32dc8ce09f311bb8 Author: Milan Broz Date: Fri Feb 8 02:10:22 2008 +0000 dm: refactor deferred bio_list processing Refactor deferred bio_list processing. - use separate _merge_pushback_list function - move deferred bio list pick up to flush function - use bio_list_pop instead of bio_list_get - simplify noflush flag use No real functional change in this patch. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit bba536a3d5809c88313849fb49d24d9e0f57e0bf Author: Rami Rosen Date: Thu Feb 7 18:10:19 2008 -0800 [IPV6] Minor clenup: remove two unused definitions in net/ip6_route.h Remove IP6_RT_PRIO_FW and IP6_RT_FLOW_MASK definitions in include/net/ip6_route.h, as they are not used in the kernel. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 6ed7ade89657e71da3afa7cb13ad25570a95dd9d Author: Milan Broz Date: Fri Feb 8 02:10:19 2008 +0000 dm: tidy alloc_dev labels Tidy labels in alloc_dev to make later patches more clear. No functional change in this patch. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit a26ffd4aa99d6ace82852930edf09e450cc7dc8d Author: Andrew Morton Date: Fri Feb 8 02:10:16 2008 +0000 dm ioctl: use uninitialized_var drivers/md/dm-ioctl.c:1405: warning: 'param' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Alasdair G Kergon commit 69a2ce72a4efe0653479a5d69fc86b5726e83219 Author: Andrew Morton Date: Fri Feb 8 02:10:14 2008 +0000 dm: table use uninitialized_var drivers/md/dm-table.c: In function 'dm_get_device': drivers/md/dm-table.c:478: warning: 'dev' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Alasdair G Kergon commit e48b9db251122b88783844b1d2d69c6780f898ff Author: Andrew Morton Date: Fri Feb 8 02:10:11 2008 +0000 dm snapshot: use uninitialized_var drivers/md/dm-exception-store.c: In function 'persistent_read_metadata': drivers/md/dm-exception-store.c:452: warning: 'new_snapshot' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Alasdair G Kergon commit e61290a4a23c3f85f883f0c8cc7c967501f82a57 Author: Daniel Walker Date: Fri Feb 8 02:10:08 2008 +0000 dm: convert suspend_lock semaphore to mutex Replace semaphore with mutex. Signed-off-by: Daniel Walker Signed-off-by: Alasdair G Kergon commit 8defd83084c3ce46d314c038f7c0f0ed7156d6f8 Author: Robert P. J. Day Date: Fri Feb 8 02:10:06 2008 +0000 dm snapshot: use rounddown_pow_of_two Since the source file already includes the log2.h header file, it seems pointless to re-invent the necessary routine. Signed-off-by: Robert P. J. Day Signed-off-by: Alasdair G Kergon commit 82d601dc076deb5f348cc3a70f57248bc976ae0c Author: Jun'ichi Nomura Date: Fri Feb 8 02:10:04 2008 +0000 dm: table remove unused total "total = 0" does nothing. Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon commit 4f41b09f86e0e3b48194b2ad0356391bf6d47e40 Author: Vasily Averin Date: Fri Feb 8 02:10:01 2008 +0000 dm: table remove unused variable Save some bytes. Signed-off-by: Vasily Averin Signed-off-by: Alasdair G Kergon commit afb24528f9012e5c6361ca9a9128c7c089c1cc7c Author: Paul Jimenez Date: Fri Feb 8 02:09:59 2008 +0000 dm: table use list_for_each This patch is some minor janitorish cleanup, using some macros from linux/list.h (already #included via dm.h) to improve readability. Signed-off-by: Paul Jimenez Signed-off-by: Alasdair G Kergon commit 76c072b48e39e9291fbf02d6c912cf27d65e093d Author: Milan Broz Date: Fri Feb 8 02:09:56 2008 +0000 dm ioctl: move compat code Move compat_ioctl handling into dm-ioctl.c. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 27238b2bea89b1808b570bece6777ab2abc52fe2 Author: Alasdair G Kergon Date: Fri Feb 8 02:09:53 2008 +0000 dm ioctl: remove lock_kernel Remove lock_kernel() from the device-mapper ioctls - there should be sufficient internal locking already where required. Also remove some superfluous casts. Signed-off-by: Alasdair G Kergon commit b9249e556877643b940e4543824a3de5c85bce49 Author: Alasdair G Kergon Date: Fri Feb 8 02:09:51 2008 +0000 dm: mark function lists static Add a couple of statics. Signed-off-by: Alasdair G Kergon commit 7e5c1e830b2310359a4cfbbf89895dde4abd996a Author: Milan Broz Date: Fri Feb 8 02:09:49 2008 +0000 dm: add missing memory barrier to dm_suspend Add memory barrier to fix atomic_read of pending value. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit f2a77991a918218be4a3ac78250e7eba2282be59 Author: Ursula Braun Date: Thu Feb 7 18:07:44 2008 -0800 [AF_IUCV]: defensive programming of iucv_callback_txdone The loop in iucv_callback_txdone presumes existence of an entry with msg->tag in the send_skb_q list. In error cases this assumption might be wrong and might cause an endless loop. Loop is rewritten to guarantee loop end in case of missing msg->tag entry in send_skb_q. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit d44447229e35115675d166b51a52e512c281475c Author: Ursula Braun Date: Thu Feb 7 18:07:19 2008 -0800 [AF_IUCV]: broken send_skb_q results in endless loop A race has been detected in iucv_callback_txdone(). skb_unlink has to be done inside the locked area. In addition checkings for successful allocations are inserted. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 435bc9dfc6927eed9465e297d7aca1217aa61956 Author: Ursula Braun Date: Thu Feb 7 18:06:52 2008 -0800 [IUCV]: wrong irq-disabling locking at module load time Linux may hang when running af_iucv socket programs concurrently with a load of module netiucv. iucv_register() tries to take the iucv_table_lock with spin_lock_irq. This conflicts with iucv_connect() which has a need for an smp_call_function while holding the iucv_table_lock. Solution: use bh-disabling locking in iucv_register() Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit a219994bf5cca1208fb741b20ea9eb78e1711f81 Author: Urs Thuermann Date: Thu Feb 7 18:05:04 2008 -0800 [CAN]: Minor clean-ups Remove unneeded variable. Rename local variable error to err like in all other places. Some white-space changes. Signed-off-by: Urs Thuermann Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit a2fea5f19f970b45e854c22cab25250a79613643 Author: Urs Thuermann Date: Thu Feb 7 18:04:45 2008 -0800 [CAN]: Move proto_{,un}register() out of spin-locked region The implementation of proto_register() has changed so that it can now sleep. The call to proto_register() must be moved out of the spin-locked region. Signed-off-by: Urs Thuermann Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 5423dd67bd0108a180784c6f307646622e804c9b Author: Urs Thuermann Date: Thu Feb 7 18:04:21 2008 -0800 [CAN]: Clean up module auto loading Remove local char array to construct module name. Don't call request_module() when CONFIG_KMOD is not set. Signed-off-by: Urs Thuermann Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 5f58a5c8725b48f3e32851f9748527c8d1ff71b2 Author: Eric Dumazet Date: Thu Feb 7 18:03:18 2008 -0800 [IPSEC] flow: Remove an unnecessary ____cacheline_aligned We use a percpu variable named flow_hash_info, which holds 12 bytes. It is currently marked as ____cacheline_aligned, which makes linker skip space to properly align this variable. Before : c065cc90 D per_cpu__softnet_data c065cd00 d per_cpu__flow_tables c065cd80 d per_cpu__flow_hash_info c065ce00 d per_cpu__flow_flush_tasklets c065ce14 d per_cpu__rt_cache_stat This alignement is quite unproductive, and removing it reduces the size of percpu data (by 240 bytes on my x86 machine), and improves performance (flow_tables & flow_hash_info can share a single cache line) After patch : c065cc04 D per_cpu__softnet_data c065cc4c d per_cpu__flow_tables c065cc50 d per_cpu__flow_hash_info c065cc5c d per_cpu__flow_flush_tasklets c065cc70 d per_cpu__rt_cache_stat Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4136cd523eb0c0bd53173e16fd7406d31d05824f Author: Patrick McHardy Date: Thu Feb 7 17:58:20 2008 -0800 [IPV4]: route: fix crash ip_route_input ip_route_me_harder() may call ip_route_input() with skbs that don't have skb->dev set for skbs rerouted in LOCAL_OUT and TCP resets generated by the REJECT target, resulting in a crash when dereferencing skb->dev->nd_net. Since ip_route_input() has an input device argument, it seems correct to use that one anyway. Bug introduced in b5921910a1 (Routing cache virtualization). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5da621f1c514b8a39c6f7112becb97262ae76900 Author: Jan Engelhardt Date: Thu Feb 7 17:57:11 2008 -0800 [NETFILTER]: xt_iprange: add missing #include Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d9d17578d9f11cdbe41e4559e8f264ec757ddce8 Author: Patrick McHardy Date: Thu Feb 7 17:56:49 2008 -0800 [NETFILTER]: xt_iprange: fix typo in address family The family for iprange_mt4 should be AF_INET, not AF_INET6. Noticed by Jiri Moravec . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 86577c661bc01d5c4e477d74567df4470d6c5138 Author: Patrick McHardy Date: Thu Feb 7 17:56:34 2008 -0800 [NETFILTER]: nf_conntrack: fix ct_extend ->move operation The ->move operation has two bugs: - It is called with the same extension as source and destination, so it doesn't update the new extension. - The address of the old extension is calculated incorrectly, instead of (void *)ct->ext + ct->ext->offset[i] it uses ct->ext + ct->ext->offset[i]. Fixes a crash on x86_64 reported by Chuck Ebbert and Thomas Woerner . Tested-by: Thomas Woerner Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b2155e7f70b3f058efe94c0c459db023b05057bd Author: Jozsef Kadlecsik Date: Thu Feb 7 17:54:56 2008 -0800 [NETFILTER]: nf_conntrack: TCP conntrack reopening fix TCP connection tracking in netfilter did not handle TCP reopening properly: active close was taken into account for one side only and not for any side, which is fixed now. The patch includes more comments to explain the logic how the different cases are handled. The bug was discovered by Jeff Chua. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3adbefee6fd58a061b2bf1df4f3769701860fc62 Author: Ingo Molnar Date: Tue Feb 5 17:57:39 2008 -0800 SLUB: fix checkpatch warnings fix checkpatch --file mm/slub.c errors and warnings. $ q-code-quality-compare errors lines of code errors/KLOC mm/slub.c [before] 22 4204 5.2 mm/slub.c [after] 0 4210 0 no code changed: text data bss dec hex filename 22195 8634 136 30965 78f5 slub.o.before 22195 8634 136 30965 78f5 slub.o.after md5: 93cdfbec2d6450622163c590e1064358 slub.o.before.asm 93cdfbec2d6450622163c590e1064358 slub.o.after.asm [clameter: rediffed against Pekka's cleanup patch, omitted moves of the name of a function to the start of line] Signed-off-by: Ingo Molnar Signed-off-by: Christoph Lameter commit a76d354629ea46c449705970a2c0b9e9090d6f03 Author: Nick Piggin Date: Mon Jan 7 23:20:27 2008 -0800 Use non atomic unlock Slub can use the non-atomic version to unlock because other flags will not get modified with the lock held. Signed-off-by: Nick Piggin Acked-by: Christoph Lameter Signed-off-by: Andrew Morton commit 8ff12cfc009a2a38d87fa7058226fe197bb2696f Author: Christoph Lameter Date: Thu Feb 7 17:47:41 2008 -0800 SLUB: Support for performance statistics The statistics provided here allow the monitoring of allocator behavior but at the cost of some (minimal) loss of performance. Counters are placed in SLUB's per cpu data structure. The per cpu structure may be extended by the statistics to grow larger than one cacheline which will increase the cache footprint of SLUB. There is a compile option to enable/disable the inclusion of the runtime statistics and its off by default. The slabinfo tool is enhanced to support these statistics via two options: -D Switches the line of information displayed for a slab from size mode to activity mode. -A Sorts the slabs displayed by activity. This allows the display of the slabs most important to the performance of a certain load. -r Report option will report detailed statistics on Example (tbench load): slabinfo -AD ->Shows the most active slabs Name Objects Alloc Free %Fast skbuff_fclone_cache 33 111953835 111953835 99 99 :0000192 2666 5283688 5281047 99 99 :0001024 849 5247230 5246389 83 83 vm_area_struct 1349 119642 118355 91 22 :0004096 15 66753 66751 98 98 :0000064 2067 25297 23383 98 78 dentry 10259 28635 18464 91 45 :0000080 11004 18950 8089 98 98 :0000096 1703 12358 10784 99 98 :0000128 762 10582 9875 94 18 :0000512 184 9807 9647 95 81 :0002048 479 9669 9195 83 65 anon_vma 777 9461 9002 99 71 kmalloc-8 6492 9981 5624 99 97 :0000768 258 7174 6931 58 15 So the skbuff_fclone_cache is of highest importance for the tbench load. Pretty high load on the 192 sized slab. Look for the aliases slabinfo -a | grep 000192 :0000192 <- xfs_btree_cur filp kmalloc-192 uid_cache tw_sock_TCP request_sock_TCPv6 tw_sock_TCPv6 skbuff_head_cache xfs_ili Likely skbuff_head_cache. Looking into the statistics of the skbuff_fclone_cache is possible through slabinfo skbuff_fclone_cache ->-r option implied if cache name is mentioned .... Usual output ... Slab Perf Counter Alloc Free %Al %Fr -------------------------------------------------- Fastpath 111953360 111946981 99 99 Slowpath 1044 7423 0 0 Page Alloc 272 264 0 0 Add partial 25 325 0 0 Remove partial 86 264 0 0 RemoteObj/SlabFrozen 350 4832 0 0 Total 111954404 111954404 Flushes 49 Refill 0 Deactivate Full=325(92%) Empty=0(0%) ToHead=24(6%) ToTail=1(0%) Looks good because the fastpath is overwhelmingly taken. skbuff_head_cache: Slab Perf Counter Alloc Free %Al %Fr -------------------------------------------------- Fastpath 5297262 5259882 99 99 Slowpath 4477 39586 0 0 Page Alloc 937 824 0 0 Add partial 0 2515 0 0 Remove partial 1691 824 0 0 RemoteObj/SlabFrozen 2621 9684 0 0 Total 5301739 5299468 Deactivate Full=2620(100%) Empty=0(0%) ToHead=0(0%) ToTail=0(0%) Descriptions of the output: Total: The total number of allocation and frees that occurred for a slab Fastpath: The number of allocations/frees that used the fastpath. Slowpath: Other allocations Page Alloc: Number of calls to the page allocator as a result of slowpath processing Add Partial: Number of slabs added to the partial list through free or alloc (occurs during cpuslab flushes) Remove Partial: Number of slabs removed from the partial list as a result of allocations retrieving a partial slab or by a free freeing the last object of a slab. RemoteObj/Froz: How many times were remotely freed object encountered when a slab was about to be deactivated. Frozen: How many times was free able to skip list processing because the slab was in use as the cpuslab of another processor. Flushes: Number of times the cpuslab was flushed on request (kmem_cache_shrink, may result from races in __slab_alloc) Refill: Number of times we were able to refill the cpuslab from remotely freed objects for the same slab. Deactivate: Statistics how slabs were deactivated. Shows how they were put onto the partial list. In general fastpath is very good. Slowpath without partial list processing is also desirable. Any touching of partial list uses node specific locks which may potentially cause list lock contention. Signed-off-by: Christoph Lameter commit 1f84260c8ce3b1ce26d4c1d6dedc2f33a3a29c0c Author: Christoph Lameter Date: Mon Jan 7 23:20:30 2008 -0800 SLUB: Alternate fast paths using cmpxchg_local Provide an alternate implementation of the SLUB fast paths for alloc and free using cmpxchg_local. The cmpxchg_local fast path is selected for arches that have CONFIG_FAST_CMPXCHG_LOCAL set. An arch should only set CONFIG_FAST_CMPXCHG_LOCAL if the cmpxchg_local is faster than an interrupt enable/disable sequence. This is known to be true for both x86 platforms so set FAST_CMPXCHG_LOCAL for both arches. Currently another requirement for the fastpath is that the kernel is compiled without preemption. The restriction will go away with the introduction of a new per cpu allocator and new per cpu operations. The advantages of a cmpxchg_local based fast path are: 1. Potentially lower cycle count (30%-60% faster) 2. There is no need to disable and enable interrupts on the fast path. Currently interrupts have to be disabled and enabled on every slab operation. This is likely avoiding a significant percentage of interrupt off / on sequences in the kernel. 3. The disposal of freed slabs can occur with interrupts enabled. The alternate path is realized using #ifdef's. Several attempts to do the same with macros and inline functions resulted in a mess (in particular due to the strange way that local_interrupt_save() handles its argument and due to the need to define macros/functions that sometimes disable interrupts and sometimes do something else). [clameter: Stripped preempt bits and disabled fastpath if preempt is enabled] Signed-off-by: Christoph Lameter Reviewed-by: Pekka Enberg Cc: Signed-off-by: Andrew Morton commit 683d0baad3d6e18134927f8c28ee804dbe10fe71 Author: Christoph Lameter Date: Mon Jan 7 23:20:29 2008 -0800 SLUB: Use unique end pointer for each slab page. We use a NULL pointer on freelists to signal that there are no more objects. However the NULL pointers of all slabs match in contrast to the pointers to the real objects which are in different ranges for different slab pages. Change the end pointer to be a pointer to the first object and set bit 0. Every slab will then have a different end pointer. This is necessary to ensure that end markers can be matched to the source slab during cmpxchg_local. Bring back the use of the mapping field by SLUB since we would otherwise have to call a relatively expensive function page_address() in __slab_alloc(). Use of the mapping field allows avoiding a call to page_address() in various other functions as well. There is no need to change the page_mapping() function since bit 0 is set on the mapping as also for anonymous pages. page_mapping(slab_page) will therefore still return NULL although the mapping field is overloaded. Signed-off-by: Christoph Lameter Cc: Pekka Enberg Signed-off-by: Andrew Morton commit 5bb983b0cce9b7b281af15730f7019116dd42568 Author: Christoph Lameter Date: Thu Feb 7 17:47:41 2008 -0800 SLUB: Deal with annoying gcc warning on kfree() gcc 4.2 spits out an annoying warning if one casts a const void * pointer to a void * pointer. No warning is generated if the conversion is done through an assignment. Signed-off-by: Christoph Lameter commit e84542f5db655d1ce7b4890832f0e5d19aae965d Author: Jean Delvare Date: Sat Jan 5 15:40:38 2008 +0100 hwmon: (lm80) Add individual alarm files The new libsensors needs these individual alarm files. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit f8181762a04a3ff7878d3ec5c013bce9c771d4f7 Author: Jean Delvare Date: Sat Jan 5 15:37:05 2008 +0100 hwmon: (lm80) De-macro the sysfs callbacks Use standard dynamic sysfs callbacks instead of macro-generated functions. This makes the code more readable, and the binary smaller (by about 34%). As a side note, another benefit of this type of cleanup is that they shrink the build time. For example, this cleanup saves about 29% of the lm80 driver build time. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 6cc37ee536bb90c428c8a7cde91f33ffe1fd27bd Author: Jean Delvare Date: Sat Jan 5 15:35:09 2008 +0100 hwmon: (lm80) Various cleanups * Drop trailing whitespace * Fold a long line * Rename new_client to client * Drop redundant initializations to 0 * Drop bogus comment Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 1c1381076f8c6cf0a2c9918194e3fa6369cdf06a Author: Jean Delvare Date: Thu Jan 3 23:04:55 2008 +0100 hwmon: (w83627hf) Refactor beep enable handling We can handle the beep enable bit as any other beep mask bit for slightly smaller code. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit e3604c626cdcddf37bf5c9663ae75b79dad40000 Author: Jean Delvare Date: Thu Jan 3 23:00:30 2008 +0100 hwmon: (w83627hf) Add individual alarm and beep files The new libsensors needs these individual alarm and beep files. The code was copied from the w83781d driver. I've tested the alarm files on a W83627THF. I couldn't test the beep files as the system in question doesn't have a speaker. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit ef878b11ba245d14b7db7816217a825d6a894182 Author: Jean Delvare Date: Thu Jan 3 22:54:13 2008 +0100 hwmon: (w83627hf) Enable VBAT monitoring If VBAT monitoring is disabled, enable it. Bug reported on the lm-sensors trac system: http://lm-sensors.org/ticket/2282 This is the exact same patch that was applied to the w83627ehf driver 6 months ago. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit cbe311f2a40b8430d8e01b97c11e9e95d888430b Author: Jean Delvare Date: Thu Jan 3 21:22:44 2008 +0100 hwmon: (w83627ehf) The W83627DHG has 8 VID pins While the W83627EHF/EHG has only 6 VID pins, the W83627DHG has 8 VID pins, to support VRD 11.0. Add support for this. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 636866b9f0a72583d2361a897668eb19ff37ded6 Author: Jean Delvare Date: Thu Jan 3 23:24:24 2008 +0100 hwmon: (asb100) Add individual alarm files The new libsensors needs these individual alarm files. I did not create alarm files for in5 and in6 as these alarms are documented as not working. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit fad33c5fdae73a75af2f8ecf69147011bd57e28c Author: Jean Delvare Date: Thu Jan 3 23:21:07 2008 +0100 hwmon: (asb100) De-macro the sysfs callbacks Use standard dynamic sysfs callbacks instead of macro-generated wrappers. This makes the code more readable, and the binary smaller (by about 12%). Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit af221931519571028c98cf7c7030dd973a524011 Author: Jean Delvare Date: Thu Jan 3 23:15:49 2008 +0100 hwmon: (asb100) Various cleanups * Drop history, it's incomplete and doesn't belong there * Drop unused version number * Drop trailing spaces * Coding style fixes * Fold long lines * Rename new_client to client * Drop redundant initializations to 0 Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit 8f74efe81d122c071410fd74f42879ef81439fa4 Author: Jean Delvare Date: Sat Dec 1 11:25:33 2007 +0100 hwmon: VRM is not written to registers What was true of reading the VRM value is also true of writing it: not being a register value, it doesn't need hardware access, so we don't need a reference to the i2c client. This allows for a minor code cleanup. As gcc appears to be smart enough to simplify the generated code by itself, this cleanup only affects the source code, the generated binaries are unchanged. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 345a22245451c0fd2c44b2afb5dfb75628b487fa Author: Juerg Haefliger Date: Sat Jan 26 08:54:24 2008 -0800 hwmon: (dme1737) fix Super-IO device ID override The dme1737 has a second place where the Super-IO device ID is checked. This has been missed by Jean's initial patch that adds support for user-controlled Super-IO device ID override. This patch fixes this issue. Signed-off-by: Juerg Haefliger Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit ff8421f733c91a70d8edadf9ce2842fca66172fa Author: Juerg Haefliger Date: Sun Jan 27 16:39:46 2008 -0800 hwmon: (dme1737) fix divide-by-0 This patch fixes a possible divide-by-0 and a minor bug in the FAN_FROM_REG macro (in TPC mode). Signed-off-by: Juerg Haefliger Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit cb96b8ca11644ee1223e0fb3f1f629ead15203cb Author: Sergey Vlasov Date: Tue Jan 15 21:57:44 2008 +0300 hwmon: (abituguru3) Add AUX4 fan input for Abit IP35 Pro Abit IP35 Pro has 6 fan connectors (CPU, SYS and AUX1-4), but the entry for AUX4 was missing from the table. Signed-off-by: Sergey Vlasov Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit 5812f9283e621370a2d65282b7bcc942bf2c3f1c Author: Steve Hardy Date: Tue Jan 22 23:00:02 2008 +0000 hwmon: Add support for Texas Instruments/Burr-Brown ADS7828 Signed-off-by: Steve Hardy Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 360f9452def0be1d6e29cee07a0f0640cd1d7b22 Author: Jean Delvare Date: Sun Jan 6 15:49:19 2008 +0100 hwmon: (adm9240) Add individual alarm files The new libsensors needs these individual alarm files. Signed-off-by: Jean Delvare Tested-by: Grant Coady Signed-off-by: Mark M. Hoffman commit 1f52af0f6940dd4ab96edb9bbc56012ecc6c67e0 Author: Jean Delvare Date: Thu Jan 3 23:35:33 2008 +0100 hwmon: (lm77) Add individual alarm files The new libsensors needs this. As the old library never had support for the lm77 driver, I even dropped the legacy "alarms" file. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit 7b501b1f53605bec17454dd8bbdbbf3f57a7cf32 Author: Jean Delvare Date: Thu Jan 3 19:44:09 2008 +0100 hwmon: Discard useless I2C driver IDs Many I2C hwmon drivers define a driver ID but no other code references these, meaning that they are useless. Discard them, along with a few IDs which are defined but never used at all. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 455f791ea3e33a274c098b4a8c2e35d4d1a6d518 Author: Jean Delvare Date: Mon Dec 3 23:28:42 2007 +0100 hwmon: (lm85) Make the pwmN_enable files writable Make the pwmN_enable files writable. This makes it possible to use standard fan speed control tools (pwmconfig, fancontrol) with the lm85 driver. I left the non-standard pwmN_auto_channels files in place, as they give additional control for the automatic mode, and some users might be used to them by now. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 4b4df95dccdd2c6a573c9dedefb747ed663c074d Author: Jean Delvare Date: Mon Dec 3 23:23:21 2007 +0100 hwmon: (lm85) Return standard values in pwmN_enable The values returned by the lm85 driver in pwmN_enable sysfs files do not match the standard. Fix that. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 050ab8789869eabb6b2e066aca0d13d86013c315 Author: Jean Delvare Date: Sun Dec 2 23:42:24 2007 +0100 hwmon: (adm1031) Add individual alarm and fault files The new libsensors needs these. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit c801082d7d41928b2348507ecdc841d5ebad3490 Author: Jean Delvare Date: Sun Dec 2 23:39:38 2007 +0100 hwmon: (adm1031) Get rid of macro-generated wrappers Use the standard dynamic sysfs callbacks instead of macro-generated wrappers. It makes the code more simple and the binary smaller (-8% on my system.) Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 6d6006b8db5ead05053ccfbc45ab7e5c600a81b1 Author: Jean Delvare Date: Sun Dec 2 23:33:57 2007 +0100 hwmon: (adm1031) Various cleanups * Rename new_client to client * Drop redundant initializations to 0 * Drop trailing space * Other whitespace cleanups * Split/fold a few long lines * Constify static data * Optimizations in set_fan_div() Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 38a1f0e9aed014be66c474ecd9fe8513646de833 Author: Jean Delvare Date: Sun Dec 2 23:32:42 2007 +0100 hwmon: (adm1031) Fix register overwrite in set_fan_div() Don't rely on the register cache when setting a new fan clock divider. For one thing, the cache might not have been initialized at all if the driver has just been loaded. For another, the cached values may be old and you never know what can happen in the driver's back. Also invalidate the cache instead of trying to adjust the measured fan speed: the whole point of changing the clock divider is to get a better reading. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit d5b0b5d62823f08ab4988e1b179fd5a9bddced31 Author: Jean Delvare Date: Fri Dec 14 14:41:53 2007 +0100 hwmon: (it87) Delete pwmN_freq files on driver removal In commit f8d0c19a93cea3a26a90f2462295e1e01a4cd250 I forgot to delete the pwmN_freq files on driver removal, here's the fix. Signed-off-by: Jean Delvare Acked-by: Riku Voipio Signed-off-by: Mark M. Hoffman commit 293c09971631d22f8e91402f58955ccaada9dbde Author: Jean Delvare Date: Fri Nov 30 23:52:44 2007 +0100 hwmon: (w83781d) Misc cleanups * Drop unused defines * Drop unused driver ID * Remove trailing whitespace Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 05663368d2138c14fa1b9aa8eeca4ca9a33d7c77 Author: Jean Delvare Date: Fri Nov 30 23:51:24 2007 +0100 hwmon: (w83781d) Drop W83627HF support The W83627HF hardware monitoring features are supported by the w83627hf driver for several years now. Support by the w83781d has been advertised as deprecated 6 months ago, it's about time to see it go. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 5b34dbcd88251508d02e48ad9b0f9b8232a13ee0 Author: Jean Delvare Date: Thu Nov 29 23:47:54 2007 +0100 hwmon: (adm1026) Don't create files for missing inputs On the ADM1026, pins 27 and 28 can be used for two different functions: either temp3, or in8+in9. We should only create the sysfs files for the function that is configured, otherwise it is confusing for the user. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit f67fdabfb94b0bb96623a4b48d22be5329a06277 Author: Jean Delvare Date: Sat Dec 1 11:24:17 2007 +0100 hwmon: (adm1026) More cleanups (updated) Various cleanups: * Drop an unused define. * Drop unused struct member "type". * Drop one useless instruction. * Drop redundant initializations to 0. * Rename new_client to client. * Drop a useless cast. * Minor code cleanup. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit cb01a2312f56c93d2740e827718966b92b7cbb91 Author: Jean Delvare Date: Thu Nov 29 23:46:42 2007 +0100 hwmon: (adm1026) Whitespace cleanups Whitespace cleanups only: * Trim trailing whitespace. * Use tabs for indentation and alignment. * Add missing space after commas. * Remove extra spaces. No functional change, binary is identical before and after this patch. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit a9273cb8eea503f6b8e28bd5f613962ecba278c5 Author: Jean Delvare Date: Thu Nov 29 23:45:22 2007 +0100 hwmon: (adm1026) Add individual alarm files The new libsensors needs these. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 0124dd78e28eec6c030f8d02929e81f05e1ce4e6 Author: Jean Delvare Date: Sun Nov 25 16:16:41 2007 +0100 hwmon: (it87) Add individual alarm files The new libsensors needs this. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit f1d8e33263abb6a3a2265ba59344c7eb002b2389 Author: Jean Delvare Date: Sun Nov 25 16:14:44 2007 +0100 hwmon: (it87) Discard a dead e-mail address Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit fe03f28cf35bf8dd0d3cba5e0c00a22530b73bfb Author: Darrick J. Wong Date: Wed Dec 19 14:11:25 2007 -0800 hwmon: (adt7470) Support per-sensor alarm files Remove the old alarms hack and replace it with per-sensor alarm files. Signed-off-by: Darrick J. Wong Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 7845cd791d87b9d5e6171452143dbef15aba00dc Author: Hans de Goede Date: Thu Dec 20 16:42:59 2007 +0100 hwmon: (fschmd) Read voltage scaling factors from BIOS DMI This patch adds support to the fschmd driver for reading the voltage scaling factors from BIOS DMI tables, as specified in the Siemens datasheet. Signed-off-by: Hans de Goede Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 67b671bceb4a8340a30929e9642620d99ed5ad76 Author: Jean Delvare Date: Thu Dec 6 23:13:42 2007 +0100 hwmon: Let the user override the detected Super-I/O device ID While it is possible to force SMBus-based hardware monitoring chip drivers to drive a not officially supported device, we do not have this possibility for Super-I/O-based drivers. That's unfortunate because sometimes newer chips are fully compatible and just forcing the driver to load would work. Instead of that we have to tell the users to recompile the kernel driver, which isn't an easy task for everyone. So, I propose that we add a module parameter to all Super-I/O based hardware monitoring drivers, letting advanced users force the driver to load on their machine. The user has to provide the device ID of a supposedly compatible device. This requires looking at the source code or a datasheet, so I am confident that users can't randomly force a driver without knowing what they are doing. Thus this should be relatively safe. As you can see from the code, the implementation is pretty simple and unintrusive. Signed-off-by: Jean Delvare Acked-by: Hans de Goede Signed-off-by: Mark M. Hoffman commit b20ff13a6ad64f07ce78c75e6a335c185270d73c Author: Joe Perches Date: Mon Nov 19 17:48:07 2007 -0800 hwmon: (vt8231) Add missing "space" Signed-off-by: Joe Perches Signed-off-by: Mark M. Hoffman commit ec1d86c457c0d1a530914290d0bbd3ecce022272 Author: Jean Delvare Date: Sun Nov 18 23:46:10 2007 +0100 hwmon: Update the lm-sensors website address It's about time to reflect the move of the lm-sensors project to lm-sensors.org. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit e86a776093cffef993841ab7dbb4b1611ebf9686 Author: Jean Delvare Date: Sun Nov 4 23:45:41 2007 +0100 hwmon: (gl520sm) Add individual alarm and beep files libsensors 3.0 needs these. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 86d47f127d740b891da29daff5799d91b6bd2e17 Author: Jean Delvare Date: Sun Nov 4 23:45:14 2007 +0100 hwmon: (gl520sm) De-macro the sysfs callbacks Use standard dynamic sysfs callbacks instead of macro-generated wrappers. This makes the code more readable, and the binary smaller (by about 11%). Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 8b4b0ab41bb0a5e72b6fceb9a7aff303c88960b4 Author: Jean Delvare Date: Sun Nov 4 23:44:52 2007 +0100 hwmon: (gl520sm) Put register addresses in arrays This allows for some code refactoring, making the binary slightly smaller. This is also required to use dynamic sysfs callbacks for voltage and temperature files. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit f28dc2f78bbcbf07b8a084fcd89cf6b4256f0664 Author: Jean Delvare Date: Sun Nov 4 23:44:23 2007 +0100 hwmon: (gl520sm) Various cleanups * Drop trailing spaces * Drop unused driver ID * Drop stray backslashes in macros * Rename new_client to client * Drop redundant initializations to 0 Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit e0ae87a49cf3e721313bf8942299f3f140c6963c Author: Jean Delvare Date: Sun Nov 25 21:58:21 2007 +0100 hwmon: (lm90) Use generic i2c reads during detection As indirectly reported by Olof Johansson, the lm90 driver uses a custom i2c read function even during detection, at which point we don't know yet what device we're talking with. It would make more sense to only use the generic i2c read function at this point, so that we don't log irrelevant errors on misdetection. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 72240307e988627df46553846936aa89a0f6a283 Author: Jean Delvare Date: Tue Oct 23 14:02:24 2007 +0200 hwmon: (gl518sm) Fix the reported fan speed The fan speeds reported by the gl518sm driver are twice as much as they should. It's currently reporting the number of pulses per minute, not rotations per minute, while typical fans emit two pulses per rotation. This explains why all reports with this driver had very high speed values (between 9000 to 12000 RPM). Odd that nobody ever actually complained about this bug. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 21df67b191fd612fa28aedd39ec1414d8effc454 Author: Jean Delvare Date: Mon Oct 22 17:47:58 2007 +0200 hwmon: (gl518sm) Report error on invalid fan div value If the user attempts to write a fan clock divider not supported by the chip, an error should be returned. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit da6848da293b88e5ac46f5ecc6ae41122d5f680b Author: Jean Delvare Date: Mon Oct 22 17:47:16 2007 +0200 hwmon: (gl518sm) Add individual alarm and beep files The new libsensors needs these. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 28292e79dcecac3688530a7f78d1930b78fac96b Author: Jean Delvare Date: Mon Oct 22 17:46:42 2007 +0200 hwmon: (gl518sm) Refactor fan functions This makes the code more readable and the binary smaller (by 5% or so). Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 5314f5c1abf03a56c6607ddef96b7a5607bee2f8 Author: Jean Delvare Date: Mon Oct 22 17:46:17 2007 +0200 hwmon: (gl518sm) Don't create sysfs files for missing features The early revisions of the GL518SM do not report voltage values for the first 3 voltage channels. We should not create sysfs attributes for these missing features. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit a5955ed27497385cc491ecbe40af45951e830881 Author: Jean Delvare Date: Mon Oct 22 17:45:08 2007 +0200 hwmon: (gl518sm) Various cleanups * Drop history, it doesn't belong there * Drop unused struct member * Drop bogus struct member comment * Drop unused driver ID * Rename new_client to client * Drop redundant initializations to 0 * Drop useless cast * Drop trailing space * Fix comment * Drop duplicate comment Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 7dcf9a31ef50367e474e5e320e8ec5e0a8b9d2f0 Author: Jean Delvare Date: Sat Nov 24 17:45:09 2007 -0500 hwmon: (fschmd) Discard non-ASCII characters Somehow non-ASCII characters managed to sneak into the fschmd driver. Kick them out. Signed-off-by: Jean Delvare Cc: Hans de Goede Signed-off-by: Mark M. Hoffman commit 4e9527998f8673b1e3bb6f9645b9700e7973581e Author: Jean Delvare Date: Wed Oct 10 21:14:11 2007 +0200 hwmon: (adm1025) Various cleanups * Whitespace cleanups * Constify scaling constants * Fold long lines * Drop redundant initializations to 0 * Rename new_client to just client * Use sysfs_create_group() * Drop a useless comment Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit bb081300326335594c273107fcd4e5bdad765ae7 Author: Jean Delvare Date: Wed Oct 10 21:11:52 2007 +0200 hwmon: (adm1025) Add individual alarm files The future libsensors needs these individual alarm and fault files. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit d8543e7f30fe9306c8d5a16086bf75f71ab79acf Author: Jean Delvare Date: Wed Oct 10 21:11:01 2007 +0200 hwmon: (adm1025) Use dynamic sysfs callbacks This lets us get rid of macro-generated functions and shrinks the driver size by about 30%. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit c7fa373796ea685874ca9525eeb3d0d0951e511b Author: Jean Delvare Date: Tue Oct 9 15:22:22 2007 +0200 hwmon: (lm87) Add support for the Analog Devices ADM1024 It happens that the Analog Devices ADM1024 is fully compatible with the National Semiconductor LM87, so support for the former can easily be added to the lm87 driver. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 85f03bccd6e0e2ac6ccf017d4bcd5d74bb87a671 Author: Kevin Lo Date: Fri Nov 23 09:31:52 2007 +0800 hwmon: Add support for Winbond W83L786NG/NR Signed-off-by: Kevin Lo Signed-off-by: Mark M. Hoffman commit ce9c2f449b9e6b68d3a71ba146d64c44c8945d8d Author: Robert P. J. Day Date: Tue Nov 6 03:21:42 2007 -0500 hwmon: (adt7470) Replace power-of-two test Since already supplies a power-of-two test, there's no point in having this source file redefine it again. Signed-off-by: Robert P. J. Day Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 5aebefb08682ebd67ea0b902950d00169e1451cb Author: Nicolas Kaiser Date: Wed Nov 7 13:28:59 2007 +0100 hwmon: (w83793) remove duplicated defines Remove duplicated defines. Signed-off-by: Nicolas Kaiser Acked-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 6722feada7f6213ba06d510ef853e57ddcd59dae Author: Jean Delvare Date: Sun Oct 7 12:25:46 2007 +0200 hwmon: (lm78/w83781d) Probe fewer I2C addresses We've never seen any device supported by the lm78 or w83781d driver at addresses 0x20-0x27, so let's stop probing these addresses. Extra probes cost time, and have potential for confusing or misdetecting other I2C devices. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 7fce084a0b3e2bb8caef919f8f36065953655bb5 Author: Jean Delvare Date: Sat Nov 3 17:29:20 2007 +0100 dmi: Let drivers walk the DMI table Let drivers walk the DMI table for their own needs. Some drivers need data stored in OEM-specific DMI records for proper operation. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit 099dc4fb62653f6019d78db55fba7a18ef02d65b Author: David Sterba Date: Thu Feb 7 10:57:12 2008 +0100 ipwireless: driver for PC Card 3G/UMTS modem The device is manufactured by IPWireless. In some countries (for example Czech Republic, T-Mobile ISP) this card is shipped for service called UMTS 4G. It's a piece of PCMCIA "4G" UMTS PPP networking hardware that presents itself as a serial character device (i.e. looks like usual modem to userspace, accepts AT commands, etc). Rewieved-by: Jiri Slaby Signed-off-by: Ben Martel Signed-off-by: Stephen Blackheath Signed-off-by: David Sterba Signed-off-by: Jiri Kosina Signed-off-by: Linus Torvalds commit 3211e4eb5834924dd5beac8956c0bc0bfb755c37 Author: James Lentini Date: Mon Jan 28 12:09:28 2008 -0500 SUNRPC xptrdma: simplify build configuration Trond and Bruce, This is a patch for 2.6.25. This is the same version that was sent out on December 12 for review (no comments to date). To simplify the RPC/RDMA client and server build configuration, make SUNRPC_XPRT_RDMA a hidden config option that continues to depend on SUNRPC and INFINIBAND. The value of SUNRPC_XPRT_RDMA will be: - N if either SUNRPC or INFINIBAND are N - M if both SUNRPC and INFINIBAND are on (M or Y) and at least one is M - Y if both SUNRPC and INFINIBAND are Y In 2.6.25, all of the RPC/RDMA related files are grouped in net/sunrpc/xprtrdma and the net/sunrpc/xprtrdma/Makefile builds both the client and server RPC/RDMA support using this config option. Signed-off-by: James Lentini Signed-off-by: Trond Myklebust commit 8e31e607ea050c0df1483d8b6cdd5b1395c03cbe Author: Salyzyn, Mark Date: Wed Feb 6 13:54:12 2008 -0800 [SCSI] aacraid: do not set valid bit in sense information Luben Tuikov [mailto:ltuikov@yahoo.com] sez: > Just as in your case and Tony's case, which I presume > uses the same RAID firmware vendor, it would've > probably been better if the RAID firmware vendor > fixed the firmware to not set the VALID bit if the > INFORMATION field is not valid. Point taken regarding the aacraid driver. Dropped the VALID bit, and then did some cleanup/simplification of the set_sense procedure and the associated parameters. Mike did some preliminary tests when the VALID bit was dropped before the 'Re: [PATCH] [SCSI] sd: make error handling more robust' patches came on the scene. The change in the SCSI subsystem does make this enclosed aacraid patch unnecessary, so this aacraid patch is merely post battle ground cleanup. If the simplification is an issue, repugnant, too much for a back-port to the stable trees or clouds the point, this patch could be happily distilled down to: diff -ru a/drivers/scsi/aacraid/aachba.c b/drivers/scsi/aacraid/aachba.c --- a/drivers/scsi/aacraid/aachba.c 2008-02-06 16:26:45.834938955 -0500 +++ b/drivers/scsi/aacraid/aachba.c 2008-02-06 16:32:01.109035329 -0500 @@ -865,7 +865,7 @@ u32 residue) { - sense_buf[0] = 0xF0; /* Sense data valid, err code 70h (current error) */ + sense_buf[0] = 0x70; /* Sense data invalid, err code 70h (current error) */ sense_buf[1] = 0; /* Segment number, always zero */ if (incorrect_length) { Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 5d47a35600270e7115061cb1320ee60ae9bcb6b8 Author: Trond Myklebust Date: Thu Feb 7 17:24:07 2008 -0500 NFS: Fix a potential file corruption issue when writing If the inode is flagged as having an invalid mapping, then we can't rely on the PageUptodate() flag. Ensure that we don't use the "anti-fragmentation" write optimisation in nfs_updatepage(), since that will cause NFS to write out areas of the page that are no longer guaranteed to be up to date. A potential corruption could occur in the following scenario: client 1 client 2 =============== =============== fd=open("f",O_CREAT|O_WRONLY,0644); write(fd,"fubar\n",6); // cache last page close(fd); fd=open("f",O_WRONLY|O_APPEND); write(fd,"foo\n",4); close(fd); fd=open("f",O_WRONLY|O_APPEND); write(fd,"bar\n",4); close(fd); ----- The bug may lead to the file "f" reading 'fubar\n\0\0\0\nbar\n' because client 2 does not update the cached page after re-opening the file for write. Instead it keeps it marked as PageUptodate() until someone calls invaldate_inode_pages2() (typically by calling read()). Signed-off-by: Trond Myklebust commit 9927c68864e9c39cc317b4f559309ba29e642168 Author: James Bottomley Date: Sun Feb 3 15:48:56 2008 -0600 [SCSI] ses: add new Enclosure ULD This adds support to SCSI for enclosure services devices. It also makes use of the enclosure services added in an earlier patch to display the enclosure topology in sysfs. At the moment, the enclosures are SAS specific, but if anyone actually has a non-SAS enclosure that follows the SES-2 standard, we can add that as well. On my Vitesse based system, the enclosures show up like this: sparkweed:~# ls -l /sys/class/enclosure/0\:0\:1\:0/ total 0 -r--r--r-- 1 root root 4096 2008-02-03 15:44 components lrwxrwxrwx 1 root root 0 2008-02-03 15:44 device -> ../../../devices/pci0000:01/0000:01:02.0/host0/port-0:0/expander-0:0/port-0:0:12/end_device-0:0:12/target0:0:1/0:0:1:0 drwxr-xr-x 2 root root 0 2008-02-03 15:44 SLOT 000 drwxr-xr-x 2 root root 0 2008-02-03 15:44 SLOT 001 drwxr-xr-x 2 root root 0 2008-02-03 15:44 SLOT 002 drwxr-xr-x 2 root root 0 2008-02-03 15:44 SLOT 003 drwxr-xr-x 2 root root 0 2008-02-03 15:44 SLOT 004 drwxr-xr-x 2 root root 0 2008-02-03 15:44 SLOT 005 lrwxrwxrwx 1 root root 0 2008-02-03 15:44 subsystem -> ../../enclosure --w------- 1 root root 4096 2008-02-03 15:44 uevent And the individual occupied slots like this: sparkweed:~# ls -l /sys/class/enclosure/0\:0\:1\:0/SLOT\ 001/ total 0 -rw-r--r-- 1 root root 4096 2008-02-03 15:45 active lrwxrwxrwx 1 root root 0 2008-02-03 15:45 device -> ../../../../devices/pci0000:01/0000:01:02.0/host0/port-0:0/expander-0:0/port-0:0:11/end_device-0:0:11/target0:0:0/0:0:0:0 -rw-r--r-- 1 root root 4096 2008-02-03 15:45 fault -rw-r--r-- 1 root root 4096 2008-02-03 15:45 locate -rw-r--r-- 1 root root 4096 2008-02-03 15:45 status lrwxrwxrwx 1 root root 0 2008-02-03 15:45 subsystem -> ../../../enclosure_component -r--r--r-- 1 root root 4096 2008-02-03 15:45 type --w------- 1 root root 4096 2008-02-03 15:45 uevent You can flash the various blinky lights by echoing to the fault and locate files. >From the device's point of view, you can see it has an enclosure like this: sparkweed:~# ls /sys/class/scsi_disk/0\:0\:0\:0/device/ block:sda generic queue_depth state bsg:0:0:0:0 iocounterbits queue_type subsystem bus iodone_cnt rescan timeout delete ioerr_cnt rev type device_blocked iorequest_cnt scsi_device:0:0:0:0 uevent driver modalias scsi_disk:0:0:0:0 vendor enclosure_component:SLOT 001 model scsi_generic:sg0 evt_media_change power scsi_level Note the enclosure_component:SLOT 001 which shows where in the enclosure this device fits. The astute will notice that I'm using SCSI VPD Inquiries to identify the devices. This, unfortunately, won't work for SATA devices unless we do some really nasty hacking about on the SAT because the only think that knows the SAS addresses for SATA devices is libsas, not libata where the SAT resides. Signed-off-by: James Bottomley commit d569d5bb3fd96d2907acaddd7c4ea5cb07d02ab8 Author: James Bottomley Date: Sun Feb 3 15:40:56 2008 -0600 [SCSI] enclosure: add support for enclosure services The enclosure misc device is really just a library providing sysfs support for physical enclosure devices and their components. Signed-off-by: James Bottomley commit 38582a62ecd337de4212004c7d4844899dc57890 Author: James Bottomley Date: Wed Feb 6 13:01:58 2008 -0600 [SCSI] sr: fix test unit ready responses Commit 210ba1d1724f5c4ed87a2ab1a21ca861a915f734 updated sr.c to use the scsi_test_unit_ready() function. Unfortunately, this has the wrong characteristic of eating NOT_READY returns which sr.c relies on for tray status. Fix by rolling an internal sr_test_unit_ready() that doesn't do this. Tested-by: Daniel Drake Signed-off-by: James Bottomley commit d6a451dd4d7ec805f9a21bb1994ce8ceaecc8fe6 Author: Roel Kluin <12o3l@tiscali.nl> Date: Wed Feb 6 19:21:07 2008 +0100 [SCSI] u14-34f: fix data direction bug Direction of data transfer 'DMA_FROM_DEVICE' was tested twice. DTD_OUT means transfer from host to device. This should occur when the direction of data transfer (sc_data_direction) is 'DMA_TO_DEVICE'. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: James Bottomley commit 62e9f5c4671a3026639b01ec84a3063f03bead4c Author: Salyzyn, Mark Date: Wed Feb 6 09:00:46 2008 -0800 [SCSI] aacraid: pci_set_dma_max_seg_size opened up for late model controllers This patch ensures that the modern adapters get a maximum sg segment size on par with the maximum transfer size. Added some localized janitor fixes to the discussion patch I used with Fujita. FUJITA Tomonori [mailto:fujita.tomonori@lab.ntt.co.jp] sez: > I think that setting the proper maximum segment size for the late > model cards (as you did above) makes sense. Signed-off-by: Mark Salyzyn Cc: FUJITA Tomonori Signed-off-by: James Bottomley commit 4d2de3a50ce19af2008a90636436a1bf5b3b697b Author: Tony Battersby Date: Tue Feb 5 10:36:10 2008 -0500 [SCSI] fix BUG when sum(scatterlist) > bufflen When sending a SCSI command to a tape drive via the SCSI Generic (sg) driver, if the command has a data transfer length more than scatter_elem_sz (32 KB default) and not a multiple of 512, then I either hit BUG_ON(!valid_dma_direction(direction)) in dma_unmap_sg() or else the command never completes (depending on the LLDD). When constructing scatterlists, the sg driver rounds up the scatterlist element sizes to be a multiple of 512. This can result in sum(scatterlist lengths) > bufflen. In this case, scsi_req_map_sg() incorrectly sets bio->bi_size to sum(scatterlist lengths) rather than to bufflen. When the command completes, req_bio_endio() detects that bio->bi_size != 0, and so it doesn't call bio_endio(). This causes the command to be resubmitted, resulting in BUG_ON or the command never completing. This patch makes scsi_req_map_sg() set bio->bi_size to bufflen rather than to sum(scatterlist lengths), which fixes the problem. Signed-off-by: Tony Battersby Acked-by: Mike Christie Signed-off-by: James Bottomley commit 76d78300a6eb8b7f08e47703b7e68a659ffc2053 Author: Nick Cheng Date: Mon Feb 4 23:53:24 2008 -0800 [SCSI] arcmsr: updates (1.20.00.15) - add arcmsr_enable_eoi_mode()and readl(reg->iop2drv_doorbell_reg) in arcmsr_handle_hbb_isr() on adapter Type B in case of the doorbell interrupt clearance is cached - add conditional declaration for arcmsr_pci_error_detected() and arcmsr_pci_slot_reset - check if the sg list member number exceeds arcmsr default limit in arcmsr_build_ccb() - change the returned value type of arcmsr_build_ccb()from "void" to "int" returns FAILED in arcmsr_queue_command() - modify arcmsr_drain_donequeue() to ignore unknown command and let kernel process command timeout. This could handle IO request violating maximum segments, i.e. Linux XFS over DM-CRYPT. Thanks to Milan Broz's comments - fix the release of dma memory for type B in arcmsr_free_ccb_pool() - fix the arcmsr_polling_hbb_ccbdone() Signed-off-by: Nick Cheng Cc: Milan Broz Cc: Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 63adcc5862cf95f29c8c07d59458f102700da100 Author: Adrian Bunk Date: Mon Feb 4 23:53:19 2008 -0800 [SCSI] advansys: make 3 functions static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit d850bd34f5b2a52ccec90188ad86165f940693e9 Author: Pavel Machek Date: Mon Feb 4 23:53:24 2008 -0800 [SCSI] Small cleanups for scsi_host.h Small cleanups in scsi_host.h. Few #defines make me wonder if their description is still up to date..? Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 8144f2137b7c69055597bb644a3cb6d08ee0de77 Author: Andrew Morton Date: Mon Feb 4 23:53:26 2008 -0800 [SCSI] dc395x: fix uninitialized var warning drivers/scsi/dc395x.c: In function 'dc395x_init_one': drivers/scsi/dc395x.c:4270: warning: 'ptr' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit a2c6ef71364e3c7e7509d1bf0e61e8b853744190 Author: James Bottomley Date: Thu Jan 3 12:29:03 2008 -0600 [SCSI] NCR53C9x: remove driver Acked-by: Boaz Harrosh Signed-off-by: James Bottomley commit 642978beb48331db1bafde0262eee33f658cfc39 Author: James Bottomley Date: Thu Jan 3 12:27:16 2008 -0600 [SCSI] remove m68k NCR53C9x based drivers These drivers depend on the deprecated NCR53C9X core and need to be converted to the esp_scsi core. Acked-by: Boaz Harrosh Cc: Linux/m68k Signed-off-by: James Bottomley commit da19d2f53269210adfa9aa5a163a9fad8dc63d27 Author: James Bottomley Date: Thu Jan 3 12:21:38 2008 -0600 [SCSI] dec_esp: Remove driver This driver depends on the deprecated NCR53C9X core and needs to be converted to the esp_scsi core. Acked-by: Boaz Harrosh Cc: "Maciej W. Rozycki" Signed-off-by: James Bottomley commit 14f501a4b73c826574cf385f7872762ebcfac899 Author: Randy Dunlap Date: Sun Feb 3 15:06:36 2008 -0800 [SCSI] kernel-doc: fix scsi docbook Add missing function parameter descriptions. Make function short description fit on one line as required. Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 99cb813794edc930549059ba68093161a07eabee Author: James Bottomley Date: Sun Feb 3 16:00:12 2008 -0600 [SCSI] update my email address This updates steeleye -> hansenpartnership in the documentation since some email has been going astray because of this. Signed-off-by: James Bottomley commit 89dddbce9c6ec7663af81a74be6a6aa720301994 Author: James Bottomley Date: Sun Feb 3 15:32:59 2008 -0600 [SCSI] add protocol definitions A lot of SCSI command replies have a protocol ID field. Add definitions for the interpretation of that from SPC-3. Signed-off-by: James Bottomley commit 366c246de9cec909c5eba4f784c92d1e75b4dc38 Author: James Bottomley Date: Sat Feb 2 16:06:23 2008 -0600 [SCSI] sd: handle bad lba in sense information Some devices report medium error locations incorrectly. Add guards to make sure the reported bad lba is actually in the request that caused it. Additionally remove the large case statment for sector sizes and replace it with the proper u64 divisions. Tested-by: Mike Snitzer Cc: Stable Tree Cc: Tony Battersby Signed-off-by: James Bottomley commit d7402cd91022fc32522397d3930a3e6587de7c55 Author: Andrew Vasquez Date: Thu Jan 31 12:33:54 2008 -0800 [SCSI] qla2xxx: Update version number to 8.02.00-k8. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e6e074f175879b1c1d700056aa0c32abefb92c1a Author: Andrew Vasquez Date: Thu Jan 31 12:33:53 2008 -0800 [SCSI] qla2xxx: Correct issue where incorrect init-fw mailbox command was used on non-NPIV capable ISPs. BIT_2 of the firmware attributes is only valid on FW-interface-2 type HBAs. Code in commit c48339decceec8e011498b0fc4c7c7d8b2ea06c1 would cause the incorrect initialize-firmware mailbox command to be issued for non-NPIV capable ISPs. Correct this by reverting to previously used (and correct) pre-condition 'if' check. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit da4541b63bbe9a945d7bbc1105f2deacc42ef195 Author: Seokmann Ju Date: Thu Jan 31 12:33:52 2008 -0800 [SCSI] qla2xxx: Access the proper 'physical' port in FC-transport callbacks. For following fc_host specific attributes, vports rely on the pport. So, this patch changed way to access the data for those attributes so that they can access pport's. - get_host_speed (speed) - get_host_port_state (port_state) - get_host_port_type (port_type) - get_fc_host_stats Also, added PORT_SPEED_8GB case in the speed attribute for 8Gb HBAs. Signed-Off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 99363ef81cc7d0bab275304b8d34cf71d189cdcc Author: Seokmann Ju Date: Thu Jan 31 12:33:51 2008 -0800 [SCSI] qla2xxx: Correct issue where vport-state was not updated during an ISP_ABORT_NEEDED requst. While running IO simultaneously through physical port and virtual port, if user changes Data Rate (from scli utility), IO through virtual port fails. It failed because the vport had not received the ISP_ABORT_NEEDED notification. Signed-Off-by: Seokmann Ju Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 963b0fdd3a4aa68e6e65e0967ec0adcca0736fde Author: Andrew Vasquez Date: Thu Jan 31 12:33:50 2008 -0800 [SCSI] qla2xxx: Move RISC-interrupt-register modifications to qla2x00_request_irqs(). There's no functional change involved with this update, instead it simply migrates the "set cleared interrupt state" codes to a more approprate method, qla2x00_request_irqs(), and cleans-up the driver's probe() logic. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 3db0652ef986f3bc3d779c4f986330ee3fdd50cc Author: Andrew Vasquez Date: Thu Jan 31 12:33:49 2008 -0800 [SCSI] qla2xxx: Consolidate RISC-parity enablement codes. Collapse duplicate codes called during probe() and RISC-reset into qla2x00_setup_chip(). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit e87110852d0bd331d50c3de686a7fc9626579d60 Author: Andrew Vasquez Date: Thu Jan 31 12:33:48 2008 -0800 [SCSI] qla2xxx: Cleanse memory allocation logic during probe. - Drop loop-till-allocated structure of code within qla2x00_mem_alloc(). - Properly unwind deallcations of memory during failures. - Drop qla2x00_allocate_sp_pool() and qla2x00_free_sp_pool() functions as their implementations can easily be collapsed into the callers. - Defer DMA pool allocation of SFP data until requested. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 0afb467b4757adb9c6e3817f2e752d658a494352 Author: Andrew Vasquez Date: Thu Jan 31 12:33:47 2008 -0800 [SCSI] qla2xxx: Clear EFT buffer before firmware reinitialization. To insure that there is no stale data present during EFT re-registration. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit df4bf0bb5b077545031e8ad5ef3cc0dd8a5fbe05 Author: Andrew Vasquez Date: Thu Jan 31 12:33:46 2008 -0800 [SCSI] qla2xxx: Cleanup any outstanding SRB resources during shutdown. Refactor SRB-failure completion codes in the process. Also, signal the DPC routine to complete sooner as backend processing at shutdown-time is superflous. [jejb: resolve conflicts with pci_enable_device_bars removal] Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 61623fc34f9db7f01b672d2fa443d3d492049bbe Author: Andrew Vasquez Date: Thu Jan 31 12:33:45 2008 -0800 [SCSI] qla2xxx: Add MODULE_FIRMWARE hint for ISP25XX firmware. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 948882f6b72a95dd76c6c567a45dfe91b7d04c15 Author: Andrew Vasquez Date: Thu Jan 31 12:33:44 2008 -0800 [SCSI] qla2xxx: Correct resource_size_t usages. Hmm, it looks like the conversion to resource_size_t usage (3776541d8a46347a4924353a192c6ce4a3d04e2e) requires some additional fixups to cleanup the structure-pointer castings used during IO mapped accesses to the chip. There's only a small number of locations, where the driver uses IO mapped accesses to the hardware, the patch below should take care of it without introducing to many structural changes to code flow. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 4c851879312702456c7fbd594f19a7a9d991c252 Author: Mike Christie Date: Thu Jan 31 13:36:54 2008 -0600 [SCSI] iscsi: bump version to 2.0-868 Set iscsi version to 2.0-868 Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 8b1d03434ee44b08c57f50403eaeab099facebf5 Author: Mike Christie Date: Thu Jan 31 13:36:53 2008 -0600 [SCSI] libiscsi: fix session age rollover and remove cid encoding The session age mask is only 4 bits, but session->age is 32. When it gets larger then 15 and we try to or the bits some bits get dropped and the check for session age in iscsi_verify_itt is useless. The ISCSI_CID_MASK related bits are also useless since cid is always one. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 322d739da83bbff0309c202181f79c08d9534880 Author: Mike Christie Date: Thu Jan 31 13:36:52 2008 -0600 [SCSI] iscsi: fix up iscsi printk prefix Some iscsi class messages have the dev_printk prefix and some libiscsi and iscsi_tcp messages have "iscsi" or the module name as a prefix which is normally pretty useless when trying to figure out which session or connection the message is attached to. This patch adds iscsi lib and class dev_printks so all messages have a common prefix that can be used to figure out which object printed it. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit c238c3bba9b422a9b453c75e157b416204f22a71 Author: Mike Christie Date: Thu Jan 31 13:36:51 2008 -0600 [SCSI] iscsi class: fix iscsi conn attr counter There are 13 iscsi conn attrs, but since the IF/OF markers were not being used we did not notice that we forgot to increment the ISCSI_CONN_ATTRS counter. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit ad294e9cd11d029fc0d09ab129fba5bea46de0dc Author: Mike Christie Date: Thu Jan 31 13:36:50 2008 -0600 [SCSI] libiscsi: fix setting of nop timer If we rollover then we could get a next_timeout of zero, so we need to set the new timer to that value. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 921601b7031f8a2c71f49f1b965ee00ebbca6886 Author: Mike Christie Date: Thu Jan 31 13:36:49 2008 -0600 [SCSI] qla4xxx: add async scan support qla4xxx has the old school startup/probe where it finds presetup sessions in its flash and then attempts to log into them before returning from the probe. This however, makes it very simple to add a iscsi class scan finished helper which the driver can use. In future patches Dave or I will rip apart the driver to make it more like qla2xxx, but for now this is a very simple two line patch which fixes the problem of trying to figure out when the initial sessions are done being scanned. Signed-off-by: Mike Christie Cc: David Somayajulu Signed-off-by: James Bottomley commit 8aae18adb240a9eb1999b8245c56522cbefc9047 Author: Mike Christie Date: Thu Jan 31 13:36:48 2008 -0600 [SCSI] iscsi class: add async scan helper In qla4xxx's probe it will call the iscsi session setup functions for session that got setup on the initial start. This then makes it easy for the iscsi class to export a helper which indicates when those scans are done. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 568d303b5b3f0f6432ae8f56ecdb0beb2341288e Author: Mike Christie Date: Thu Jan 31 13:36:47 2008 -0600 [SCSI] qla4xxx: fix recovery timer and session unblock race If qla4xxx is resetting up a session and the recovery timer fires we do not want to just set it to dead, because the dpc thread could have just set it to online and is in the middle of resetting it up. Signed-off-by: Mike Christie Cc: David Somayajulu Signed-off-by: James Bottomley commit bd976f62cd6c6dda1ce57bf3e84447e94844868a Author: Mike Christie Date: Thu Jan 31 13:36:46 2008 -0600 [SCSI] iscsi class: add session scanning This just adds iscsi session scanning which works like fc rport scanning. The future patches will hook the drivers into Mathew Wilcox's async scanning infrastructure, so userspace does not have to special case iscsi and so userspace does not have to make a extra special case for hardware iscsi root scanning. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 7fb1921b07a83f71a77f806a2a7d2dd721ea641b Author: Mike Christie Date: Thu Jan 31 13:36:45 2008 -0600 [SCSI] qla4xxx: use iscsi class session state check ready This has qla4xxx use the iscsi class's check ready function in the queue command function, so all iscsi drivers return the same error value for common problems. Signed-off-by: Mike Christie Cc: David Somayajulu Signed-off-by: James Bottomley commit b635930de91be0a217292e3fe381af273e5ffaf7 Author: Mike Christie Date: Thu Jan 31 13:36:44 2008 -0600 [SCSI] qla4xxx: directly call iscsi recovery functions Qla4xxx can just call the iscsi recovery functions directly. There is no need for userspace to do this for qla4xxx, because we do not use the mutex to iterate over devices anymore and iscsi_block /unblock_session can be called from interrupt context or the dpc thread. And having userspace do this just creates uneeded headaches for qla4xxx root situations where the session may experience problems. For example during the kernel shutdown the scsi layer wants to send sync caches, but at this time userspace is not up (iscsid is not running), so we cannot recover from the problem. Signed-off-by: Mike Christie Cc: David Somayajulu Signed-off-by: James Bottomley commit 6eabafbe6616266e8de61980a7dac5ecc1ba1113 Author: Mike Christie Date: Thu Jan 31 13:36:43 2008 -0600 [SCSI] iscsi class, libiscsi: add iscsi sysfs session state file This adds a iscsi session state file which exports the session state for both software and hardware iscsi. It also hooks libiscsi in. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 84ac86ca8c6787f9efff28bc04b1b65fe0a5c310 Author: Boaz Harrosh Date: Sun Sep 9 21:31:21 2007 +0300 [SCSI] arm: convert to accessors and !use_sg cleanup - convert to accessors and !use_sg cleanup Signed-off-by: Boaz Harrosh Tested-by: Russell King Signed-off-by: James Bottomley commit c9e86b8b1da8aea2cad6d3a825791c25ea67624d Author: James Bottomley Date: Thu Jan 3 12:17:50 2008 -0600 [SCSI] mca_53c9x: remove driver This driver depends on the deprecated NCR53C9X core and needs to be converted to the esp_scsi core. Acked-by: Boaz Harrosh Signed-off-by: James Bottomley commit 3dfcb701e1ff7aa21d6623e46b6ec3f7d0d306e1 Author: Tony Battersby Date: Tue Nov 6 16:07:04 2007 -0500 [SCSI] sym53c8xx: fix resid calculation This patch fixes the calculation of the data transfer residual for the case of a command that is supposed to transfer an odd number of bytes on a wide bus but transfers nothing instead. Signed-off-by: Tony Battersby Cc: Matthew Wilcox Signed-off-by: James Bottomley commit 51883b5e60796cce556370dbc368fd22c60c0e3e Author: Aegis Lin Date: Fri Feb 1 17:35:13 2008 +0100 [SCSI] ps3rom: sector size should be 512 bytes It should be desired that 64 KiB is available for ATAPI transferrring. (Historically) in SCSI/block layer sector size is defined as 512 during sector-byte calculation. Originally in ps3rom.c CD_FRAMESIZE (2048) was used, which limited /sys/block/sr0/queue/max_sectors_kb to 16 KiB (32 sectors). Signed-off-by: Aegis Lin Signed-off-by: Geert Uytterhoeven Signed-off-by: James Bottomley commit 0bb67f181834044db6e9b15c7d5cc3cce0489bfd Author: Thomas Bogendoerfer Date: Fri Feb 1 00:13:34 2008 +0100 [SCSI] sun3x_esp: convert to esp_scsi Converted sun3x_esp driver to use esp_scsi.c Signed-off-by: Thomas Bogendoerfer Signed-off-by: James Bottomley commit f8d9d654fcc7dd87f5d0b222e233eaab15d650c4 Author: Adrian Bunk Date: Tue Jan 29 00:11:27 2008 +0200 [SCSI] libiscsi: make __iscsi_complete_pdu() static __iscsi_complete_pdu() can now become static. Signed-off-by: Adrian Bunk Acked-by: Mike Christie Signed-off-by: James Bottomley commit 5234e25c35a708708559727b1e3e04de3a538828 Author: Salyzyn, Mark Date: Mon Jan 28 12:16:52 2008 -0800 [SCSI] aacraid: fib context lock for management ioctls (take 2) The first patch (a119ee8ee3045bf559d4cf02d72b112f3de2a15b) was a bit too aggressive and nested the locks (!) unit testing was in error. This patch was reverted by 203a512f0976e8ba85df36d76b40af6c80239121. This new patch should fix the locks correctly. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 151db1fc23800875c7ac353b106b7dab77061275 Author: Tony Breeds Date: Fri Feb 8 09:24:52 2008 +1100 Fix compilation of powerpc asm-offsets.c with old gcc Commit ad7f71674ad7c3c4467e48f6ab9e85516dae2720 ("[POWERPC] Use a sensible default for clock_getres() in the VDSO") corrected the clock resolution reported by the VDSO clock_getres() but introduced another problem in that older versions of gcc (gcc-4.0 and earlier) fail to compile the new code in arch/powerpc/kernel/asm-offsets.c. This fixes it by introducing a new MONOTONIC_RES_NSEC define in the generic code which is equivalent to KTIME_MONOTONIC_RES but is just an integer constant, not a ktime union. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds commit 145e9230760e4db27cf5f00fd04b005c79ca1c12 Author: Geert Uytterhoeven Date: Thu Feb 7 23:10:28 2008 +0100 m68k: correct setting of struct user.u_ar0 Commit 6e16d89bcd668a95eb22add24c02d80890232b66 ("Sanitize the type of struct user.u_ar0") forgot to change the m68k setting code, causing the following compiler warning: arch/m68k/kernel/process.c:338: warning: assignment makes integer from pointer without a cast Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 9f2eef25e044603527e121066284d22f51d853cc Author: Len Brown Date: Thu Feb 7 16:19:56 2008 -0500 intel_menlo: build on X86 only Signed-off-by: Len Brown commit 9c2f7de8c0f979fc6354bf0d22c0cdcc29722bf6 Author: Len Brown Date: Thu Feb 7 16:18:24 2008 -0500 ACPI: build WMI on X86 only Signed-off-by: Len Brown commit 919158d17b42683a5c7368e1e77661c65a20a48a Author: Thomas Renninger Date: Wed Oct 31 15:41:42 2007 +0100 ACPI: cpufreq: Print _PPC changes via cpufreq debug layer enabled with CPU_FREQ_DEBUG Signed-off-by: Thomas Renninger Signed-off-by: Len Brown commit ef1fc2f01e02951a0d8520ec3aa0b38606d74b55 Author: Andi Kleen Date: Sun Jan 27 17:02:02 2008 -0600 BKL-removal: Implement a compat_ioctl handler for JFS The ioctls were already compatible except for the actual values so this was fairly easy to do. Signed-off-by: Andi Kleen Signed-off-by: Dave Kleikamp commit b0b23e0ade6aa265d7278e06d50bc10ec81dd174 Author: Len Brown Date: Thu Feb 7 14:42:25 2008 -0500 ACPI: add newline to printk Signed-off-by: Len Brown commit 123f794fa7d592644881a20801638d88521d0b06 Author: Jesse Barnes Date: Thu Feb 7 11:15:20 2008 -0800 i915: Fix GR register array size off-by-one bug Make sure we have enough room for all the GR registers or we'll end up clobbering the AR index register (which should actually be harmless unless the BIOS is making an assumption about it). Noticed-by: Jens Axboe Signed-off-by: Jesse Barnes Signed-off-by: Linus Torvalds commit baab81fa518ecfac597402b462631f5593926623 Author: Andi Kleen Date: Sun Jan 27 16:58:51 2008 -0600 BKL-removal: Use unlocked_ioctl for jfs Convert jfs_ioctl over to not use the BKL. The only potential race I could see was with two ioctls in parallel changing the flags and losing the updates. Use the i_mutex to protect against this. Signed-off-by: Andi Kleen Signed-off-by: Dave Kleikamp commit 969affd276dec81a35a5ad10d4e05e62e93b380b Author: Greg Kroah-Hartman Date: Thu Feb 7 11:58:54 2008 -0500 sysfs: remove BUG_ON() from sysfs_remove_group() It's possible that the caller of sysfs_remove_group messed up and passed in an attribute group that was not really registered to this kobject. But don't panic for such a foolish error, spit out a warning about what happened, and continue on our way safely. Cc: Roland Dreier Cc: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 7d640c4a5b36c4733460065db1554da924044511 Author: Michael E Brown Date: Tue Jan 29 15:35:01 2008 -0600 Driver core: Revert "Fix Firmware class name collision" This reverts commit 109f0e93b6b728f03c1eb4af02bc25d71b646c59. The original patch breaks BIOS updates on all Dell machines. The path to the firmware file for the dell_rbu driver changes, which breaks all of the userspace tools which rely on it. Note that this patch re-introduces a problem with i2c name collision that was previously fixed by this patch. Signed-off-by: Michael E Brown Signed-off-by: Greg Kroah-Hartman commit f4a00a2c06bc7802f52969cbdd19f4c680a7cd20 Author: Greg Kroah-Hartman Date: Wed Feb 6 23:33:39 2008 -0800 Block: Fix whole_disk attribute bug The "whole_disk" attribute was not properly converted in the block device conversion earlier, and if the file is read, bad things can happen. This patch fixes this, making the attribute an empty one, preserving the original functionality. Many thanks to David Miller for finding this, and pointing me in the proper place within the block code to look. Acked-by: David S. Miller Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 5b808a593588b2e6235c59fcd278791c53667787 Author: Geert Uytterhoeven Date: Thu Feb 7 09:10:37 2008 +0100 m68k: kill page walker compile warning The recently introduced page walker (walk_page_range()) calls pgd_offset with a const struct mm_struct pointer, causing the following compile warning on m68k: mm/pagewalk.c:111: warning: passing argument 1 of 'pgd_offset' discards qualifiers from pointer target type Make the `mm' parameter of the inline function pgd_offset() const to shut it up. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 80ff8a805113850a3ffafcc8e6eaa1fdd51b02f3 Author: Jiri Slaby Date: Thu Feb 7 00:16:51 2008 -0800 Char: mxser, add support for CP-114UL Add new card (0x1393:0x1143) support added in 1.11 original driver, also allow rate change in set_serial_info ioctl (as per 1.11 too). Signed-off-by: Jiri Slaby Reviewed-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c45607ad3eb7397bc2433f3c36a4ed8b315889e Author: Jiri Slaby Date: Thu Feb 7 00:16:46 2008 -0800 Char: mxser, remove it (Old) mxser is obsoleted by mxser_new and scheduled for removal on Dec 2007. Remove it by renaming mxser_new to mxser. Signed-off-by: Jiri Slaby Reviewed-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f122bfb5a43c6b57733eb7a76ad4ed392be6a910 Author: Jiri Slaby Date: Thu Feb 7 00:16:45 2008 -0800 Char: mxser, ioctl cleanup - remove dead MOXA_GET_CONF (always returned -ENXIO) - remove useless MOXA_GET_CUMAJOR (unused) - use get/put_user instead of copy_from/to_user for simple types - cleanup TIOCMIWAIT -- return -ERESTARTSYS on signal, move condition into separate function Signed-off-by: Jiri Slaby Cc: Alan Cox Reviewed-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f83bb2d40a879c21c5085ee8cfc426f9936901ee Author: Jiri Slaby Date: Thu Feb 7 00:16:44 2008 -0800 Char: mxser, simplify mxser_get_serial_info Initialize temp structure directly with proper values without first zeroing it and setting later as suggested by Jan. Signed-off-by: Jiri Slaby Cc: Jan Engelhardt Reviewed-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ecd233bb6efa9745dffc6134ceab8aba1aa030b Author: Jiri Slaby Date: Thu Feb 7 00:16:43 2008 -0800 Char: mxser, reorder mxser_cardinfo fields Reorder fields to save some memory and code on 64bit due to alignment as suggested by Jan. Signed-off-by: Jiri Slaby Cc: Jan Engelhardt Reviewed-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3667d5c321ac2211d04a746f91a48d339a0e0a1 Author: Jiri Slaby Date: Thu Feb 7 00:16:43 2008 -0800 Char: mxser, 0 to NULL in pointer Don't test a pointer against 0. Use NULL instead. Signed-off-by: Jiri Slaby Reviewed-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7f549fa14ed7e3d72927e89dec721eeff4a0159 Author: Jiri Slaby Date: Thu Feb 7 00:16:42 2008 -0800 Char: mxser, remove special baudrate processing Let the special baudrate processing on the tty layer. Also remove set/get_special_rate ioctls introduced in commit f64c84a1668930d1ca2b7dbaa92146c2139cb508, since it is no longer needed. Signed-off-by: Jiri Slaby Reviewed-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f29e37c076cd08004e31297d205d54ac38cf7a20 Author: Alan Cox Date: Thu Feb 7 00:16:41 2008 -0800 mxser/mxser_new: first pass over termios reporting for the mxser cards Signed-off-by: Alan Cox Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b98e70de7836cf0ea49b6714b2455381865b1260 Author: Jiri Slaby Date: Thu Feb 7 00:16:41 2008 -0800 Char: riscom8, remove wakeup and hangup bottomhalves Both of them may be called directly from the code, don't add special code and variables and schedule a work for them. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3099bbc59435928fbd1f4ebd835f825bca755bbb Author: Jiri Slaby Date: Thu Feb 7 00:16:40 2008 -0800 Char: serial167, remove bottomhalf - Cy_EVENT_OPEN_WAKEUP is simple wake_up - Cy_EVENT_HANGUP is wake_up + tty_hangup, which schedules its own work - Cy_EVENT_WRITE_WAKEUP is tty_wakeup which may be called directly too Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ccfea3c98a10b9d4d49b899616a06594ec976d7d Author: Jiri Slaby Date: Thu Feb 7 00:16:39 2008 -0800 Char: stallion, remove bottomhalf - tty_hangup schedules a bottomhalf itself, tty_wakeup doesn't need it - call the CD code (part of work handler previously) directly from the code (it wakes somebody up or calls tty_hangup at worse) Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d0d4e1c098754bfbb2aeb94333756d63d255688e Author: Jiri Slaby Date: Thu Feb 7 00:16:39 2008 -0800 Char: specialix, remove bottomhalves - tqueue is used only for tty_wakeup, call it directly from the code - tqueue_hangup for tty_hangup, it schedules its own work, use it directly too Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfccaeea62f020242e59a992e1f1a60fe7e5694e Author: Jiri Slaby Date: Thu Feb 7 00:16:38 2008 -0800 Char: istallion, remove hangup bottomhalf tty_hangup schedules a work for hangup itself, no need to do it in the driver. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2e7a4b66d762cad383c5469c1e8b6076792ab6a Author: Jiri Slaby Date: Thu Feb 7 00:16:37 2008 -0800 Char: esp, remove hangup and wakeup bottomhalves There is no need to schedule a bottomhalf for either of them. One is fast and the another schedules a bottomhalf itself. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1386a820b32285583414a8db3a99305e7ebe8377 Author: Jiri Slaby Date: Thu Feb 7 00:16:36 2008 -0800 Char: riscom8, change rc_init_drivers prototype Let compiler decide if the rc_init_drivers function will be inlined and mark it as __init, because it's called only from __init function. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 319fe7c347ad2bdd99ea9b62c65ca81584ed2e1c Author: Jiri Slaby Date: Thu Feb 7 00:16:36 2008 -0800 Char: stallion, fix compiler warnings Don't emit warnings on 64 bit platforms from min(). sizeof() on those is not uint, neither 2 pointers difference, cast it to uint by min_t in both cases. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f31e6835054f577d4d3193aed1f464b149483377 Author: Jiri Slaby Date: Thu Feb 7 00:16:35 2008 -0800 Char: mxser_new, ioaddresses are ulong To not pass ulong address as int parameter, switch it to ulong. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1237a2ef31cf60e01bbecbe198d8c002bbb710db Author: Jiri Slaby Date: Thu Feb 7 00:16:34 2008 -0800 Char: char/serial, remove SERIAL_TYPE_NORMAL redefines Signed-off-by: Jiri Slaby Cc: Alan Cox Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6de0c9864c10d17f2473940c5f81718a5064bd8 Author: Jiri Slaby Date: Thu Feb 7 00:16:33 2008 -0800 Char: rocket, remove useless macros Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68562b79217ce04a30aaf781de1e6dfa84e73fbe Author: Jiri Slaby Date: Thu Feb 7 00:16:33 2008 -0800 Char: rocket, printk cleanup - add KERN_ level to each print - change some levels appropriately - add \n at the ends where missing - change two complex printks into dev_info, where the original info is printed automatically Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48a67f5da1e605c0ec0534cb003ca0cd114f3d1b Author: Jiri Slaby Date: Thu Feb 7 00:16:32 2008 -0800 Char: rocket, switch long delay to sleep Don't busy wait for whole 1s when registering some rocket modems. Sleep instead since we are not in atomic. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48103c527b2fcf5ead13ef14b34eb8893eaec06a Author: Frank Sorenson Date: Thu Feb 7 00:16:31 2008 -0800 i8k: Inspiron E1705 fix Needs the following in order to work correctly on my Inspiron E1705: Add DMI Product name to i8k for Dell MP061 hardware (Inspiron 9400/E1705) Signed-off-by: Frank Sorenson Cc: Bradley Smith Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 300ec130493a67efb291ba20b48b664b2352277d Author: Bradley Smith Date: Thu Feb 7 00:16:30 2008 -0800 I8K: add i8k driver to the x86_64 Kconfig Adds i8k driver to the x86_64 Kconfig. Signed-off-by: Bradley Smith Cc: Frank Sorenson Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe04f22fd2bc84dfcc0ef1c7acb863bd98b9ac93 Author: Bradley Smith Date: Thu Feb 7 00:16:27 2008 -0800 I8K: allow i8k driver to be built on x86_64 systems Adds #if clause and additional inline assembly so that the driver builds on x86_64 systems. Signed-off-by: Bradley Smith Cc: Frank Sorenson Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a7744f9823b9ddf14c47c475e81c1326b1a2787 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:26 2008 -0800 Add cmpxchg_local to xtensa Use the architecture specific __cmpxchg_u32 for 32 bits cmpxchg)_local. Else, use the new generic cmpxchg_local (disables interrupt). Signed-off-by: Mathieu Desnoyers Cc: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b62f13439147210d5ad4bc40acee32b94c59f06d Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:26 2008 -0800 Add cmpxchg_local to v850 Use the new generic cmpxchg_local (disables interrupt). Also use the generic cmpxchg as fallback if SMP is not set. Signed-off-by: Mathieu Desnoyers Cc: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80af4eeb726f038eddc32826e4238feba5b1dfb4 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:25 2008 -0800 Add cmpxchg_local to sparc64 Use cmpxchg_u32 and cmpxchg_u64 for cmpxchg_local and cmpxchg64_local. For other type sizes, use the new generic cmpxchg_local (disables interrupt). Change: Since the header depends on local_irqsave/local_irqrestore, it must be included after their declaration. Actually, being below the #include should be enough, and on sparc64 it is included at the beginning of system.h. So it makes sense to move it up for sparc64. Signed-off-by: Mathieu Desnoyers Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 405321d3ab2b41960e2874f2f74609daffbc7a4c Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:24 2008 -0800 Add cmpxchg_local to sparc, move __cmpxchg to system.h Move cmpxchg and add cmpxchg_local to system.h. Use the new generic cmpxchg_local (disables interrupt). Signed-off-by: Mathieu Desnoyers Cc: William Lee Irwin III Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe4130131ef9e55763fd634a02b1db9290dbbe5a Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:24 2008 -0800 Add cmpxchg_local to s390 Use the standard __cmpxchg for every type that can be updated atomically. Use the new generic cmpxchg_local (disables interrupt) for other types. Signed-off-by: Mathieu Desnoyers Cc: Martin Schwidefsky Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85fdbe1b4b33b797321bfadf706b355e7cca6165 Author: Gunnar Larisch Date: Thu Feb 7 00:16:22 2008 -0800 Add cmpxchg_local to ppc Add a local processor version of cmpxchg for ppc. Implements __cmpxchg_u32_local and uses it for 32 bits cmpxchg_local. It uses the non NMI safe cmpxchg_local_generic for 1, 2 and 8 bytes cmpxchg_local. Signed-off-by: Gunnar Larisch Signed-off-by: Mathieu Desnoyers Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df80c8c5679c4e6c72e694525d76a9f26d5f33dc Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:21 2008 -0800 Add cmpxchg_local to parisc Use the new generic cmpxchg_local (disables interrupt). Also use the generic cmpxchg as fallback if SMP is not set. Signed-off-by: Mathieu Desnoyers Cc: Kyle McMartin Cc: Grant Grundler Cc: Matthew Wilcox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 027bcc27d3d1a218dbf4477964a18fed78983357 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:20 2008 -0800 Add cmpxchg_local to m68knommu Use the new generic cmpxchg_local (disables interrupt). Also use the generic cmpxchg as fallback if SMP is not set. Signed-off-by: Mathieu Desnoyers Cc: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5da751035c5c8f5b30978e97fd4b3c75f453b04e Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:20 2008 -0800 Add cmpxchg_local to m86k Use the new generic cmpxchg_local (disables interrupt). Also use the generic cmpxchg as fallback if SMP is not set. Signed-off-by: Mathieu Desnoyers Cc: Roman Zippel Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fa2ac3728ce828070fa3d5846c08157fe5ef431 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:19 2008 -0800 local_t m32r use architecture specific cmpxchg_local On m32r, use the new cmpxchg_local as primitive for the local_cmpxchg operation. Signed-off-by: Mathieu Desnoyers Acked-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df0f65f02a55888feae52a7e7d59d29f5edd400d Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:18 2008 -0800 m32r: build fix of arch/m32r/kernel/smpboot.c This patch is for Mathieu Desnoyers's include/asm-m32r/local.h. Applying the new include/asm-m32r/local.h, inclusion of linux/sched.h is needed to fix a build error of arch/m32r/kernel/smpboot.c. <-- snip --> ... CC arch/m32r/kernel/smpboot.o /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c: In function 'do_boot_cpu': /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:279: error: implicit declaration of function 'fork_idle' /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:279: warning: assignment makes pointer from integer without a cast /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:283: error: dereferencing pointer to incomplete type /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:289: error: dereferencing pointer to incomplete type /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:290: error: implicit declaration of function 'task_thread_info' /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:290: error: invalid type argument of '->' /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c: In function 'start_secondary': /project/m32r-linux/kernel/work/linux-2.6_dev.git/arch/m32r/kernel/smpboot.c:429: error: implicit declaration of function 'cpu_init' make[2]: *** [arch/m32r/kernel/smpboot.o] Error 1 <-- snip --> Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f94d1d3a1df125461a16b2888eca46d64f113e3a Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:18 2008 -0800 Fix m32r __xchg the #endif /* CONFIG_SMP */ should cover the default condition, or it may cause bad parameter to be silently missed. To make it work correctly, we have to remove the ifdef CONFIG SMP surrounding __xchg_called_with_bad_pointer declaration. Thanks to Adrian Bunk for detecting this. Signed-off-by: Mathieu Desnoyers Acked-by: Hirokazu Takata Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b631c2de63b4475351258197409983c8189ed04 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:17 2008 -0800 New cmpxchg_local (optimized for UP case) for m32r Add __xchg_local, xchg_local (define), __cmpxchg_local_u32, __cmpxchg_local, cmpxchg_local(macro). cmpxchg_local and cmpxchg64_local will use the architecture specific __cmpxchg_local_u32 for 32 bits arguments, and use the generic __cmpxchg_local_generic for 8, 16 and 64 bits arguments. Signed-off-by: Mathieu Desnoyers Acked-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b78fff6e736cae55dc3fb5570c7ef4037eca9b7 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:16 2008 -0800 Add cmpxchg_local, cmpxchg64 and cmpxchg64_local to ia64 Add the primitives cmpxchg_local, cmpxchg64 and cmpxchg64_local to ia64. They use cmpxchg_acq as underlying macro, just like the already existing ia64 cmpxchg(). Changelog: ia64 cmpxchg_local coding style fix Quoting Keith Owens: As a matter of coding style, I prefer #define cmpxchg_local cmpxchg #define cmpxchg64_local cmpxchg64 Which makes it absolutely clear that they are the same code. With your patch, humans have to do a string compare of two defines to see if they are the same. Note cmpxchg is *not* a performance win vs interrupt disable / enable on IA64. Signed-off-by: Mathieu Desnoyers Acked-by: Christoph Lameter Cc: "Luck, Tony" Cc: Keith Owens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aebb77aef4b50a157bf0185de31d1aede3ca2312 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:15 2008 -0800 Add cmpxchg_local to h8300 Use the new generic cmpxchg_local (disables interrupt). Also use the generic cmpxchg as fallback if SMP is not set. Signed-off-by: Mathieu Desnoyers Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14e0cb3c60b89c4a2512852ffc18601c72314a0f Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:14 2008 -0800 Add cmpxchg_local to frv Use the new generic cmpxchg_local (disables interrupt) for 8, 16 and 64 bits arguments. Use the 32 bits cmpxchg available on the architecture for 32 bits arguments. Signed-off-by: Mathieu Desnoyers Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7732ba3abc5a53e7e1d93afd5a5a6ccf74f2ce53 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:14 2008 -0800 Add cmpxchg_local to cris Use the new generic cmpxchg_local (disables interrupt). Also use the generic cmpxchg as fallback if SMP is not set. Signed-off-by: Mathieu Desnoyers Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10b8827068377a11ed0e396248f7d02751fe5f17 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:13 2008 -0800 Add cmpxchg_local to blackfin, replace __cmpxchg by generic cmpxchg Use the new generic cmpxchg_local (disables interrupt). Also use the generic cmpxchg as fallback if SMP is not set since nobody seems to know why __cmpxchg has been implemented in assembly in the first place thather than in plain C. Signed-off-by: Mathieu Desnoyers Cc: Bryan Wu Cc: Michael Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e86c11d3eb4662000f3ced7344352b2ca319d03 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:12 2008 -0800 Add cmpxchg_local to avr32 Use the new generic cmpxchg_local (disables interrupt) for 8, 16 and 64 bits cmpxchg_local. Use the __cmpxchg_u32 primitive for 32 bits cmpxchg_local. Note that cmpxchg only uses the __cmpxchg_u32 or __cmpxchg_u64 and will cause a linker error if called with 8 or 16 bits argument. Signed-off-by: Mathieu Desnoyers Acked-by: Haavard Skinnemoen Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 176393d4232a89aaf8745b0726f4d212a20103f1 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:11 2008 -0800 Add cmpxchg_local to arm Use the new generic cmpxchg_local (disables interrupt). Also use the generic cmpxchg as fallback if SMP is not set. Signed-off-by: Mathieu Desnoyers Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32f49eab5e893007c0064f465c857ac7c4d40b77 Author: Mathieu Desnoyers Date: Thu Feb 7 00:16:10 2008 -0800 Add cmpxchg64 and cmpxchg64_local to x86_64 Make sure that at least cmpxchg64_local is available on all architectures to use for un