27 Jul, 2011

1 commit

  • This allows us to move duplicated code in
    (atomic_inc_not_zero() for now) to

    Signed-off-by: Arun Sharma
    Reviewed-by: Eric Dumazet
    Cc: Ingo Molnar
    Cc: David Miller
    Cc: Eric Dumazet
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arun Sharma
     

06 May, 2011

1 commit


20 Feb, 2011

1 commit


22 Oct, 2010

1 commit


29 Sep, 2010

8 commits

  • Tested-by: Wolfram Sang
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • When CONF_AUTO_SET_IO or CONF_AUTO_SET_IOMEM are set, the corresponding
    fields in struct pcmcia_device *p_dev->resource[0,1,2] are set
    accordinly. Drivers wishing to override certain settings may do so in
    the callback function, but they no longer need to parse the CIS entries
    stored in cistpl_cftable_entry_t themselves.

    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: linux-bluetooth@vger.kernel.org
    CC: alsa-devel@alsa-project.org
    CC: linux-serial@vger.kernel.org
    CC: Jiri Kosina
    CC: linux-scsi@vger.kernel.org
    Tested-by: Wolfram Sang
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • Introduce an autoconfiguration feature to set certain values in
    pcmcia_loop_config(), instead of copying the same code over and over
    in each PCMCIA driver. At first, introduce the following options:

    CONF_AUTO_CHECK_VCC check or matching Vcc entry
    CONF_AUTO_SET_VPP set Vpp
    CONF_AUTO_AUDIO enable the speaker line

    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
    CC: linux-scsi@vger.kernel.org
    Acked-by: Gustavo F. Padovan (for drivers/bluetooth)
    Tested-by: Wolfram Sang
    Signed-off-by: Dominik Brodowski

    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
    CC: linux-scsi@vger.kernel.org
    Acked-by: Gustavo F. Padovan (for drivers/bluetooth)
    Tested-by: Wolfram Sang
    Signed-off-by: Dominik Brodowski

    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
    CC: linux-scsi@vger.kernel.org
    Acked-by: Gustavo F. Padovan (for drivers/bluetooth)
    Tested-by: Wolfram Sang
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • Some drivers prefer to explicitly set Vpp. Instead of passing the
    voltage inside config_req_t, store it in struct pcmcia_device.

    CC: linux-ide@vger.kernel.org
    CC: netdev@vger.kernel.org
    CC: linux-mtd@lists.infradead.org
    CC: linux-wireless@vger.kernel.org
    CC: linux-serial@vger.kernel.org
    CC: linux-usb@vger.kernel.org
    CC: linux-scsi@vger.kernel.org
    Acked-by: Gustavo F. Padovan (for drivers/bluetooth)
    Tested-by: Wolfram Sang
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • pcmcia_modify_configuration() was only used by two drivers to fix up
    one issue each: setting the Vpp to a different value, and reducing
    the IO width to 8 bit. Introduce two explicitly named functions
    handling these things, and remove one further typedef.

    CC: netdev@vger.kernel.org
    CC: linux-mtd@lists.infradead.org
    Tested-by: Wolfram Sang
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • Instead of win_req_t, drivers are now requested to fill out
    struct pcmcia_device *p_dev->resource[2,3,4,5] for up to four iomem
    ranges. After a call to pcmcia_request_window(), the windows found there
    are reserved and may be used until pcmcia_release_window() is called.

    CC: netdev@vger.kernel.org
    CC: linux-wireless@vger.kernel.org
    CC: linux-mtd@lists.infradead.org
    CC: Jiri Kosina
    CC: linux-scsi@vger.kernel.org
    Tested-by: Wolfram Sang
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

03 Aug, 2010

5 commits

  • Use struct resource * also for iomem resources.

    CC: linux-mtd@lists.infradead.org
    CC: netdev@vger.kernel.org
    CC: linux-wireless@vger.kernel.org
    CC: Jiri Kosina
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • Page already had to be set to 0; Offset can easily be passed as
    parameter to pcmcia_map_mem_page.

    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: linux-bluetooth@vger.kernel.org
    CC: alsa-devel@alsa-project.org
    CC: linux-serial@vger.kernel.org
    CC: Michael Buesch
    Signed-off-by: Dominik Brodowski

    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
    Acked-by: Marcel Holtmann (for drivers/bluetooth/)
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • Introduce a new field into struct pcmcia_device named "resource" and of
    type struct resource *, which contains the IO port ranges allocated for
    this device. Memory window ranges and registration with the resource
    trees will follow at a later date.

    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • Use pcmcia_read_config_byte and pcmcia_write_config_byte instead
    of pcmcia_access_configuration_register.

    CC: netdev@vger.kernel.org
    CC: linux-wireless@vger.kernel.org
    CC: linux-serial@vger.kernel.org
    CC: Michael Buesch
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

31 Jul, 2010

2 commits

  • 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 (for drivers/bluetooth/)
    Acked-by: David S. Miller
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

10 May, 2010

4 commits

  • Clean up the alloc_io_space() function by moving most of it to
    the actual resource_ops. This allows for a bit less re-directions.
    Future cleanups will follow, and will make up for the code
    duplication currently present between rsrc_iodyn and rsrc_nonstatic
    (which are hardly ever built at the same time anyway, therefore no
    increase in built size).

    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • Remove the dev_node declaration. We now only pass the device name
    to the deprecated userspace tools.

    Signed-off-by: Dominik Brodowski

    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: Dominik Brodowski

    Dominik Brodowski
     
  • Setup the IRQ to be used by PCMCIA drivers already during the device
    registration stage, making use of a new function pcmcia_setup_irq().
    This will allow us to get rid of quite a lot of indirection in the
    future.

    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

21 Apr, 2010

1 commit

  • pcmcia_dev_present is in and by itself buggy. Add a note specifying
    why it is broken, and replace the broken locking -- taking a mutex
    is a bad idea in IRQ context, from which this function is rarely
    called -- by an atomic_t.

    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

18 Feb, 2010

1 commit


08 Dec, 2009

1 commit

  • Fix several CodingStyle issues in drivers/pcmcia/ . checkpatch.pl no longer
    reports errors in the PCMCIA core. The remaining warnings mostly relate to
    wrong indent -- PCMCIA historically used 4 spaces --, to lines over 80
    characters and to hundreds of typedefs. The cleanup of those will follow
    in the future.

    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

29 Nov, 2009

5 commits


09 Nov, 2009

3 commits

  • As all in-tree drivers have been converted to not use cs_error() any more,
    drop these functions and definitions, and update the Documentation.

    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • Remove the pcmcia_get_{first,next}_tuple() calls no longer needed by
    (current) pcmcia device drivers.

    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • As a replacement to pcmcia_get_{first,next}_tuple() and
    pcmcia_get_tuple_data(), three new -- and easier to use --
    functions are added:

    - pcmcia_get_tuple() to get the very first CIS entry of one
    type.

    - pcmcia_loop_tuple() to loop over all CIS entries of one type.

    - pcmcia_get_mac_from_cis() to read out the hardware MAC address
    from CISTPL_FUNCE.

    Only a handful of drivers need these functions anyway, as most
    CIS access is already handled by pcmcia_loop_config(), which
    now shares the same backed (pccard_loop_tuple()) with
    pcmcia_loop_tuple().

    A pcmcia_get_mac_from_cis() bug noted by Komuro
    has been fixed in this revision.

    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

31 Aug, 2008

3 commits


29 Aug, 2008

2 commits

  • By now, ioaddr_t should only be used by the deprecated ioctl, as it does not
    correctly reflect the maximum ioport range at least on some architectures.

    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • The header file primarily used for (in-kernel) PCMCIA device drivers
    also deserved a major cleanup. This header file also serves as the dumping
    ground for all typedefs and definitions only used by the deprecated PCMCIA
    ioctl and the deprecated PCMCIA userspace tools using this ioctl.

    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

23 Aug, 2008

1 commit