11 Oct, 2007

6 commits

  • Add a documentation file which contains
    a short description about rfkill with some
    notes about drivers and the userspace interface.

    Changes since v1 and v2:
    - Spellchecking

    Signed-off-by: Ivo van Doorn
    Acked-by: Dmitry Torokhov
    Acked-by: Randy Dunlap

    Ivo van Doorn
     
  • This driver has been marked obsolete for a long time and
    is superseded by traffic schedulers.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     
  • Based upon initial work by Keiichi Kii .

    This patch introduces support for dynamic reconfiguration (adding, removing
    and/or modifying parameters of netconsole targets at runtime) using a
    userspace interface exported via configfs. Documentation is also updated
    accordingly.

    Issues and brief design overview:

    (1) Kernel-initiated creation / destruction of kernel objects is not
    possible with configfs -- the lifetimes of the "config items" is managed
    exclusively from userspace. But netconsole must support boot/module
    params too, and these are parsed in kernel and hence netpolls must be
    setup from the kernel. Joel Becker suggested to separately manage the
    lifetimes of the two kinds of netconsole_target objects -- those created
    via configfs mkdir(2) from userspace and those specified from the
    boot/module option string. This adds complexity and some redundancy here
    and also means that boot/module param-created targets are not exposed
    through the configfs namespace (and hence cannot be updated / destroyed
    dynamically). However, this saves us from locking / refcounting
    complexities that would need to be introduced in configfs to support
    kernel-initiated item creation / destroy there.

    (2) In configfs, item creation takes place in the call chain of the
    mkdir(2) syscall in the driver subsystem. If we used an ioctl(2) to
    create / destroy objects from userspace, the special userspace program is
    able to fill out the structure to be passed into the ioctl and hence
    specify attributes such as local interface that are required at the time
    we set up the netpoll. For configfs, this information is not available at
    the time of mkdir(2). So, we keep all newly-created targets (via
    configfs) disabled by default. The user is expected to set various
    attributes appropriately (including the local network interface if
    required) and then write(2) "1" to the "enabled" attribute. Thus,
    netpoll_setup() is then called on the set parameters in the context of
    _this_ write(2) on the "enabled" attribute itself. This design enables
    the user to reconfigure existing netconsole targets at runtime to be
    attached to newly-come-up interfaces that may not have existed when
    netconsole was loaded or when the targets were actually created. All this
    effectively enables us to get rid of custom ioctls.

    (3) Ultra-paranoid configfs attribute show() and store() operations, with
    sanity and input range checking, using only safe string primitives, and
    compliant with the recommendations in Documentation/filesystems/sysfs.txt.

    (4) A new function netpoll_print_options() is created in the netpoll API,
    that just prints out the configured parameters for a netpoll structure.
    netpoll_parse_options() is modified to use that and it is also exported to
    be used from netconsole.

    Signed-off-by: Satyam Sharma
    Acked-by: Keiichi Kii
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Satyam Sharma
     
  • Based upon initial work by Keiichi Kii .

    This patch introduces support for multiple targets, independent of
    CONFIG_NETCONSOLE_DYNAMIC -- this is useful even in the default case and
    (including the infrastructure introduced in previous patches) doesn't really
    add too many bytes to module text. All the complexity (and size) comes with
    the dynamic reconfigurability / userspace interface patch, and so it's
    plausible users may want to keep this enabled but that disabled (say to avoid
    a dependency on CONFIG_CONFIGFS_FS too).

    Also update documentation to mention the use of ";" separator to specify
    multiple logging targets in the boot/module option string.

    Brief overview:

    We maintain a target_list (and corresponding lock). Get rid of the static
    "default_target" and introduce allocation and release functions for our
    netconsole_target objects (but keeping sure to preserve previous behaviour
    such as default values). During init_netconsole(), ";" is used as the
    separator to identify multiple target specifications in the boot/module option
    string. The target specifications are parsed and netpolls setup. During
    exit, the target_list is torn down and all items released.

    Signed-off-by: Satyam Sharma
    Signed-off-by: Keiichi Kii
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Satyam Sharma
     
  • Based upon initial work by Keiichi Kii .

    Add some useful general-purpose tips. Also suggest solution for the frequent
    problem of console loglevel set too low numerically (i.e. for high priority
    messages only) on the sender.

    Signed-off-by: Satyam Sharma
    Acked-by: Keiichi Kii
    Acked-by: Matt Mackall
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Satyam Sharma
     
  • Several devices have multiple independant RX queues per net
    device, and some have a single interrupt doorbell for several
    queues.

    In either case, it's easier to support layouts like that if the
    structure representing the poll is independant from the net
    device itself.

    The signature of the ->poll() call back goes from:

    int foo_poll(struct net_device *dev, int *budget)

    to

    int foo_poll(struct napi_struct *napi, int budget)

    The caller is returned the number of RX packets processed (or
    the number of "NAPI credits" consumed if you want to get
    abstract). The callee no longer messes around bumping
    dev->quota, *budget, etc. because that is all handled in the
    caller upon return.

    The napi_struct is to be embedded in the device driver private data
    structures.

    Furthermore, it is the driver's responsibility to disable all NAPI
    instances in it's ->stop() device close handler. Since the
    napi_struct is privatized into the driver's private data structures,
    only the driver knows how to get at all of the napi_struct instances
    it may have per-device.

    With lots of help and suggestions from Rusty Russell, Roland Dreier,
    Michael Chan, Jeff Garzik, and Jamal Hadi Salim.

    Bug fixes from Thomas Graf, Roland Dreier, Peter Zijlstra,
    Joseph Fannin, Scott Wood, Hans J. Koch, and Michael Chan.

    [ Ported to current tree and all drivers converted. Integrated
    Stephen's follow-on kerneldoc additions, and restored poll_list
    handling to the old style to fix mutual exclusion issues. -DaveM ]

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     

08 Oct, 2007

2 commits


01 Oct, 2007

1 commit


27 Sep, 2007

1 commit


25 Sep, 2007

1 commit


21 Sep, 2007

1 commit

  • Emil Medve points out that this documentation file uses CRLF line
    endings, which means that if you use

    [core]
    autocrlf=input

    (which makes sense if you ever develop under Windows, for example, or if
    you use other broken tools) in your git config, git will always complain
    about the file being dirty.

    This removes the bogus DOS line endings, and removes whitespace at the
    end of line.

    Cc: Emil Medve
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

18 Sep, 2007

2 commits


17 Sep, 2007

3 commits

  • Len Brown
     
  • Name it thinkpad-acpi version 0.16 to avoid any confusion with some 0.15
    thinkpad-acpi development snapshots and backports that had input layer
    support, but no hotkey_report_mode support.

    Signed-off-by: Henrique de Moraes Holschuh
    Signed-off-by: Len Brown

    Henrique de Moraes Holschuh
     
  • Revert new 2.6.23 CONFIG_THINKPAD_ACPI_INPUT_ENABLED Kconfig option because
    it would create a legacy we don't want to support.

    CONFIG_THINKPAD_ACPI_INPUT_ENABLED was added to try to fix an issue that is
    now moot with the addition of the netlink ACPI event report interface to
    the ACPI core.

    Now that ACPI core can send events over netlink, we can use a different
    strategy to keep backwards compatibility with older userspace, without the
    need for the CONFIG_THINKPAD_ACPI_INPUT_ENABLED games. And it arrived
    before CONFIG_THINKPAD_ACPI_INPUT_ENABLED made it to a stable mainline
    kernel, even, which is Good.

    This patch is in sync with some changes to thinkpad-acpi backports, that
    will keep things sane for userspace across different combinations of kernel
    versions, thinkpad-acpi backports (or the lack thereof), and userspace
    capabilities:

    Unless a module parameter is used, thinkpad-acpi will now behave in such a
    way that it will work well (by default) with userspace that still uses only
    the old ACPI procfs event interface and doesn't care for thinkpad-acpi
    input devices.

    It will also always work well with userspace that has been updated to use
    both the thinkpad-acpi input devices, and ACPI core netlink event
    interface, regardless of any module parameter.

    The module parameter was added to allow thinkpad-acpi to work with
    userspace that has been partially updated to use thinkpad-acpi input
    devices, but not the new ACPI core netlink event interface. To use this
    mode of hot key reporting, one has to specify the hotkey_report_mode=2
    module parameter.

    The thinkpad-acpi driver exports the value of hotkey_report_mode through
    sysfs, as well. thinkpad-acpi backports to older kernels, that do not
    support the new ACPI core netlink interface, have code to allow userspace
    to switch hotkey_report_mode at runtime through sysfs. This capability
    will not be provided in mainline thinkpad-acpi as it is not needed there.

    Signed-off-by: Henrique de Moraes Holschuh
    Cc: Michael S. Tsirkin
    Cc: Hugh Dickins
    Cc: Richard Hughes
    Signed-off-by: Len Brown

    Henrique de Moraes Holschuh
     

16 Sep, 2007

2 commits

  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
    drivers/net/pcmcia/3c589_cs: fix port configuration switcheroo
    sk98lin: resurrect driver
    ucc_geth: fix compilation
    mv643xx_eth: Fix tx_bytes stats calculation
    As struct iw_point is bi-directional payload, we should copy back the content
    [PATCH] bcm43xx: Fix cancellation of work queue crashes
    spidernet: fix interrupt reason recognition
    ehea: fix last_rx update
    ehea: propagate physical port state
    Fix a lock problem in generic phy code
    sky2: restore multicast list on resume and other ops
    atl1: disable broken 64-bit DMA

    Linus Torvalds
     
  • This reverts commit e1abecc48938fbe1966ea6e78267fc673fa59295.

    The driver works on some hardware that skge doesn't handle yet.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Jeff Garzik

    Stephen Hemminger
     

15 Sep, 2007

2 commits


13 Sep, 2007

1 commit


12 Sep, 2007

4 commits


11 Sep, 2007

1 commit


31 Aug, 2007

1 commit

  • We find that SB700 and SB800 use the same SMBus device ID as SB600, which is
    0x4385, instead of the already submitted 0x4395.

    Besides removing the wrong SB700 device ID, add SB800 support to kernel, by
    renaming the PCI_DEVICE_ID_ATI_IXP600_SMBUS into
    PCI_DEVICE_ID_ATI_SBX00_SMBUS.

    Signed-off-by: Shane Huang
    Signed-off-by: Jean Delvare
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Shane Huang
     

25 Aug, 2007

3 commits


24 Aug, 2007

4 commits


23 Aug, 2007

5 commits

  • Updates to the MAINTAINERS file and documentation for 9p to point to the
    swik wiki versus the outdated sf.net page. Also updated some email addresses
    and added pointers to papers which better describe the implementation and
    application of the Linux 9p client.

    Signed-off-by: Eric Van Hensbergen

    Eric Van Hensbergen
     
  • Commit b663a79c191508f27cd885224b592a878c0ba0f6 ("taskstats: add
    context-switch counters") incorrectly removed a comma from a printf
    statement. This causes corruption in the output printing or a seg
    fault.

    Signed-off-by: Michael Neuling
    Acked-by: Balbir Singh
    Signed-off-by: Linus Torvalds

    Michael Neuling
     
  • I couldn't find any memory policy documentation in the Documentation
    directory, so here is my attempt to document it.

    There's lots more that could be written about the internal design--including
    data structures, functions, etc. However, if you agree that this is better
    that the nothing that exists now, perhaps it could be merged. This will
    provide a baseline for updates to document the many policy patches that are
    currently being worked.

    Signed-off-by: Lee Schermerhorn
    Cc: Christoph Lameter
    Cc: Andi Kleen
    Cc: Michael Kerrisk
    Acked-by: Rob Landley
    Acked-by: Mel Gorman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lee Schermerhorn
     
  • This useful interface is hardly mentioned anywhere in the in-tree
    documentation.

    Signed-off-by: Rolf Eike Beer
    Cc: Tejun Heo
    Acked-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Rolf Eike Beer
     
  • Hello,

    I've noticed that in Document/HOWTO the url address:
    http://sosdg.org/~coywolf/lxr/
    has changed to
    http://users.sosdg.org/~qiyong/lxr/
    from the website.

    -- qiyong

    Signed-off-by: Qi Yong
    Signed-off-by: Greg Kroah-Hartman

    Qi Yong