29 Sep, 2010

5 commits

  • 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
     
  • 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
    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
     
  • The Status (CISREG_CCSR) and ExtStatus (CISREG_ESR) registers were
    only accessed to enable audio output for some drivers and IRQ for
    serial_cs.c. The former also required setting config_req_t.Attributes
    to CONF_ENABLE_SPKR; the latter can be simplified to setting this
    field to CONF_ENABLE_ESR.

    CC: netdev@vger.kernel.org
    CC: linux-wireless@vger.kernel.org
    CC: linux-serial@vger.kernel.org
    CC: linux-scsi@vger.kernel.org
    Tested-by: Wolfram Sang
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • The "Pin" and "Copy" configuration registers (CISREG_SCR, CISREG_PPR)
    do not seem to be utilized anywhere. If a device would request a
    write to these registers, "0" would be written. Continue to do so, but
    warn of unexpected behavior -- and remove the "Pin" and "Copy" entries
    from config_req_t.

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

    Dominik Brodowski
     

03 Aug, 2010

5 commits


31 Jul, 2010

2 commits


10 May, 2010

3 commits


18 Feb, 2010

5 commits


25 Jan, 2010

3 commits


29 Nov, 2009

3 commits

  • pcmcia_get_window() and pcmcia_get_mem_page() were only called from
    pcmcia_ioctl.c. Therefore, move these functions to that file, and
    remove the useless EXPORTs.

    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • Logic changes based on top of the other patches:

    This set of patches changed window_handle_t from being a pointer to an
    unsigned long. The unsigned long is now a simple index into socket->win[].
    Going from a pointer to unsigned long should leave the user space interface
    unchanged unless I'm mistaken.

    This change results in code that is less error prone and a user space
    interface which is much cleaner and safer. A nice side effect is that we
    are also are able to remove all members except one from window_t.

    [ linux@dominikbrodowski.net:
    Update to 2.6.31. Also, a plain "index" to socket->win[] does not
    work, as several codepaths rely on "window_handle_t" being
    non-zero if used. Therefore, set the window_handle_t to the
    socket->win[] index + 1. ]

    CC: netdev@vger.kernel.org
    Signed-off-by: Magnus Damm
    Signed-off-by: Dominik Brodowski

    Magnus Damm
     
  • No logic changes, just pass struct pcmcia_socket to pcmcia_get_mem_page()

    [linux@dominikbrodowski.net: update to 2.6.31]
    Signed-off-by: Magnus Damm
    Signed-off-by: Dominik Brodowski

    Magnus Damm
     

09 Nov, 2009

3 commits

  • Use the generic "dynamic debug" infrastructure instead of
    CONIG_PCMCIA_DEBUG in the PCMCIA core (pcmcia.ko and pcmcia_core.ko). To
    enable debugging, enable CONFIG_DYNAMIC_DEBUG, mount debugfs and

    $ echo -n 'module pcmcia_core +p' > /sys/kernel/debug/dynamic_debug/control

    for the complete module "pcmcia_core", for example. For more detailled
    instructions, please see Documentation/dynamic-debug-howto.txt

    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
     

19 Oct, 2009

1 commit

  • pccard_read_tuple(), which is only used by the PCMCIA core, should
    handle TUPLE_RETURN_COMMON more sensibly: If a specific function (which
    may be 0) is requested, set tuple.Attributes = 0 as was done in all
    PCMCIA drivers. If, however, BIND_FN_ALL is requested, return the
    "common" tuple. As to the callers of pccard_read_tuple():

    - All calls to pcmcia_validate_cis() had set the "function" parameter to
    BIND_FN_ALL. Therefore, remove the "function" parameter and make the
    parameter to pccard_read_tuple explicit.

    - Calls to CISTPL_VERS_1 and CISTPL_MANFID now set BIND_FN_ALL. This was
    already the case for calls to CISTPL_LONGLINK_MFC.

    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

31 Aug, 2008

2 commits


26 Aug, 2008

3 commits


23 Aug, 2008

5 commits