1. 29 Sep, 2010 3 commits
    • 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
  2. 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
  3. 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
  4. 10 May, 2010 2 commits
    • Dominik Brodowski's avatar
      pcmcia: dev_node removal (drivers with updated printk call) · ded6a1a3
      Dominik Brodowski authored
      As a second step, remove any usage of dev_node_t from drivers which
      only wrote to this typedef/struct, except one printk() which can
      easily be replaced by a dev_info()/dev_warn() call.
      
      CC: Harald Welte <laforge@gnumonks.org>
      CC: linux-ide@vger.kernel.org
      CC: linux-wireless@vger.kernel.org
      CC: netdev@vger.kernel.org
      CC: linux-usb@vger.kernel.org
      Acked-by: default avatarKarsten Keil  <isdn@linux-pingi.de>
      Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      ded6a1a3
    • 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
  5. 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
  6. 09 Nov, 2009 1 commit
    • Dominik Brodowski's avatar
      pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (char) · cbf624f0
      Dominik Brodowski authored
      Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of
      requiring manual settings of PCMCIA_DEBUG. Only some rare extra debug checks
      in cm4000_cs.c cm4040_cs.c are now hidden behind a "#ifdef CM4000_DEBUG"
      or "#ifdef CM4040_DEBUG".
      
      Also, remove all usages of the CS_CHECK macro and replace them with proper
      Linux style calling and return value checking. The extra error reporting may
      be dropped, as the PCMCIA core already complains about any (non-driver-author)
      errors.
      
      CC: Harald Welte <laforge@gnumonks.org>
      CC: Jiri Kosina <jkosina@suse.cz>
      CC: David Sterba <dsterba@suse.cz>
      Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
      cbf624f0
  7. 08 Nov, 2009 1 commit
  8. 01 Sep, 2009 1 commit
  9. 11 Jun, 2009 1 commit
  10. 01 Apr, 2009 1 commit
  11. 21 Jan, 2009 1 commit
  12. 02 Jan, 2009 1 commit
  13. 17 Oct, 2008 1 commit
  14. 31 Aug, 2008 1 commit
  15. 23 Jul, 2008 1 commit
  16. 22 Jul, 2008 1 commit
  17. 21 Jul, 2008 1 commit
    • Alan Cox's avatar
      tty: Ldisc revamp · a352def2
      Alan Cox authored
      Move the line disciplines towards a conventional ->ops arrangement.  For
      the moment the actual 'tty_ldisc' struct in the tty is kept as part of
      the tty struct but this can then be changed if it turns out that when it
      all settles down we want to refcount ldiscs separately to the tty.
      
      Pull the ldisc code out of /proc and put it with our ldisc code.
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a352def2
  18. 04 Jul, 2008 1 commit
  19. 30 Apr, 2008 2 commits
  20. 28 Apr, 2008 1 commit
  21. 20 Apr, 2008 1 commit
  22. 06 Feb, 2008 1 commit
  23. 23 Oct, 2007 1 commit
  24. 19 Jul, 2007 1 commit
  25. 03 May, 2007 1 commit
    • Jean Delvare's avatar
      PCI: Cleanup the includes of <linux/pci.h> · 6473d160
      Jean Delvare authored
      I noticed that many source files include <linux/pci.h> while they do
      not appear to need it. Here is an attempt to clean it all up.
      
      In order to find all possibly affected files, I searched for all
      files including <linux/pci.h> but without any other occurence of "pci"
      or "PCI". I removed the include statement from all of these, then I
      compiled an allmodconfig kernel on both i386 and x86_64 and fixed the
      false positives manually.
      
      My tests covered 66% of the affected files, so there could be false
      positives remaining. Untested files are:
      
      arch/alpha/kernel/err_common.c
      arch/alpha/kernel/err_ev6.c
      arch/alpha/kernel/err_ev7.c
      arch/ia64/sn/kernel/huberror.c
      arch/ia64/sn/kernel/xpnet.c
      arch/m68knommu/kernel/dma.c
      arch/mips/lib/iomap.c
      arch/powerpc/platforms/pseries/ras.c
      arch/ppc/8260_io/enet.c
      arch/ppc/8260_io/fcc_enet.c
      arch/ppc/8xx_io/enet.c
      arch/ppc/syslib/ppc4xx_sgdma.c
      arch/sh64/mach-cayman/iomap.c
      arch/xtensa/kernel/xtensa_ksyms.c
      arch/xtensa/platform-iss/setup.c
      drivers/i2c/busses/i2c-at91.c
      drivers/i2c/busses/i2c-mpc.c
      drivers/media/video/saa711x.c
      drivers/misc/hdpuftrs/hdpu_cpustate.c
      drivers/misc/hdpuftrs/hdpu_nexus.c
      drivers/net/au1000_eth.c
      drivers/net/fec_8xx/fec_main.c
      drivers/net/fec_8xx/fec_mii.c
      drivers/net/fs_enet/fs_enet-main.c
      drivers/net/fs_enet/mac-fcc.c
      drivers/net/fs_enet/mac-fec.c
      drivers/net/fs_enet/mac-scc.c
      drivers/net/fs_enet/mii-bitbang.c
      drivers/net/fs_enet/mii-fec.c
      drivers/net/ibm_emac/ibm_emac_core.c
      drivers/net/lasi_82596.c
      drivers/parisc/hppb.c
      drivers/sbus/sbus.c
      drivers/video/g364fb.c
      drivers/video/platinumfb.c
      drivers/video/stifb.c
      drivers/video/valkyriefb.c
      include/asm-arm/arch-ixp4xx/dma.h
      sound/oss/au1550_ac97.c
      
      I would welcome test reports for these files. I am fine with removing
      the untested files from the patch if the general opinion is that these
      changes aren't safe. The tested part would still be nice to have.
      
      Note that this patch depends on another header fixup patch I submitted
      to LKML yesterday:
        [PATCH] scatterlist.h needs types.h
        http://lkml.org/lkml/2007/3/01/141Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Cc: Badari Pulavarty <pbadari@us.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      6473d160
  26. 26 Apr, 2007 1 commit
  27. 12 Feb, 2007 1 commit
    • Jiri Slaby's avatar
      [PATCH] Char: timers cleanup · 40565f19
      Jiri Slaby authored
      - Use timer macros to set function and data members and to modify
        expiration time.
      - Use DEFINE_TIMER for global timers and do not init them at run-time in
        these cases.
      - del_timer_sync is common in most cases -- we want to wait for timer
        function if it's still running.
      Signed-off-by: default avatarJiri Slaby <jirislaby@gmail.com>
      Cc: Dave Airlie <airlied@linux.ie>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Dominik Brodowski <linux@dominikbrodowski.net>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Paul Fulghum <paulkf@microgate.com>
      Cc: Kylene Jo Hall <kjhall@us.ibm.com>
      Cc: Wim Van Sebroeck <wim@iguana.be>
      Acked-by: Dmitry Torokhov <dtor@mail.ru>	(Input bits)
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      40565f19
  28. 11 Feb, 2007 1 commit
  29. 13 Dec, 2006 1 commit
    • Robert P. J. Day's avatar
      [PATCH] getting rid of all casts of k[cmz]alloc() calls · 5cbded58
      Robert P. J. Day authored
      Run this:
      
      	#!/bin/sh
      	for f in $(grep -Erl "\([^\)]*\) *k[cmz]alloc" *) ; do
      	  echo "De-casting $f..."
      	  perl -pi -e "s/ ?= ?\([^\)]*\) *(k[cmz]alloc) *\(/ = \1\(/" $f
      	done
      
      And then go through and reinstate those cases where code is casting pointers
      to non-pointers.
      
      And then drop a few hunks which conflicted with outstanding work.
      
      Cc: Russell King <rmk@arm.linux.org.uk>, Ian Molton <spyro@f2s.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Greg KH <greg@kroah.com>
      Cc: Jens Axboe <jens.axboe@oracle.com>
      Cc: Paul Fulghum <paulkf@microgate.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Karsten Keil <kkeil@suse.de>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: James Bottomley <James.Bottomley@steeleye.com>
      Cc: Ian Kent <raven@themaw.net>
      Cc: Steven French <sfrench@us.ibm.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Neil Brown <neilb@cse.unsw.edu.au>
      Cc: Jaroslav Kysela <perex@suse.cz>
      Cc: Takashi Iwai <tiwai@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      5cbded58
  30. 08 Dec, 2006 1 commit
    • Alan Cox's avatar
      [PATCH] tty: switch to ktermios · 606d099c
      Alan Cox authored
      This is the grungy swap all the occurrences in the right places patch that
      goes with the updates.  At this point we have the same functionality as
      before (except that sgttyb() returns speeds not zero) and are ready to
      begin turning new stuff on providing nobody reports lots of bugs
      
      If you are a tty driver author converting an out of tree driver the only
      impact should be termios->ktermios name changes for the speed/property
      setting functions from your upper layers.
      
      If you are implementing your own TCGETS function before then your driver
      was broken already and its about to get a whole lot more painful for you so
      please fix it 8)
      
      Also fill in c_ispeed/ospeed on init for most devices, although the current
      code will do this for you anyway but I'd like eventually to lose that extra
      paranoia
      
      [akpm@osdl.org: bluetooth fix]
      [mp3@de.ibm.com: sclp fix]
      [mp3@de.ibm.com: warning fix for tty3270]
      [hugh@veritas.com: fix tty_ioctl powerpc build]
      [jdike@addtoit.com: uml: fix ->set_termios declaration]
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Signed-off-by: default avatarMartin Peschke <mp3@de.ibm.com>
      Acked-by: default avatarPeter Oberparleiter <oberpar@de.ibm.com>
      Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
      Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      606d099c
  31. 07 Dec, 2006 1 commit
  32. 05 Dec, 2006 1 commit
  33. 22 Nov, 2006 1 commit
  34. 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
  35. 04 Oct, 2006 1 commit