1. 19 Sep, 2012 1 commit
  2. 06 Aug, 2012 1 commit
  3. 30 Jun, 2012 1 commit
  4. 05 Jun, 2012 1 commit
  5. 13 Feb, 2012 3 commits
  6. 07 Nov, 2011 1 commit
  7. 06 May, 2011 1 commit
  8. 29 Sep, 2010 4 commits
    • Dominik Brodowski's avatar
    • Dominik Brodowski's avatar
      pcmcia: convert pcmcia_request_configuration to pcmcia_enable_device · 1ac71e5a
      Dominik Brodowski authored
      
      
      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: default avatarWolfram Sang <w.sang@pengutronix.de>
      Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      1ac71e5a
    • Dominik Brodowski's avatar
      pcmcia: move config_{base,index,regs} to struct pcmcia_device · 7feabb64
      Dominik Brodowski authored
      
      
      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: default avatarWolfram Sang <w.sang@pengutronix.de>
      Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      7feabb64
    • Dominik Brodowski's avatar
      pcmcia: simplify IntType · 37979e15
      Dominik Brodowski authored
      
      
      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: default avatarWolfram Sang <w.sang@pengutronix.de>
      Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      37979e15
  9. 03 Aug, 2010 2 commits
    • Dominik Brodowski's avatar
      pcmcia: do not use io_req_t when calling pcmcia_request_io() · 90abdc3b
      Dominik Brodowski authored
      
      
      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: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      90abdc3b
    • Dominik Brodowski's avatar
      pcmcia: do not use io_req_t after call to pcmcia_request_io() · 9a017a91
      Dominik Brodowski authored
      
      
      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: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      9a017a91
  10. 30 Jul, 2010 1 commit
    • Dominik Brodowski's avatar
      pcmcia: remove cs_types.h · ac8b4228
      Dominik Brodowski authored
      
      
      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: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      ac8b4228
  11. 02 Jul, 2010 1 commit
  12. 10 May, 2010 2 commits
    • Dominik Brodowski's avatar
      pcmcia: dev_node removal (write-only drivers) · 317b6d63
      Dominik Brodowski authored
      
      
      dev_node_t was only used to transport some minor/major numbers
      from the PCMCIA device drivers to deprecated userspace helpers.
      However, only a few drivers made use of it, and the userspace
      helpers are deprecated anyways. Therefore, get rid of dev_node_t .
      
      As a first step, remove any usage of dev_node_t from drivers which
      only wrote to this typedef/struct, but did not make use of it.
      
      CC: linux-bluetooth@vger.kernel.org
      CC: Harald Welte <laforge@gnumonks.org>
      CC: linux-mtd@lists.infradead.org
      CC: linux-wireless@vger.kernel.org
      CC: netdev@vger.kernel.org
      CC: linux-serial@vger.kernel.org
      CC: alsa-devel@alsa-project.org
      Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      317b6d63
    • Dominik Brodowski's avatar
      pcmcia: re-work pcmcia_request_irq() · eb14120f
      Dominik Brodowski authored
      
      
      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: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      eb14120f
  13. 27 Feb, 2010 1 commit
  14. 30 Jan, 2010 1 commit
  15. 28 Nov, 2009 1 commit
    • Dominik Brodowski's avatar
      pcmcia: rework the irq_req_t typedef · 5fa9167a
      Dominik Brodowski authored
      
      
      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: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      5fa9167a
  16. 08 Nov, 2009 1 commit
  17. 17 Oct, 2008 1 commit
  18. 23 Aug, 2008 1 commit
  19. 22 Oct, 2007 1 commit
  20. 26 Apr, 2007 1 commit
  21. 05 Dec, 2006 1 commit
  22. 30 Oct, 2006 1 commit
    • Peter Zijlstra's avatar
      [PATCH] lockdep: annotate DECLARE_WAIT_QUEUE_HEAD · 7259f0d0
      Peter Zijlstra authored
      
      
      kernel: INFO: trying to register non-static key.
      kernel: the code is fine but needs lockdep annotation.
      kernel: turning off the locking correctness validator.
      kernel:  [<c04051ed>] show_trace_log_lvl+0x58/0x16a
      kernel:  [<c04057fa>] show_trace+0xd/0x10
      kernel:  [<c0405913>] dump_stack+0x19/0x1b
      kernel:  [<c043b1e2>] __lock_acquire+0xf0/0x90d
      kernel:  [<c043bf70>] lock_acquire+0x4b/0x6b
      kernel:  [<c061472f>] _spin_lock_irqsave+0x22/0x32
      kernel:  [<c04363d3>] prepare_to_wait+0x17/0x4b
      kernel:  [<f89a24b6>] lpfc_do_work+0xdd/0xcc2 [lpfc]
      kernel:  [<c04361b9>] kthread+0xc3/0xf2
      kernel:  [<c0402005>] kernel_thread_helper+0x5/0xb
      
      Another case of non-static lockdep keys; duplicate the paradigm set by
      DECLARE_COMPLETION_ONSTACK and introduce DECLARE_WAIT_QUEUE_HEAD_ONSTACK.
      
      Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Greg KH <gregkh@suse.de>
      Cc: Markus Lidel <markus.lidel@shadowconnect.com>
      Acked-by: default avatarIngo Molnar <mingo@elte.hu>
      Cc: Arjan van de Ven <arjan@infradead.org>
      Cc: James Bottomley <James.Bottomley@steeleye.com>
      Cc: Marcel Holtmann <marcel@holtmann.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      7259f0d0
  23. 05 Oct, 2006 1 commit
    • David Howells's avatar
      IRQ: Maintain regs pointer globally rather than passing to IRQ handlers · 7d12e780
      David Howells authored
      
      
      Maintain a per-CPU global "struct pt_regs *" variable which can be used instead
      of passing regs around manually through all ~1800 interrupt handlers in the
      Linux kernel.
      
      The regs pointer is used in few places, but it potentially costs both stack
      space and code to pass it around.  On the FRV arch, removing the regs parameter
      from all the genirq function results in a 20% speed up of the IRQ exit path
      (ie: from leaving timer_interrupt() to leaving do_IRQ()).
      
      Where appropriate, an arch may override the generic storage facility and do
      something different with the variable.  On FRV, for instance, the address is
      maintained in GR28 at all times inside the kernel as part of general exception
      handling.
      
      Having looked over the code, it appears that the parameter may be handed down
      through up to twenty or so layers of functions.  Consider a USB character
      device attached to a USB hub, attached to a USB controller that posts its
      interrupts through a cascaded auxiliary interrupt controller.  A character
      device driver may want to pass regs to the sysrq handler through the input
      layer which adds another few layers of parameter passing.
      
      I've build this code with allyesconfig for x86_64 and i386.  I've runtested the
      main part of the code on FRV and i386, though I can't test most of the drivers.
      I've also done partial conversion for powerpc and MIPS - these at least compile
      with minimal configurations.
      
      This will affect all archs.  Mostly the changes should be relatively easy.
      Take do_IRQ(), store the regs pointer at the beginning, saving the old one:
      
      	struct pt_regs *old_regs = set_irq_regs(regs);
      
      And put the old one back at the end:
      
      	set_irq_regs(old_regs);
      
      Don't pass regs through to generic_handle_irq() or __do_IRQ().
      
      In timer_interrupt(), this sort of change will be necessary:
      
      	-	update_process_times(user_mode(regs));
      	-	profile_tick(CPU_PROFILING, regs);
      	+	update_process_times(user_mode(get_irq_regs()));
      	+	profile_tick(CPU_PROFILING);
      
      I'd like to move update_process_times()'s use of get_irq_regs() into itself,
      except that i386, alone of the archs, uses something other than user_mode().
      
      Some notes on the interrupt handling in the drivers:
      
       (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in
           the input_dev struct.
      
       (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does
           something different depending on whether it's been supplied with a regs
           pointer or not.
      
       (*) Various IRQ handler function pointers have been moved to type
           irq_handler_t.
      
      Signed-Off-By: default avatarDavid Howells <dhowells@redhat.com>
      (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
      7d12e780
  24. 04 Jul, 2006 1 commit
  25. 30 Jun, 2006 1 commit
  26. 31 Mar, 2006 7 commits
  27. 05 Jan, 2006 1 commit
    • Dominik Brodowski's avatar
      [PATCH] pcmcia: unify attach, EVENT_CARD_INSERTION handlers into one probe callback · f8cfa618
      Dominik Brodowski authored
      
      
      Unify the EVENT_CARD_INSERTION and "attach" callbacks to one unified
      probe() callback. As all in-kernel drivers are changed to this new
      callback, there will be no temporary backwards-compatibility. Inside a
      probe() function, each driver _must_ set struct pcmcia_device
      *p_dev->instance and instance->handle correctly.
      
      With these patches, the basic driver interface for 16-bit PCMCIA drivers
      now has the classic four callbacks known also from other buses:
      
              int (*probe)            (struct pcmcia_device *dev);
              void (*remove)          (struct pcmcia_device *dev);
      
              int (*suspend)          (struct pcmcia_device *dev);
              int (*resume)           (struct pcmcia_device *dev);
      
      Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      f8cfa618