Skip to content
  1. Jul 24, 2008
    • Nobuhiro Iwamatsu's avatar
      video: sh7760fb: SH7760/SH7763 LCDC framebuffer driver · 4a25e418
      Nobuhiro Iwamatsu authored
      
      
      Framebuffer driver for the SH7760/SH7763 integrated LCD controller.
      
      Signed-off-by: default avatarManuel Lauss <mano@roarinelk.homelinux.net>
      Signed-off-by: default avatarNobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
      Reviewed-by: default avatarPaul Mundt <lethal@linux-sh.org>
      Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
      Cc: "Antonino A. Daplas" <adaplas@pol.net>
      Cc: Siegfried Schaefer <s.schaefer@schaefer-edv.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4a25e418
    • Krzysztof Helt's avatar
      tridentfb: documentation update · a90ed92e
      Krzysztof Helt authored
      
      
      Make the tridentfb documentation closer to current state of the tridentfb
      driver.  Fix also some formatting.
      
      Signed-off-by: default avatarKrzysztof Helt <krzysztof.h1@wp.pl>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a90ed92e
    • Shaohua Li's avatar
      pm: acpi hibernation: utilize hardware signature · bdfe6b7c
      Shaohua Li authored
      
      
      ACPI defines a hardware signature.  BIOS calculates the signature according to
      hardware configure and if hardware changes while hibernated, the signature
      will change.  In that case, S4 resume should fail.
      
      Still, there may be systems on which this mechanism does not work correctly,
      so it is better to provide a workaround for them.  For this reason, add a new
      switch to the acpi_sleep= command line argument allowing one to disable
      hardware signature checking.
      
      [shaohua.li@intel.com: build fix]
      Signed-off-by: default avatarShaohua Li <shaohua.li@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Len Brown <lenb@kernel.org>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Cc: <Valdis.Kletnieks@vt.edu>
      Cc: Shaohua Li <shaohua.li@intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bdfe6b7c
    • Rafael J. Wysocki's avatar
      pm: remove obsolete piece of PM documentation · 40b4ac33
      Rafael J. Wysocki authored
      
      
      Remove some obsolete PM documentation.
      
      The majority of contents of Documentation/power/pm.txt are
      outdated.  Remove the outdated parts of this file and move the rest
      to Documentation/power/apm-acpi.txt .  Update the index in
      Documentation/power/ as appropriate.
      
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Acked-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      40b4ac33
    • David Brownell's avatar
      pm: boot time suspend selftest · 77437fd4
      David Brownell authored
      
      
      Boot-time test for system suspend states (STR or standby).  The generic
      RTC framework triggers wakeup alarms, which are used to exit those states.
      
        - Measures some aspects of suspend time ... this uses "jiffies" until
          someone converts it to use a timebase that works properly even while
          timer IRQs are disabled.
      
        - Triggered by a command line parameter.  By default nothing even
          vaguely troublesome will happen, but "test_suspend=mem" will give
          you a brief STR test during system boot.  (Or you may need to use
          "test_suspend=standby" instead, if your hardware needs that.)
      
      This isn't without problems.  It fires early enough during boot that for
      example both PCMCIA and MMC stacks have misbehaved.  The workaround in
      those cases was to boot without such media cards inserted.
      
      [matthltc@us.ibm.com: fix compile failure in boot time suspend selftest]
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Pavel Machek <pavel@suse.cz>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Signed-off-by: default avatarMatt Helsley <matthltc@us.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      77437fd4
    • Badari Pulavarty's avatar
      memory-hotplug: add sysfs removable attribute for hotplug memory remove · 5c755e9f
      Badari Pulavarty authored
      
      
      Memory may be hot-removed on a per-memory-block basis, particularly on
      POWER where the SPARSEMEM section size often matches the memory-block
      size.  A user-level agent must be able to identify which sections of
      memory are likely to be removable before attempting the potentially
      expensive operation.  This patch adds a file called "removable" to the
      memory directory in sysfs to help such an agent.  In this patch, a memory
      block is considered removable if;
      
      o It contains only MOVABLE pageblocks
      o It contains only pageblocks with free pages regardless of pageblock type
      
      On the other hand, a memory block starting with a PageReserved() page will
      never be considered removable.  Without this patch, the user-agent is
      forced to choose a memory block to remove randomly.
      
      Sample output of the sysfs files:
      
      ./memory/memory0/removable: 0
      ./memory/memory1/removable: 0
      ./memory/memory2/removable: 0
      ./memory/memory3/removable: 0
      ./memory/memory4/removable: 0
      ./memory/memory5/removable: 0
      ./memory/memory6/removable: 0
      ./memory/memory7/removable: 1
      ./memory/memory8/removable: 0
      ./memory/memory9/removable: 0
      ./memory/memory10/removable: 0
      ./memory/memory11/removable: 0
      ./memory/memory12/removable: 0
      ./memory/memory13/removable: 0
      ./memory/memory14/removable: 0
      ./memory/memory15/removable: 0
      ./memory/memory16/removable: 0
      ./memory/memory17/removable: 1
      ./memory/memory18/removable: 1
      ./memory/memory19/removable: 1
      ./memory/memory20/removable: 1
      ./memory/memory21/removable: 1
      ./memory/memory22/removable: 1
      
      Signed-off-by: default avatarBadari Pulavarty <pbadari@us.ibm.com>
      Signed-off-by: default avatarMel Gorman <mel@csn.ul.ie>
      Acked-by: default avatarKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5c755e9f
    • Jon Tollefson's avatar
      powerpc: support multiple hugepage sizes · 0d9ea754
      Jon Tollefson authored
      
      
      Instead of using the variable mmu_huge_psize to keep track of the huge
      page size we use an array of MMU_PAGE_* values.  For each supported huge
      page size we need to know the hugepte_shift value and have a
      pgtable_cache.  The hstate or an mmu_huge_psizes index is passed to
      functions so that they know which huge page size they should use.
      
      The hugepage sizes 16M and 64K are setup(if available on the hardware) so
      that they don't have to be set on the boot cmd line in order to use them.
      The number of 16G pages have to be specified at boot-time though (e.g.
      hugepagesz=16G hugepages=5).
      
      Signed-off-by: default avatarJon Tollefson <kniht@linux.vnet.ibm.com>
      Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0d9ea754
    • Nicholas Piggin's avatar
      hugetlb: override default huge page size · e11bfbfc
      Nicholas Piggin authored
      
      
      Allow configurations with the default huge page size which is different to
      the traditional HPAGE_SIZE size.  The default huge page size is the one
      represented in the legacy /proc ABIs, SHM, and which is defaulted to when
      mounting hugetlbfs filesystems.
      
      This is implemented with a new kernel option default_hugepagesz=, which
      defaults to HPAGE_SIZE if not specified.
      
      Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e11bfbfc
    • Andi Kleen's avatar
      x86: add hugepagesz option on 64-bit · b4718e62
      Andi Kleen authored
      
      
      Add an hugepagesz=...  option similar to IA64, PPC etc.  to x86-64.
      
      This finally allows to select GB pages for hugetlbfs in x86 now that all
      the infrastructure is in place.
      
      Signed-off-by: default avatarAndi Kleen <ak@suse.de>
      Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b4718e62
    • Nishanth Aravamudan's avatar
      hugetlb: new sysfs interface · a3437870
      Nishanth Aravamudan authored
      
      
      Provide new hugepages user APIs that are more suited to multiple hstates
      in sysfs.  There is a new directory, /sys/kernel/hugepages.  Underneath
      that directory there will be a directory per-supported hugepage size,
      e.g.:
      
      /sys/kernel/hugepages/hugepages-64kB
      /sys/kernel/hugepages/hugepages-16384kB
      /sys/kernel/hugepages/hugepages-16777216kB
      
      corresponding to 64k, 16m and 16g respectively.  Within each
      hugepages-size directory there are a number of files, corresponding to the
      tracked counters in the hstate, e.g.:
      
      /sys/kernel/hugepages/hugepages-64/nr_hugepages
      /sys/kernel/hugepages/hugepages-64/nr_overcommit_hugepages
      /sys/kernel/hugepages/hugepages-64/free_hugepages
      /sys/kernel/hugepages/hugepages-64/resv_hugepages
      /sys/kernel/hugepages/hugepages-64/surplus_hugepages
      
      Of these files, the first two are read-write and the latter three are
      read-only.  The size of the hugepage being manipulated is trivially
      deducible from the enclosing directory and is always expressed in kB (to
      match meminfo).
      
      [dave@linux.vnet.ibm.com: fix build]
      [nacc@us.ibm.com: hugetlb: hang off of /sys/kernel/mm rather than /sys/kernel]
      [nacc@us.ibm.com: hugetlb: remove CONFIG_SYSFS dependency]
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: default avatarNishanth Aravamudan <nacc@us.ibm.com>
      Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
      Cc: Dave Hansen <dave@linux.vnet.ibm.com>
      Signed-off-by: default avatarNishanth Aravamudan <nacc@us.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a3437870
    • Nishanth Aravamudan's avatar
      mm: create /sys/kernel/mm · ff7ea79c
      Nishanth Aravamudan authored
      
      
      Add a kobject to create /sys/kernel/mm when sysfs is mounted.  The kobject
      will exist regardless.  This will allow for the hugepage related sysfs
      directories to exist under the mm "subsystem" directory.  Add an ABI file
      appropriately.
      
      [kosaki.motohiro@jp.fujitsu.com: fix build]
      Signed-off-by: default avatarNishanth Aravamudan <nacc@us.ibm.com>
      Cc: Nick Piggin <nickpiggin@yahoo.com.au>
      Cc: Mel Gorman <mel@csn.ul.ie>
      Signed-off-by: default avatarKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ff7ea79c
    • Eric Dumazet's avatar
      vmallocinfo: add NUMA information · a47a126a
      Eric Dumazet authored
      
      
      Christoph recently added /proc/vmallocinfo file to get information about
      vmalloc allocations.
      
      This patch adds NUMA specific information, giving number of pages
      allocated on each memory node.
      
      This should help to check that vmalloc() is able to respect NUMA policies.
      
      Example of output on a four nodes machine (one cpu per node)
      
      1) network hash tables are evenly spreaded on four nodes (OK) (Same
         point for inodes and dentries hash tables)
      
      2) iptables tables (x_tables) are correctly allocated on each cpu node
         (OK).
      
      3) sys_swapon() allocates its memory from one node only.
      
      4) each loaded module is using memory on one node.
      
      Sysadmins could tune their setup to change points 3) and 4) if necessary.
      
      grep "pages="  /proc/vmallocinfo
      0xffffc20000000000-0xffffc20000201000 2101248 alloc_large_system_hash+0x204/0x2c0 pages=512 vmalloc N0=128 N1=128 N2=128 N3=128
      0xffffc20000201000-0xffffc20000302000 1052672 alloc_large_system_hash+0x204/0x2c0 pages=256 vmalloc N0=64 N1=64 N2=64 N3=64
      0xffffc2000031a000-0xffffc2000031d000   12288 alloc_large_system_hash+0x204/0x2c0 pages=2 vmalloc N1=1 N2=1
      0xffffc2000031f000-0xffffc2000032b000   49152 cramfs_uncompress_init+0x2e/0x80 pages=11 vmalloc N0=3 N1=3 N2=2 N3=3
      0xffffc2000033e000-0xffffc20000341000   12288 sys_swapon+0x640/0xac0 pages=2 vmalloc N0=2
      0xffffc20000341000-0xffffc20000344000   12288 xt_alloc_table_info+0xfe/0x130 [x_tables] pages=2 vmalloc N0=2
      0xffffc20000344000-0xffffc20000347000   12288 xt_alloc_table_info+0xfe/0x130 [x_tables] pages=2 vmalloc N1=2
      0xffffc20000347000-0xffffc2000034a000   12288 xt_alloc_table_info+0xfe/0x130 [x_tables] pages=2 vmalloc N2=2
      0xffffc2000034a000-0xffffc2000034d000   12288 xt_alloc_table_info+0xfe/0x130 [x_tables] pages=2 vmalloc N3=2
      0xffffc20004381000-0xffffc20004402000  528384 alloc_large_system_hash+0x204/0x2c0 pages=128 vmalloc N0=32 N1=32 N2=32 N3=32
      0xffffc20004402000-0xffffc20004803000 4198400 alloc_large_system_hash+0x204/0x2c0 pages=1024 vmalloc vpages N0=256 N1=256 N2=256 N3=256
      0xffffc20004803000-0xffffc20004904000 1052672 alloc_large_system_hash+0x204/0x2c0 pages=256 vmalloc N0=64 N1=64 N2=64 N3=64
      0xffffc20004904000-0xffffc20004bec000 3047424 sys_swapon+0x640/0xac0 pages=743 vmalloc vpages N0=743
      0xffffffffa0000000-0xffffffffa000f000   61440 sys_init_module+0xc27/0x1d00 pages=14 vmalloc N1=14
      0xffffffffa000f000-0xffffffffa0014000   20480 sys_init_module+0xc27/0x1d00 pages=4 vmalloc N0=4
      0xffffffffa0014000-0xffffffffa0017000   12288 sys_init_module+0xc27/0x1d00 pages=2 vmalloc N0=2
      0xffffffffa0017000-0xffffffffa0022000   45056 sys_init_module+0xc27/0x1d00 pages=10 vmalloc N1=10
      0xffffffffa0022000-0xffffffffa0028000   24576 sys_init_module+0xc27/0x1d00 pages=5 vmalloc N3=5
      0xffffffffa0028000-0xffffffffa0050000  163840 sys_init_module+0xc27/0x1d00 pages=39 vmalloc N1=39
      0xffffffffa0050000-0xffffffffa0052000    8192 sys_init_module+0xc27/0x1d00 pages=1 vmalloc N1=1
      0xffffffffa0052000-0xffffffffa0056000   16384 sys_init_module+0xc27/0x1d00 pages=3 vmalloc N1=3
      0xffffffffa0056000-0xffffffffa0081000  176128 sys_init_module+0xc27/0x1d00 pages=42 vmalloc N3=42
      0xffffffffa0081000-0xffffffffa00ae000  184320 sys_init_module+0xc27/0x1d00 pages=44 vmalloc N3=44
      0xffffffffa00ae000-0xffffffffa00b1000   12288 sys_init_module+0xc27/0x1d00 pages=2 vmalloc N3=2
      0xffffffffa00b1000-0xffffffffa00b9000   32768 sys_init_module+0xc27/0x1d00 pages=7 vmalloc N0=7
      0xffffffffa00b9000-0xffffffffa00c4000   45056 sys_init_module+0xc27/0x1d00 pages=10 vmalloc N3=10
      0xffffffffa00c6000-0xffffffffa00e0000  106496 sys_init_module+0xc27/0x1d00 pages=25 vmalloc N2=25
      0xffffffffa00e0000-0xffffffffa00f1000   69632 sys_init_module+0xc27/0x1d00 pages=16 vmalloc N2=16
      0xffffffffa00f1000-0xffffffffa00f4000   12288 sys_init_module+0xc27/0x1d00 pages=2 vmalloc N3=2
      0xffffffffa00f4000-0xffffffffa00f7000   12288 sys_init_module+0xc27/0x1d00 pages=2 vmalloc N3=2
      
      [akpm@linux-foundation.org: fix comment]
      Signed-off-by: default avatarEric Dumazet <dada1@cosmosbay.com>
      Cc: Christoph Lameter <cl@linux-foundation.org>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a47a126a
    • Rik van Riel's avatar
      access_process_vm device memory infrastructure · 28b2ee20
      Rik van Riel authored
      
      
      In order to be able to debug things like the X server and programs using
      the PPC Cell SPUs, the debugger needs to be able to access device memory
      through ptrace and /proc/pid/mem.
      
      This patch:
      
      Add the generic_access_phys access function and put the hooks in place
      to allow access_process_vm to access device or PPC Cell SPU memory.
      
      [riel@redhat.com: Add documentation for the vm_ops->access function]
      Signed-off-by: default avatarRik van Riel <riel@redhat.com>
      Signed-off-by: default avatarBenjamin Herrensmidt <benh@kernel.crashing.org>
      Cc: Dave Airlie <airlied@linux.ie>
      Cc: Hugh Dickins <hugh@veritas.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Acked-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      28b2ee20
    • Mel Gorman's avatar
      mm: add a basic debugging framework for memory initialisation · 6b74ab97
      Mel Gorman authored
      
      
      Boot initialisation is very complex, with significant numbers of
      architecture-specific routines, hooks and code ordering.  While significant
      amounts of the initialisation is architecture-independent, it trusts the data
      received from the architecture layer.  This is a mistake, and has resulted in
      a number of difficult-to-diagnose bugs.
      
      This patchset adds some validation and tracing to memory initialisation.  It
      also introduces a few basic defensive measures.  The validation code can be
      explicitly disabled for embedded systems.
      
      This patch:
      
      Add additional debugging and verification code for memory initialisation.
      
      Once enabled, the verification checks are always run and when required
      additional debugging information may be outputted via a mminit_loglevel=
      command-line parameter.
      
      The verification code is placed in a new file mm/mm_init.c.  Ideally other mm
      initialisation code will be moved here over time.
      
      Signed-off-by: default avatarMel Gorman <mel@csn.ul.ie>
      Cc: Christoph Lameter <cl@linux-foundation.org>
      Cc: Andy Whitcroft <apw@shadowen.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6b74ab97
    • Matthew Wilcox's avatar
      Remove asm/semaphore.h · 2351ec53
      Matthew Wilcox authored
      
      
      All users have now been converted to linux/semaphore.h and we don't need
      to keep these files around any longer.
      
      Signed-off-by: default avatarMatthew Wilcox <willy@linux.intel.com>
      2351ec53
    • Matthew Wilcox's avatar
      Remove mention of semaphores from kernel-locking · 78305de2
      Matthew Wilcox authored
      
      
      Since the consensus seems to be to eliminate semaphores where possible,
      we shouldn't be educating people about how to use them as locks.  Use
      mutexes instead.  Semaphores should be described in a separate document
      if we end up keeping them.
      
      Signed-off-by: default avatarMatthew Wilcox <willy@linux.intel.com>
      Acked-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      78305de2
  2. Jul 22, 2008
  3. Jul 21, 2008
    • Alan Stern's avatar
      USB: use reset_resume when normal resume fails · 86c57edf
      Alan Stern authored
      
      
      This patch (as1109b) makes USB-Persist more resilient to errors.  With
      the current code, if a normal resume fails, it's an unrecoverable
      error.  With the patch, if a normal resume fails (and if the device is
      enabled for USB-Persist) then a reset-resume is tried.
      
      This fixes the problem reported in Bugzilla #10977.
      
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
      86c57edf
    • David Brownell's avatar
      usb gadget serial: split out generic serial function · 61d8baea
      David Brownell authored
      
      
      Split out the generic serial support into a "function driver".  This
      closely mimics the ACM support, but with a MUCH simpler control model.
      
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      61d8baea
    • David Brownell's avatar
      usb gadget serial: split out CDC ACM function · 4d5a73dc
      David Brownell authored
      
      
      Split out CDC ACM parts of "gadget serial" to a "function driver".
      Some key structural differences from the previous ACM support, shared
      with with the generic serial function (next patch):
      
       - As a function driver, it can be combined with other functions.
         One gadget configuration could offer both serial and network
         links, as an example.
      
       - One serial port can be exposed in multiple configurations;
         the /dev/ttyGS0 node could be exposed regardless of which
         config the host selected.
      
       - One configuration can expose multiple serial ports, such as
         ttyGS0, ttyGS1, ttyGS2, and ttyGS3.
      
      This code should be a lot easier to understand than the previous
      all-in-one-big-file version of the driver.
      
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      4d5a73dc
    • David Brownell's avatar
      usb gadget: composite gadget core · 40982be5
      David Brownell authored
      
      
      Add <linux/usb/composite.h> interfaces for composite gadget drivers, and
      basic implementation support behind it:
      
        - struct usb_function ... groups one or more interfaces into a function
          managed as one unit within a configuration, to which it's added by
          usb_add_function().
      
        - struct usb_configuration ... groups one or more such functions into
          a configuration managed as one unit by a driver, to which it's added
          by usb_add_config().  These operate at either high or full/low speeds
          and at a given bMaxPower.
      
        - struct usb_composite_driver ... groups one or more such configurations
          into a gadget driver, which may be registered or unregistered.
      
        - struct usb_composite_dev ... a usb_composite_driver manages this; it
          wraps the usb_gadget exposed by the controller driver.
      
      This also includes some basic kerneldoc.
      
      How to use it (the short version):  provide a usb_composite_driver with a
      bind() that calls usb_add_config() for each of the needed configurations.
      The configurations in turn have bind() calls, which will usb_add_function()
      for each function required.  Each function's bind() allocates resources
      needed to perform its tasks, like endpoints; sometimes configurations will
      allocate resources too.
      
      Separate patches will convert most gadget drivers to this infrastructure.
      
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      40982be5
    • David Brownell's avatar
      usb gadget: use new serial core · a7707adf
      David Brownell authored
      
      
      Teach "gadget serial" to use the new abstracted (and bugfixed) TTY glue,
      and remove all the orignal tangled-up code.  Update the documentation
      accordingly.  This is a net object code shrink and cleanup; it should
      make it a lot easier to see how the TTY glue should accomodate updates
      to the TTY layer, be bugfixed, etc.
      
      Notable behavior changes include:  it can now support getty even when
      there's no USB connection; it fits properly into the mdev/udev world;
      and RX handling is better (throttling works, and low latency).
      
      Configurations with scripts setting up the /dev/ttygserial device node
      (with "experimental" major number) may want to change that to be a
      symlink pointing to the /dev/ttyGS0 file, as a migration aid; else,
      just switch entirely over to mdev/udev.
      
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      a7707adf
    • Adrian Bunk's avatar
      USB: remove Documentation/usb/uhci.txt · baad4119
      Adrian Bunk authored
      
      
      The driver was removed before kernel 2.6.0
      
      Signed-off-by: default avatarAdrian Bunk <bunk@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      
      baad4119
    • Gerrit Renker's avatar
      udplite: Protection against coverage value wrap-around · 47112e25
      Gerrit Renker authored
      
      
      This patch clamps the cscov setsockopt values to a maximum of 0xFFFF.
      
      Setsockopt values greater than 0xffff can cause an unwanted
      wrap-around.  Further, IPv6 jumbograms are not supported (RFC 3838,
      3.5), so that values greater than 0xffff are not even useful.
      
      Further changes: fixed a typo in the documentation.
      
      Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      47112e25
    • Krzysztof Piotr Oledzki's avatar
      netfilter: accounting rework: ct_extend + 64bit counters (v4) · 58401572
      Krzysztof Piotr Oledzki authored
      
      
      Initially netfilter has had 64bit counters for conntrack-based accounting, but
      it was changed in 2.6.14 to save memory. Unfortunately in-kernel 64bit counters are
      still required, for example for "connbytes" extension. However, 64bit counters
      waste a lot of memory and it was not possible to enable/disable it runtime.
      
      This patch:
       - reimplements accounting with respect to the extension infrastructure,
       - makes one global version of seq_print_acct() instead of two seq_print_counters(),
       - makes it possible to enable it at boot time (for CONFIG_SYSCTL/CONFIG_SYSFS=n),
       - makes it possible to enable/disable it at runtime by sysctl or sysfs,
       - extends counters from 32bit to 64bit,
       - renames ip_conntrack_counter -> nf_conn_counter,
       - enables accounting code unconditionally (no longer depends on CONFIG_NF_CT_ACCT),
       - set initial accounting enable state based on CONFIG_NF_CT_ACCT
       - removes buggy IPCT_COUNTER_FILLING event handling.
      
      If accounting is enabled newly created connections get additional acct extend.
      Old connections are not changed as it is not possible to add a ct_extend area
      to confirmed conntrack. Accounting is performed for all connections with
      acct extend regardless of a current state of "net.netfilter.nf_conntrack_acct".
      
      Signed-off-by: default avatarKrzysztof Piotr Oledzki <ole@ans.pl>
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      58401572
    • Henrique de Moraes Holschuh's avatar
      ACPI: thinkpad-acpi: bump up version to 0.21 · 490673dc
      Henrique de Moraes Holschuh authored
      
      
      rfkill support deserves a new version checkpoint...
      
      Signed-off-by: default avatarHenrique de Moraes Holschuh <hmh@hmh.eng.br>
      490673dc
    • Henrique de Moraes Holschuh's avatar
      ACPI: thinkpad-acpi: add bluetooth and WWAN rfkill support · 0e74dc26
      Henrique de Moraes Holschuh authored
      
      
      Add a read/write rfkill interface to the bluetooth radio switch on the
      bluetooth submodule, and one for the wireless wan radio switch to the wan
      submodule.
      
      Since rfkill does care for when a switch changes state, use WLSW
      notifications to also check if the WWAN or Bluetooth switches did not
      change state (due to them being slaves of WLSW in firmware/hardware, but
      that reality not being always properly exported by the thinkpad firmware).
      
      Signed-off-by: default avatarHenrique de Moraes Holschuh <hmh@hmh.eng.br>
      Cc: Ivo van Doorn <IvDoorn@gmail.com>
      Cc: John W. Linville <linville@tuxdriver.com>
      0e74dc26
    • Neil Brown's avatar
      md: Tidy up rdev_size_store a bit: · d7027458
      Neil Brown authored
      
      
       - used strict_strtoull in place of simple_strtoull
       - use my_mddev in place of rdev->mddev (they have the same value)
      and more significantly,
       - don't adjust mddev->size to fit, rather reject changes which make
         rdev->size smaller than mddev->size
      
      Adjusting mddev->size is a hangover from bind_rdev_to_array which
      does a similar thing.  But it really is a better design to insist that
      mddev->size is set as required, then the rdev->sizes are set to allow
      for that.  The previous way invites confusion.
      
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      d7027458
    • Haavard Skinnemoen's avatar
      Subject: [PATCH 1/2] serial: Add flush_buffer() operation to uart_ops · 6bb0e3a5
      Haavard Skinnemoen authored
      
      
      Serial drivers using DMA (like the atmel_serial driver) tend to get very
      confused when the xmit buffer is flushed and nobody told them.  They
      also tend to spew a lot of garbage since the DMA engine keeps running
      after the buffer is flushed and possibly refilled with unrelated data.
      
      This patch adds a new flush_buffer operation to the uart_ops struct,
      along with a call to it from uart_flush_buffer() right after the xmit
      buffer has been cleared. The driver can implement this in order to
      syncronize its internal DMA state with the xmit buffer when the buffer
      is flushed.
      
      Signed-off-by: default avatarHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
      Acked-by: default avatarAlan Cox <alan@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6bb0e3a5
  4. Jul 20, 2008
Loading