1. 29 9月, 2010 4 次提交
    • D
    • D
      pcmcia: convert pcmcia_request_configuration to pcmcia_enable_device · 1ac71e5a
      Dominik Brodowski 提交于
      pcmcia_enable_device() now replaces pcmcia_request_configuration().
      Instead of config_req_t, all necessary flags are either passed as
      a parameter to pcmcia_enable_device(), or (in rare circumstances)
      set in struct pcmcia_device -> flags.
      
      With the last remaining user of include/pcmcia/cs.h gone, remove
      all references.
      
      CC: netdev@vger.kernel.org
      CC: linux-wireless@vger.kernel.org
      CC: linux-ide@vger.kernel.org
      CC: linux-usb@vger.kernel.org
      CC: laforge@gnumonks.org
      CC: linux-mtd@lists.infradead.org
      CC: alsa-devel@alsa-project.org
      CC: linux-serial@vger.kernel.org
      CC: Jiri Kosina <jkosina@suse.cz>
      CC: linux-scsi@vger.kernel.org
      Acked-by: Gustavo F. Padovan <padovan@profusion.mobi> (for drivers/bluetooth)
      Tested-by: NWolfram Sang <w.sang@pengutronix.de>
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      1ac71e5a
    • D
      pcmcia: move config_{base,index,regs} to struct pcmcia_device · 7feabb64
      Dominik Brodowski 提交于
      Several drivers prefer to explicitly set config_{base,index,regs},
      formerly known as ConfigBase, ConfigIndex and Present. Instead of
      passing these values inside config_req_t, store it in struct
      pcmcia_device.
      
      CC: netdev@vger.kernel.org
      CC: linux-wireless@vger.kernel.org
      CC: linux-ide@vger.kernel.org
      CC: linux-usb@vger.kernel.org
      CC: laforge@gnumonks.org
      CC: linux-mtd@lists.infradead.org
      CC: alsa-devel@alsa-project.org
      CC: linux-serial@vger.kernel.org
      CC: Jiri Kosina <jkosina@suse.cz>
      CC: linux-scsi@vger.kernel.org
      Acked-by: Gustavo F. Padovan <padovan@profusion.mobi> (for drivers/bluetooth)
      Tested-by: NWolfram Sang <w.sang@pengutronix.de>
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      7feabb64
    • D
      pcmcia: simplify IntType · 37979e15
      Dominik Brodowski 提交于
      IntType was only set to INT_MEMORY (driver pcmciamtd) or INT_MEMORY_AND_IO
      (all other drivers). As this flags seems to relate to ioport access, make
      it conditional to the driver having requested IO port access. There are two
      drivers which do not request IO ports, but did set INT_MEMORY_AND_IO:
      ray_cs and b43. For those, we consistently only set INT_MEMORY in future.
      
      CC: netdev@vger.kernel.org
      CC: linux-wireless@vger.kernel.org
      CC: linux-ide@vger.kernel.org
      CC: linux-usb@vger.kernel.org
      CC: laforge@gnumonks.org
      CC: linux-mtd@lists.infradead.org
      CC: alsa-devel@alsa-project.org
      CC: linux-serial@vger.kernel.org
      CC: Jiri Kosina <jkosina@suse.cz>
      CC: linux-scsi@vger.kernel.org
      Acked-by: Gustavo F. Padovan <padovan@profusion.mobi> (for drivers/bluetooth)
      Tested-by: NWolfram Sang <w.sang@pengutronix.de>
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      37979e15
  2. 03 8月, 2010 2 次提交
    • D
      pcmcia: do not use io_req_t when calling pcmcia_request_io() · 90abdc3b
      Dominik Brodowski 提交于
      Instead of io_req_t, drivers are now requested to fill out
      struct pcmcia_device *p_dev->resource[0,1] for up to two ioport
      ranges. After a call to pcmcia_request_io(), the ports found there
      are reserved, after calling pcmcia_request_configuration(), they may
      be used.
      
      CC: netdev@vger.kernel.org
      CC: linux-wireless@vger.kernel.org
      CC: linux-ide@vger.kernel.org
      CC: linux-usb@vger.kernel.org
      CC: laforge@gnumonks.org
      CC: linux-mtd@lists.infradead.org
      CC: alsa-devel@alsa-project.org
      CC: linux-serial@vger.kernel.org
      CC: Michael Buesch <mb@bu3sch.de>
      Acked-by: Marcel Holtmann <marcel@holtmann.org> (for drivers/bluetooth/)
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      90abdc3b
    • D
      pcmcia: do not use io_req_t after call to pcmcia_request_io() · 9a017a91
      Dominik Brodowski 提交于
      After pcmcia_request_io(), do not make use of the values stored in
      io_req_t, but instead use those found in struct pcmcia_device->resource[].
      
      CC: netdev@vger.kernel.org
      CC: linux-wireless@vger.kernel.org
      CC: linux-ide@vger.kernel.org
      CC: linux-usb@vger.kernel.org
      CC: laforge@gnumonks.org
      CC: linux-mtd@lists.infradead.org
      CC: alsa-devel@alsa-project.org
      CC: linux-serial@vger.kernel.org
      Acked-by: Marcel Holtmann <marcel@holtmann.org> (for drivers/bluetooth/)
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      9a017a91
  3. 31 7月, 2010 1 次提交
    • D
      pcmcia: remove cs_types.h · ac8b4228
      Dominik Brodowski 提交于
      Remove cs_types.h which is no longer needed: Most definitions aren't
      used at all, a few can be made away with, and two remaining definitions
      (typedefs, unfortunatley) may be moved to more specific places.
      
      CC: linux-ide@vger.kernel.org
      CC: linux-usb@vger.kernel.org
      CC: laforge@gnumonks.org
      CC: linux-mtd@lists.infradead.org
      CC: alsa-devel@alsa-project.org
      CC: linux-serial@vger.kernel.org
      Acked-by: Marcel Holtmann <marcel@holtmann.org> (for drivers/bluetooth/)
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      ac8b4228
  4. 10 5月, 2010 3 次提交
    • E
      net: trans_start cleanups · 1ae5dc34
      Eric Dumazet 提交于
      Now that core network takes care of trans_start updates, dont do it
      in drivers themselves, if possible. Drivers can avoid one cache miss
      (on dev->trans_start) in their start_xmit() handler.
      
      Exceptions are NETIF_F_LLTX drivers
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1ae5dc34
    • D
      pcmcia: dev_node removal (drivers with unregister_netdev check) · c7c2fa07
      Dominik Brodowski 提交于
      As a third step, remove any usage of dev_node_t from drivers which
      only wrote to this typedef/struct, except to determine whether
      register_netdev() succeeded previously. However, the function calling
      unregister_netdev() was only ever called by the PCMCIA core if
      register_netdev() succeeded previously. The lonely exception was
      easily fixed.
      
      CC: netdev@vger.kernel.org
      CC: linux-wireless@vger.kernel.org
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      c7c2fa07
    • D
      pcmcia: re-work pcmcia_request_irq() · eb14120f
      Dominik Brodowski 提交于
      Instead of the old pcmcia_request_irq() interface, drivers may now
      choose between:
      
      - calling request_irq/free_irq directly. Use the IRQ from *p_dev->irq.
      
      - use pcmcia_request_irq(p_dev, handler_t); the PCMCIA core will
        clean up automatically on calls to pcmcia_disable_device() or
        device ejection.
      
      - drivers still not capable of IRQF_SHARED (or not telling us so) may
        use the deprecated pcmcia_request_exclusive_irq() for the time
        being; they might receive a shared IRQ nonetheless.
      
      CC: linux-bluetooth@vger.kernel.org
      CC: netdev@vger.kernel.org
      CC: linux-wireless@vger.kernel.org
      CC: linux-serial@vger.kernel.org
      CC: alsa-devel@alsa-project.org
      CC: linux-usb@vger.kernel.org
      CC: linux-ide@vger.kernel.org
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      eb14120f
  5. 02 4月, 2010 1 次提交
  6. 13 2月, 2010 1 次提交
  7. 14 12月, 2009 1 次提交
  8. 29 11月, 2009 2 次提交
    • D
      pcmcia: rework the irq_req_t typedef · 5fa9167a
      Dominik Brodowski 提交于
      Most of the irq_req_t typedef'd struct can be re-worked quite
      easily:
      
      (1) IRQInfo2 was unused in any case, so drop it.
      
      (2) IRQInfo1 was used write-only, so drop it.
      
      (3) Instance (private data to be passed to the IRQ handler):
      	Most PCMCIA drivers using pcmcia_request_irq() to actually
      	register an IRQ handler set the "dev_id" to the same pointer
      	as the "priv" pointer in struct pcmcia_device. Modify the two
      	exceptions (ipwireless, ibmtr_cs) to also work this waym and
      	set the IRQ handler's "dev_id" to p_dev->priv unconditionally.
      
      (4) Handler is to be of type irq_handler_t.
      
      (5) Handler != NULL already tells whether an IRQ handler is present.
      	Therefore, we do not need the IRQ_HANDLER_PRESENT flag in
      	irq_req_t.Attributes.
      
      CC: netdev@vger.kernel.org
      CC: linux-bluetooth@vger.kernel.org
      CC: linux-ide@vger.kernel.org
      CC: linux-wireless@vger.kernel.org
      CC: linux-scsi@vger.kernel.org
      CC: alsa-devel@alsa-project.org
      CC: Jaroslav Kysela <perex@perex.cz>
      CC: Jiri Kosina <jkosina@suse.cz>
      CC: Karsten Keil <isdn@linux-pingi.de>
      for the Bluetooth parts: Acked-by: Marcel Holtmann <marcel@holtmann.org>
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      5fa9167a
    • D
      pcmcia: remove deprecated handle_to_dev() macro · dd2e5a15
      Dominik Brodowski 提交于
      Update remaining users and remove deprecated handle_to_dev() macro
      
      CC: Harald Welte <laforge@gnumonks.org>
      CC: netdev@vger.kernel.org
      CC: linux-wireless@vger.kernel.org
      CC: linux-serial@vger.kernel.org
      Signed-off-by: NDominik Brodowski <linux@dominikbrodowski.net>
      dd2e5a15
  9. 09 11月, 2009 2 次提交
  10. 01 9月, 2009 1 次提交
  11. 20 7月, 2009 1 次提交
  12. 06 7月, 2009 1 次提交
  13. 02 5月, 2009 1 次提交
  14. 22 3月, 2009 1 次提交
  15. 04 3月, 2009 1 次提交
    • R
      net pcmcia: worklimit reaches -1 · b9bdcd9b
      Roel Kluin 提交于
      with while (--worklimit >= 0); worklimit reaches -1 after the loop. In
      3c589_cs.c this caused a warning not to be printed.
      
      In 3c574_cs.c contrastingly, el3_rx() treats worklimit differently:
      
      static int el3_rx(struct net_device *dev, int worklimit)
      {
      	while (--worklimit >= 0) { ... }
      	return worklimit;
      }
      
      el3_rx() is only called by function el3_interrupt(): twice:
      
      static irqreturn_t el3_interrupt(int irq, void *dev_id)
      {
              int work_budget = max_interrupt_work;
      	while(...) {
      		if (...)
      			work_budget = el3_rx(dev, work_budget);
      		if (...)
      			work_budget = el3_rx(dev, work_budget);
      		if (--work_budget < 0) {
      		        ...
      		        break;
      		}
      	}
      }
      The error path can occur 2 too early.
      Signed-off-by: NRoel Kluin <roel.kluin@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b9bdcd9b
  16. 04 11月, 2008 1 次提交
  17. 28 10月, 2008 1 次提交
  18. 14 10月, 2008 1 次提交
  19. 23 8月, 2008 1 次提交
  20. 13 5月, 2008 1 次提交
  21. 06 2月, 2008 1 次提交
  22. 23 12月, 2007 1 次提交
  23. 29 10月, 2007 1 次提交
  24. 11 10月, 2007 2 次提交
  25. 25 9月, 2007 1 次提交
  26. 16 9月, 2007 1 次提交
  27. 02 7月, 2007 1 次提交
    • P
      3c589_cs: fix local_bh_enable warning · 63ac9b91
      Patrick McHardy 提交于
      Russell King wrote:
      > Having upgraded from 2.6.16 to 2.6.22-rc6, I'm now seeing the following.
      >
      > Looks like netfilter is calling local_bh_enable() with IRQs disabled,
      > which would appear to be illegal.  Thankfully, this is a warn-once
      > warning.
      >
      > WARNING: at /home/rmk/git/linux-2.6-rmk/kernel/softirq.c:138 local_bh_enable()
      > [...]
      > [<c01447fc>] (nf_conntrack_destroy+0x0/0x2c) from [<c012c05c>] (__kfree_skb+0xd0/0x100)
      > [<c012bf8c>] (__kfree_skb+0x0/0x100) from [<c012c0d8>] (kfree_skb+0x4c/0x50)
      >  r5:c12a3800 r4:00000300
      > [<c012c08c>] (kfree_skb+0x0/0x50) from [<bf03cbb0>] (el3_start_xmit+0xb8/0xd0 [3c589_cs])
      > [<bf03caf8>] (el3_start_xmit+0x0/0xd0 [3c589_cs]) from [<c01324dc>] (dev_hard_start_xmit+0x1a8/0x244)
      >  r7:c12a3800 r6:c1a9aa00 r5:c1a9aa00 r4:c12a3800
      > [<c0132334>] (dev_hard_start_xmit+0x0/0x244) from [<c013fcc0>] (__qdisc_run+0xb0/0x198)
      
      Thats a bug in the 3c589_cs driver. Patch attached.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      63ac9b91
  28. 26 4月, 2007 1 次提交
  29. 23 1月, 2007 1 次提交
  30. 12 1月, 2007 1 次提交
  31. 05 12月, 2006 1 次提交