01 May, 2007

7 commits

  • For backwards compatibility, call_platform_enable_wakeup() can return 0
    instead of -EIO since we aren't guaranteed to have errno defined.

    Cc: David Brownell
    Signed-off-by: David Rientjes
    Cc: "Randy.Dunlap"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     
  • Add a kvasprintf() function to complement kasprintf().

    No in-tree users yet, but I have some coming up.

    [akpm@linux-foundation.org: EXPORT it]
    Signed-off-by: Jeremy Fitzhardinge
    Cc: Andrew Morton
    Cc: Keir Fraser
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeremy Fitzhardinge
     
  • This patch changes the docs and behaviour from "all states valid" to "no
    states valid" if no .valid callback is assigned. Users of pm_ops that only
    need mem sleep can assign pm_valid_only_mem without any overhead, others
    will require more elaborate callbacks.

    Now that all users of pm_ops have a .valid callback this is a safe thing to
    do and prevents things from getting messy again as they were before.

    Signed-off-by: Johannes Berg
    Acked-by: Pavel Machek
    Looks-okay-to: Rafael J. Wysocki
    Cc:
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Berg
     
  • Almost all users of pm_ops only support mem sleep, don't check in .valid and
    don't reject any others in .prepare so users can be confused if they check
    /sys/power/state, especially when new states are added (these would then
    result in s-t-r although they're supposed to be something different).

    This patch implements a generic pm_valid_only_mem function that is then
    exported for users and puts it to use in almost all existing pm_ops.

    Signed-off-by: Johannes Berg
    Cc: David Brownell
    Acked-by: Pavel Machek
    Cc: linux-pm@lists.linux-foundation.org
    Cc: Len Brown
    Acked-by: Russell King
    Cc: Greg KH
    Cc: "Rafael J. Wysocki"
    Cc: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Berg
     
  • This patch removes the firmware disk suspend mode which is the wrong approach,
    it is supposed to be used for implementing firmware-based disk suspend but
    cannot actually be used for that.

    Signed-off-by: Johannes Berg
    Acked-by: Pavel Machek
    Cc:
    Cc: David Brownell
    Cc: Len Brown
    Acked-by: Russell King
    Cc: Greg KH
    Cc: "Rafael J. Wysocki"
    Cc: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Berg
     
  • This patch series cleans up some misconceptions about pm_ops. Some users of
    the pm_ops structure attempt to use it to stop the user from entering suspend
    to disk, this, however, is not possible since the user can always use
    "shutdown" in /sys/power/disk and then the pm_ops are never invoked. Also,
    platforms that don't support suspend to disk simply should not allow
    configuring SOFTWARE_SUSPEND (read the help text on it, it only selects
    suspend to disk and nothing else, all the other stuff depends on PM).

    The pm_ops structure is actually intended to provide a way to enter
    platform-defined sleep states (currently supported states are "standby" and
    "mem" (suspend to ram)) and additionally (if SOFTWARE_SUSPEND is configured)
    allows a platform to support a platform specific way to enter low-power mode
    once everything has been saved to disk. This is currently only used by ACPI
    (S4).

    This patch:

    The pm_ops.pm_disk_mode is used in totally bogus ways since nobody really
    seems to understand what it actually does.

    This patch clarifies the pm_disk_mode description.

    It also removes all the arm and sh users that think they can veto suspend to
    disk via pm_ops; not so since the user can always do echo shutdown >
    /sys/power/disk, they need to find a better way involving Kconfig or such.

    ACPI is the only user left with a non-zero pm_disk_mode.

    The patch also sets the default mode to shutdown again, but when a new pm_ops
    is registered its pm_disk_mode is selected as default, that way the default
    stays for ACPI where it is apparently required.

    Signed-off-by: Johannes Berg
    Cc: David Brownell
    Acked-by: Pavel Machek
    Cc:
    Cc: Len Brown
    Acked-by: Russell King
    Cc: Greg KH
    Cc: "Rafael J. Wysocki"
    Acked-by: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Berg
     
  • Today's print_symbol function dumps a kernel symbol with printk. This
    patch extends the functionality of kallsyms.c so that the symbol lookup
    function may be used without the printk. This is useful for modules that
    want to dump symbols elsewhere, for example, to debugfs. I intend to use
    the new function call in the GFS2 file system (which will be a separate
    patch).

    [akpm@linux-foundation.org: build fix]
    [clameter@sgi.com: sprint_symbol should return length of string like sprintf]
    Signed-off-by: Robert Peterson
    Cc: Rusty Russell
    Cc: Roman Zippel
    Cc: "Randy.Dunlap"
    Cc: Sam Ravnborg
    Acked-by: Paulo Marques
    Signed-off-by: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert Peterson
     

30 Apr, 2007

19 commits

  • * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jikos/hid: (21 commits)
    USB HID: don't warn on idVendor == 0
    USB HID: add 'quirks' module parameter
    USB HID: add support for dynamically-created quirks
    USB HID: clarify static quirk handling as squirks
    USB HID: encapsulate quirk handling into hid-quirks.c
    USB HID: EMS USBII device needs HID_QUIRK_MULTI_INPUT
    HID: update copyright and authorship macro
    HID: introduce proper zeroing of unused bits in output reports
    USB HID: add support for WiseGroup MP-8800 Quad Joypad
    USB HID: add FF support for Logitech Force 3D Pro Joystick
    USB HID: numlock quirk for dell W7658 keyboard
    USB HID: Logitech MX3000 keyboard needs report descriptor quirk
    USB HID: extend quirk for Logitech S510 keyboard
    USB HID: usbkbd/usbmouse - handle errors when registering devices
    USB HID: add QUIRK_HIDDEV for Belkin Flip KVM
    HID: enable dead keys on a belkin wireless keyboard
    USB HID: Thustmaster firestorm dual power v1 support
    USB HID: specify explicit size for hid_blacklist.quirks
    USB HID: fix retry & reset logic
    USB HID: consolidate vendor/product ids
    ...

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits)
    [IPV4] SNMP: Support OutMcastPkts and OutBcastPkts
    [IPV4] SNMP: Support InMcastPkts and InBcastPkts
    [IPV4] SNMP: Support InTruncatedPkts
    [IPV4] SNMP: Support InNoRoutes
    [SNMP]: Add definitions for {In,Out}BcastPkts
    [TCP] FRTO: RFC4138 allows Nagle override when new data must be sent
    [TCP] FRTO: Delay skb available check until it's mandatory
    [XFRM]: Restrict upper layer information by bundle.
    [TCP]: Catch skb with S+L bugs earlier
    [PATCH] INET : IPV4 UDP lookups converted to a 2 pass algo
    [L2TP]: Add the ability to autoload a pppox protocol module.
    [SKB]: Introduce skb_queue_walk_safe()
    [AF_IUCV/IUCV]: smp_call_function deadlock
    [IPV6]: Fix slab corruption running ip6sic
    [TCP]: Update references in two old comments
    [XFRM]: Export SPD info
    [IPV6]: Track device renames in snmp6.
    [SCTP]: Fix sctp_getsockopt_local_addrs_old() to use local storage.
    [NET]: Remove NETIF_F_INTERNAL_STATS, default to internal stats.
    [NETPOLL]: Remove CONFIG_NETPOLL_RX
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block:
    [PATCH] elevator: elv_list_lock does not need irq disabling
    [BLOCK] Don't pin lots of memory in mempools
    cfq-iosched: speedup cic rb lookup
    ll_rw_blk: add io_context private pointer
    cfq-iosched: get rid of cfqq hash
    cfq-iosched: tighten queue request overlap condition
    cfq-iosched: improve sync vs async workloads
    cfq-iosched: never allow an async queue idling
    cfq-iosched: get rid of ->dispatch_slice
    cfq-iosched: don't pass unused preemption variable around
    cfq-iosched: get rid of ->cur_rr and ->cfq_list
    cfq-iosched: slice offset should take ioprio into account
    [PATCH] cfq-iosched: style cleanups and comments
    cfq-iosched: sort IDLE queues into the rbtree
    cfq-iosched: sort RT queues into the rbtree
    [PATCH] cfq-iosched: speed up rbtree handling
    cfq-iosched: rework the whole round-robin list concept
    cfq-iosched: minor updates
    cfq-iosched: development update
    cfq-iosched: improve preemption for cooperating tasks

    Linus Torvalds
     
  • * 'for-2.6.22' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (255 commits)
    [POWERPC] Remove dev_dbg redefinition in drivers/ps3/vuart.c
    [POWERPC] remove kernel module option for booke wdt
    [POWERPC] Avoid putting cpu node twice
    [POWERPC] Spinlock initializer cleanup
    [POWERPC] ppc4xx_sgdma needs dma-mapping.h
    [POWERPC] arch/powerpc/sysdev/timer.c build fix
    [POWERPC] get_property cleanups
    [POWERPC] Remove the unused HTDMSOUND driver
    [POWERPC] cell: cbe_cpufreq cleanup and crash fix
    [POWERPC] Declare enable_kernel_spe in a header
    [POWERPC] Add dt_xlate_addr() to bootwrapper
    [POWERPC] bootwrapper: CONFIG_ -> CONFIG_DEVICE_TREE
    [POWERPC] Don't define a custom bd_t for Xilixn Virtex based boards.
    [POWERPC] Add sane defaults for Xilinx EDK generated xparameters files
    [POWERPC] Add uartlite boot console driver for the zImage wrapper
    [POWERPC] Stop using ppc_sys for Xilinx Virtex boards
    [POWERPC] New registration for common Xilinx Virtex ppc405 platform devices
    [POWERPC] Merge common virtex header files
    [POWERPC] Rework Kconfig dependancies for Xilinx Virtex ppc405 platform
    [POWERPC] Clean up cpufreq Kconfig dependencies
    ...

    Linus Torvalds
     
  • The updated IP-MIB RFC (RFC4293) specifys new objects, InBcastPkts
    and OutBcastPkts. This adds definitions for them.

    Signed-off-by: Mitsuru Chinen
    Signed-off-by: David S. Miller

    Mitsuru Chinen
     
  • This is a corner case where less than MSS sized new data thingie
    is awaiting in the send queue. For F-RTO to work correctly, a
    new data segment must be sent at certain point or F-RTO cannot
    be used at all. RFC4138 allows overriding of Nagle at that
    point.

    Implementation uses frto_counter states 2 and 3 to distinguish
    when Nagle override is needed.

    Signed-off-by: Ilpo Järvinen
    Signed-off-by: David S. Miller

    Ilpo Järvinen
     
  • On MIPv6 usage, XFRM sub policy is enabled.
    When main (IPsec) and sub (MIPv6) policy selectors have the same
    address set but different upper layer information (i.e. protocol
    number and its ports or type/code), multiple bundle should be created.
    However, currently we have issue to use the same bundle created for
    the first time with all flows covered by the case.

    It is useful for the bundle to have the upper layer information
    to be restructured correctly if it does not match with the flow.

    1. Bundle was created by two policies
    Selector from another policy is added to xfrm_dst.
    If the flow does not match the selector, it goes to slow path to
    restructure new bundle by single policy.

    2. Bundle was created by one policy
    Flow cache is added to xfrm_dst as originated one. If the flow does
    not match the cache, it goes to slow path to try searching another
    policy.

    Signed-off-by: Masahide NAKAMURA
    Signed-off-by: David S. Miller

    Masahide NAKAMURA
     
  • SACKED_ACKED and LOST are mutually exclusive with SACK, thus
    having their sum larger than packets_out is bug with SACK.
    Eventually these bugs trigger traps in the tcp_clean_rtx_queue
    with SACK but it's much more informative to do this here.

    Non-SACK TCP, however, could get more than packets_out duplicate
    ACKs which each increment sacked_out, so it makes sense to do
    this kind of limitting for non-SACK TCP but not for SACK enabled
    one. Perhaps the author had the opposite in mind but did the
    logic accidently wrong way around? Anyway, the sacked_out
    incrementer code for non-SACK already deals this issue before
    calling sync_left_out so this trapping can be done
    unconditionally.

    Signed-off-by: Ilpo Järvinen
    Signed-off-by: David S. Miller

    Ilpo Järvinen
     
  • Jens Axboe
     
  • Currently we scale the mempool sizes depending on memory installed
    in the machine, except for the bio pool itself which sits at a fixed
    256 entry pre-allocation.

    There's really no point in "optimizing" this OOM path, we just need
    enough preallocated to make progress. A single unit is enough, lets
    scale it down to 2 just to be on the safe side.

    This patch saves ~150kb of pinned kernel memory on a 32-bit box.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • This patch provides a method for walking skb lists while inserting or
    removing skbs from the list.

    Signed-off-by: James Chapman
    Signed-off-by: David S. Miller

    James Chapman
     
  • To be used by as/cfq as they see fit.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Paul Mackerras
     
  • This patch puts enable_kernel_spe into along with
    enable_kernel_altivec etc.

    Signed-off-by: Johannes Berg
    Signed-off-by: Paul Mackerras

    Johannes Berg
     
  • The arch/ppc/syslib/ppc_sys.c infrastructure does not work well for the
    virtex ports. Move the ml300 and ml403 board ports over to use the new
    virtex_devices infrastructure.

    Signed-off-by: Grant Likely
    Acked-by: Peter Korsgaard
    Signed-off-by: Paul Mackerras

    Grant Likely
     
  • The header files for the ml403 and ml300 are virtually identical, merge
    them into a single file.

    Signed-off-by: Grant Likely
    Signed-off-by: Paul Mackerras

    Grant Likely
     
  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (107 commits)
    smc911x: fix compilation breakage wjen debug is on
    [netdrvr] eexpress: minor corrections
    add NAPI support to sb1250-mac.c
    ixgb: ROUND_UP macro cleanup in drivers/net/ixgb
    e1000: ROUND_UP macro cleanup in drivers/net/e1000
    Generic HDLC sparse annotations
    e100: Optionally use I/O mode only to access register space
    e100: allow bad MAC address when running with invalid eeprom csum
    ehea: fix for dlpar support
    ehea: fix for sysfs entries
    3C509: Remove unnecessary include of
    NetXen: Fix for vmalloc issues
    NetXen: Fixes for Power PC architecture
    NetXen: Port swap feature for multi port cards
    NetXen: Removal of redundant macros
    NetXen: Multi PCI support for Quad cards
    NetXen: Removal of redundant argument passing
    NetXen: Use multiple PCI functions
    [netdrvr e100] experiment with doing RX in a similar manner to eepro100
    [PATCH] ieee80211: add missing global needed by IEEE80211_DEBUG_XXXX
    ...

    Linus Torvalds
     
  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (86 commits)
    SPIN_LOCK_UNLOCKED cleanup in drivers/ata/pata_winbond.c
    drivers/ata/pata_cmd640.c: fix build with CONFIG_PM=n
    pata_hpt37x: Further small fixes
    pata_hpt3x2n: Add HPT371N support and other bits
    ata: printk warning fixes
    libata: separate ATA_EHI_DID_RESET into DID_SOFTRESET and DID_HARDRESET
    ahci: consolidate common port flags
    ata_timing: ensure t->cycle is always correct
    libata: add missing call to ->cable_detect() in new EH path
    pata_amd: remove contamination added during cable_detect conversion
    libata: Handle drives that require a spin-up command before first access
    libata: HPA support
    libata: kill probe_ent and related helpers
    libata: convert the remaining PATA drivers to new init model
    libata: convert the remaining SATA drivers to new init model
    libata: convert ata_pci_init_native_mode() users to new init model
    libata: convert drivers with combined SATA/PATA ports to new init model
    libata: add init helpers including ata_pci_prepare_native_host()
    libata: convert native PCI host handling to new init model
    libata: convert legacy PCI host handling to new init model
    ...

    Linus Torvalds
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (105 commits)
    sonypi: use mutex instead of semaphore
    sony-laptop: remove user visible camera controls as platform attributes
    meye: make meye use sony-laptop instead of sonypi
    sony-laptop: add a meye-usable include file for camera ops
    sony-laptop: complete the motion eye camera support in sony-laptop
    sonypi: try to detect if sony-laptop has already taken one of the known ioports
    sonypi: suggest sonypi users to try sony-laptop instead
    sony-laptop: add edge modem support (also called WWAN)
    sony-laptop: add locking on accesses to the ioport and global vars
    sony-laptop: add camera enable/disable parameter, better handle possible infinite loop
    thinkpad-acpi: make drivers/misc/thinkpad_acpi:fan_mutex static
    ACPI: thinkpad-acpi: add sysfs support to wan and bluetooth subdrivers
    ACPI: thinkpad-acpi: add sysfs support to hotkey subdriver
    ACPI: thinkpad-acpi: improve dock subdriver initialization
    ACPI: thinkpad-acpi: improve debugging for acpi helpers
    ACPI: thinkpad-acpi: improve fan control documentation
    ACPI: thinkpad-acpi: map ENXIO to EINVAL for fan sysfs
    ACPI: thinkpad-acpi: fix a fan watchdog invocation
    ACPI: thinkpad-acpi: do not arm fan watchdog if it would not work
    ACPI: thinkpad-acpi: add a fan-control feature master toggle
    ...

    Linus Torvalds
     

29 Apr, 2007

14 commits

  • Calling smp_call_function can lead to a deadlock if it is called
    from tasklet context.
    Fixing this deadlock requires to move the smp_call_function from the
    tasklet context to a work queue. To do that queue the path pending
    interrupts to a separate list and move the path cleanup out of
    iucv_path_sever to iucv_path_connect and iucv_path_pending.
    This creates a new requirement for iucv_path_connect: it may not be
    called from tasklet context anymore.
    Also fixed compile problem for CONFIG_HOTPLUG_CPU=n and
    another one when walking the cpu_online mask. When doing this,
    we must disable cpu hotplug.

    Signed-off-by: Frank Pavlic
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: David S. Miller

    Martin Schwidefsky
     
  • With this patch you can use iproute2 in user space to efficiently see
    how many policies exist in different directions.

    Signed-off-by: Jamal Hadi Salim
    Signed-off-by: David S. Miller

    Jamal Hadi Salim
     
  • Herbert Xu conviced me that a new flag was overkill; every driver
    currently overrides get_stats, so we might as well make the internal
    one the default. If someone did fail to set get_stats, they would now
    get all 0 stats instead of "No statistics available".

    Signed-off-by: Rusty Russell
    Acked-by: Herbert Xu
    Signed-off-by: David S. Miller

    Rusty Russell
     
  • CONFIG_NETPOLL_TRAP causes the TX queue controls to be completely bypassed in
    the netpoll's "trapped" mode which easily causes overflows in the drivers with
    short TX queues (most notably, in 8139too with its 4-deep queue). So, make
    this option more sensible by making it only bypass the TX softirq wakeup.

    Signed-off-by: Sergei Shtylyov
    Acked-by: Jeff Garzik
    Acked-by: Tom Rini
    Acked-by: Matt Mackall
    Signed-off-by: David S. Miller

    Sergei Shtylyov
     
  • Len Brown
     
  • Len Brown
     
  • Copy and rename (for easier co-existence) the MEYE-wise exported interface.

    Signed-off-by: Mattia Dongili
    Signed-off-by: Len Brown

    malattia@linux.it
     
  • Separate ATA_EHI_DID_RESET into ATA_EHI_DID_SOFTRESET and
    ATA_EHI_DID_HARDRESET. ATA_EHI_DID_RESET is redefined as OR of the
    two flags. This patch doesn't introduce any behavior change. This
    will be used later to determine whether _SDD is necessary or not.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • (S)ATA drives can be configured for "power-up in standby",
    a mode whereby a specific "spin up now!" command is required
    before the first media access.

    Currently, a drive with this feature enabled can not be used at all
    with libata, and once in this mode, the drive becomes a doorstop.

    The older drivers/ide subsystem at least enumerates the drive,
    so that it can be woken up after the fact from a userspace HDIO_*
    command, but not libata.

    This patch adds support to libata for the "power-up in standby"
    mode where a "spin up now!" command (SET_FEATURES) is needed.
    With this, libata will recognize such drives, spin them up,
    and then re-IDENTIFY them if necessary to get a full/complete
    set of drive features data.

    Drives in this state are determined by looking for
    special values in id[2], as documented in the current ATA specs.

    Signed-off-by: Mark Lord
    Signed-off-by: Jeff Garzik

    Mark Lord
     
  • Signed-off-by: Alan Cox

    Add support for ignoring the BIOS HPA result (off by default) and setting
    the disk to the full available size unless already frozen.

    Tested with various platforms/disks and confirmed to work with the
    Macintosh (which broke earlier) and ata_piix (breakage due to the LBA48
    readback that Tejun fixed).

    For normal users this brings us, I believe, to feature parity with old IDE
    (and of course more featured in some areas too).
    Signed-off-by: Jeff Garzik

    Alan Cox
     
  • All drivers are converted to new init model. Kill probe_ent,
    ata_device_add() and ata_pci_init_native_mode().

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • These will be used to convert LLDs to new init model.

    * Add irq_handler field to port_info. In new init model, requesting
    IRQ is LLD's responsibility and libata doesn't need to know about
    irq_handler. Most LLDs can simply register their irq_handler but
    some need different irq_handler depending on specific chip. The
    added port_info->irq_handler field can be used by LLDs to select
    the matching IRQ handler in such cases.

    * Add ata_dummy_port_info.

    * Implement ata_pci_prepare_native_host(), a helper to alloc ATA host,
    acquire all resources and init the host in one go.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • Convert native PCI host handling to alloc-init-register model. New
    function ata_pci_init_native_host() follows the new init model and
    replaces ata_pci_init_native_mode(). As there are remaining LLD
    users, the old function isn't removed yet.

    ata_pci_init_one() is reimplemented using the new function and now
    fully converted to new init model.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • Implement ata_host_alloc_pinfo() and ata_host_register(). These helpers
    will be used in the following patches to adopt new init model.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo