1. 14 8月, 2008 5 次提交
  2. 13 8月, 2008 8 次提交
  3. 12 8月, 2008 5 次提交
  4. 11 8月, 2008 14 次提交
  5. 09 8月, 2008 1 次提交
  6. 08 8月, 2008 4 次提交
  7. 07 8月, 2008 3 次提交
    • A
      PCI: make pci_register_driver() a macro · bba81165
      Andrew Morton 提交于
      alpha:
      
      CC [M]  drivers/usb/gadget/u_ether.o
      In file included from include/asm/dma-mapping.h:7,
                       from include/linux/dma-mapping.h:52,
                       from include/linux/dmaengine.h:29,
                       from include/linux/skbuff.h:29,
                       from include/linux/if_ether.h:114,
                       from include/linux/etherdevice.h:27,
                       from drivers/usb/gadget/u_ether.c:29:
      include/linux/pci.h: In function 'pci_register_driver':
      include/linux/pci.h:673: error: 'KBUILD_MODNAME' undeclared (first use in this function)
      include/linux/pci.h:673: error: (Each undeclared identifier is reported only once
      include/linux/pci.h:673: error: for each function it appears in.)
      
      Sam says:
      
      The problem is that u_ether.o is used by two modules so when we build it
      KBUILD_MODNAME is not defined because kbuild does not know what value to
      use.
      
      And in pci.h we have the following inline:
      
      static inline int __must_check pci_register_driver(struct pci_driver *driver)
      {
              return __pci_register_driver(driver, THIS_MODULE, KBUILD_MODNAME);
      }
      
      And alpha uses dma-mapping.h to nullify a number of functions that seem to
      require something from pci.h.
      
      Making it a macro fixes this particular problem.  However, the underlying issue
      of a file using KBUILD_MODNAME and being shared between multiple modules is
      *not* addressed.  I guess the answer there is "don't do that".
      
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      bba81165
    • L
      list.h: add list_cut_position() · 00e8a4da
      Luis R. Rodriguez 提交于
      This adds list_cut_position() which lets you cut a list into
      two lists given a pivot in the list.
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      00e8a4da
    • L
      list.h: Add list_splice_tail() and list_splice_tail_init() · 7d283aee
      Luis R. Rodriguez 提交于
      If you are using linked lists for queues list_splice() will not do what
      you would expect even if you use the elements passed reversed. We need
      to handle these differently. We add list_splice_tail() and
      list_splice_tail_init().
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7d283aee