24 Mar, 2010

1 commit

  • Instead of requiring PCMCIA socket drivers to call various functions
    during their (bus) resume and suspend functions, register an own
    dev_pm_ops for this class. This fixes several suspend/resume bugs
    seen on db1xxx-ss, and probably on some other socket drivers, too.

    With regard to the asymmetry with only _noirq suspend, but split up
    resume, please see bug 14334 and commit 9905d1b411946fb3 .

    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

01 Mar, 2010

1 commit


26 Feb, 2010

1 commit


20 Feb, 2010

1 commit

  • ...and use it in hostap_cs and orinoco_cs.

    Another PCMCIA device with Intersil Prism chipset has been reported:

    Socket 0:
    product info: "Gigabyte", "GN-WLM01_P25L_ADAPTER", "ISL37300P", "Eval-RevA"
    manfid: 0x02e0, 0x1011
    function: 6 (network)

    As it's the case with some other Prism based devices, the third ID
    string contains a design name that should be sufficient to identify the
    card as having Intersil Prism chipset and thus compatible with both
    orinoco_cs and hostap_cs.

    Introduce PCMCIA_DEVICE_PROD_ID3 that matches the third ID string only.

    Use it in orinoco_cs and hostap_cs to match cards with the third ID
    string indicating Prism chipset. Remove corresponding entries that use
    PCMCIA_DEVICE_PROD_ID123.

    Reported-by: Ozzy
    Signed-off-by: Pavel Roskin
    Signed-off-by: John W. Linville

    Pavel Roskin
     

18 Feb, 2010

7 commits


18 Jan, 2010

2 commits

  • At least no in-kernel CardBus-capable PCI driver makes use of the CIS
    access functions. Therefore, it seems sensible to remove this unused
    code, and cleanup cardbus.c a lot.

    CC: Jesse Barnes
    CC: Linus Torvalds
    Tested-by: Wolfram Sang
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • During a suspend/resume cycle, an user may change the card in the
    PCMCIA/CardBus slot. The pcmcia_core can at least look at the
    socket state to check whether it is the same.

    For PCMCIA devices, move the detection and handling of such a
    change to ds.c.

    For CardBus devices, the PCI hotplug interface doesn't offer a "rescan"
    facility which also _removes_ devices no longer to be found behind a
    bridge. Therefore, remove and re-add all devices unconditionally.

    CC: Jesse Barnes
    CC: Linus Torvalds
    Tested-by: Wolfram Sang
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

08 Dec, 2009

2 commits

  • 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
     
  • Komuro pointed out that IRQ_FIRST_SHARED is not used at all in the
    PCMCIA subsystem, so remove it. Also, remove two bogus assignments.

    CC: Karsten Keil
    CC: netdev@vger.kernel.org
    CC: alsa-devel@alsa-project.org
    CC: Komuro
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

06 Dec, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: (50 commits)
    pcmcia: rework the irq_req_t typedef
    pcmcia: remove deprecated handle_to_dev() macro
    pcmcia: pcmcia_request_window() doesn't need a pointer to a pointer
    pcmcia: remove unused "window_t" typedef
    pcmcia: move some window-related code to pcmcia_ioctl.c
    pcmcia: Change window_handle_t logic to unsigned long
    pcmcia: Pass struct pcmcia_socket to pcmcia_get_mem_page()
    pcmcia: Pass struct pcmcia_device to pcmcia_map_mem_page()
    pcmcia: Pass struct pcmcia_device to pcmcia_release_window()
    drivers/pcmcia: remove unnecessary kzalloc
    pcmcia: correct handling for Zoomed Video registers in topic.h
    pcmcia: fix printk formats
    pcmcia: autoload module pcmcia
    pcmcia/staging: update comedi drivers
    PCMCIA: stop duplicating pci_irq in soc_pcmcia_socket
    PCMCIA: ss: allow PCI IRQs > 255
    PCMCIA: soc_common: remove 'dev' member from soc_pcmcia_socket
    PCMCIA: soc_common: constify soc_pcmcia_socket ops member
    PCMCIA: sa1111: remove duplicated initializers
    PCMCIA: sa1111: wrap soc_pcmcia_socket to contain sa1111 specific data
    ...

    Linus Torvalds
     

29 Nov, 2009

8 commits

  • 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
    CC: Jiri Kosina
    CC: Karsten Keil
    for the Bluetooth parts: Acked-by: Marcel Holtmann
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • Update remaining users and remove deprecated handle_to_dev() macro

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

    Dominik Brodowski
     
  • pcmcia_request_window() only needs a pointer to struct pcmcia_device, not
    a pointer to a pointer.

    CC: netdev@vger.kernel.org
    CC: linux-wireless@vger.kernel.org
    CC: linux-scsi@vger.kernel.org
    CC: Jiri Kosina
    Acked-by: Karsten Keil (for ISDN)
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • 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
     
  • No logic changes, just pass struct pcmcia_device to pcmcia_map_mem_page()

    [linux@dominikbrodowski.net: update to 2.6.31]
    CC: netdev@vger.kernel.org
    CC: linux-wireless@vger.kernel.org
    CC: linux-scsi@vger.kernel.org
    CC: Jiri Kosina
    Acked-by: Karsten Keil (for ISDN)
    Signed-off-by: Magnus Damm
    Signed-off-by: Dominik Brodowski

    Magnus Damm
     
  • No logic changes, just pass struct pcmcia_device to pcmcia_release_window().

    [linux@dominikbrodowski.net: update to 2.6.31]
    CC: netdev@vger.kernel.org
    CC: Jiri Kosina
    Signed-off-by: Magnus Damm
    Signed-off-by: Dominik Brodowski

    Magnus Damm
     

09 Nov, 2009

4 commits


03 Nov, 2009

1 commit

  • Commit 0c570cdeb8fdfcb354a3e9cd81bfc6a09c19de0c
    (PM / yenta: Fix cardbus suspend/resume regression) caused resume to
    fail on systems with two CardBus bridges. While the exact nature
    of the failure is not known at the moment, it can be worked around by
    splitting the yenta resume into an early part, executed during the
    early phase of resume, that will only resume the socket and power it
    up if there was a card in it during suspend, and a late part,
    executed during "regular" resume, that will carry out all of the
    remaining yenta resume operations.

    Fixes http://bugzilla.kernel.org/show_bug.cgi?id=14334, which is a
    listed regression from 2.6.31.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Dominik Brodowski
    Reported-by: Stephen J. Gowdy
    Tested-by: Jose Marino

    Rafael J. Wysocki
     

29 Sep, 2009

1 commit


16 Sep, 2009

1 commit

  • Physical addresses are currently represented as int or long types.
    However, this does not work for processors like the PPC440EPx, which
    is a 32-bit processor with a 36-bit address space. This patch uses
    the phys_addr_t type, which correctly holds a 36-bit address on
    this processor.

    Signed-off-by: Steven A. Falco
    Signed-off-by: Wolfram Sang
    Signed-off-by: Greg Kroah-Hartman

    Steven A. Falco
     

31 Aug, 2008

4 commits


29 Aug, 2008

3 commits


26 Aug, 2008

1 commit


23 Aug, 2008

1 commit