04 Jan, 2009

1 commit

  • This patch extends 42a6e66f1e40a930d093c33ba0bb9d8d8e4555ed by using
    usb_endpoint_xfer_control, usb_endpoint_xfer_isoc, usb_endpoint_xfer_bulk,
    and usb_endpoint_xfer_int in the negated case as well.

    This patch also rewrites some calls to usb_endpoint_dir_in as negated calls
    to !usb_endpoint_dir_out, and vice versa, to better correspond to the
    intent of the original code.

    The semantic patch that makes this change is as follows:
    (http://www.emn.fr/x-info/coccinelle/)

    //
    @@ struct usb_endpoint_descriptor *epd; @@

    - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_CONTROL\|0\))
    + !usb_endpoint_xfer_control(epd)

    @@ struct usb_endpoint_descriptor *epd; @@

    - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_ISOC\|1\))
    + !usb_endpoint_xfer_isoc(epd)

    @@ struct usb_endpoint_descriptor *epd; @@

    - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_BULK\|2\))
    + !usb_endpoint_xfer_bulk(epd)

    @@ struct usb_endpoint_descriptor *epd; @@

    - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_INT\|3\))
    + !usb_endpoint_xfer_int(epd)
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Takashi Iwai

    Julia Lawall
     

02 Jan, 2009

1 commit

  • Use the USB functions usb_get_intfdata and usb_set_intfdata instead of
    dev_get_drvdata and dev_set_drvdata, respectively.

    The semantic patch that makes this change for the usb_get_intfdata case is
    as follows: (http://www.emn.fr/x-info/coccinelle/)

    //
    @header@
    @@

    #include

    @same depends on header@
    position p;
    @@

    usb_get_intfdata@p(...) { ... }

    @depends on header@
    position _p!=same.p;
    identifier _f;
    struct usb_interface*intf;
    @@

    _f@_p(...) { dev)
    + usb_get_intfdata(intf)
    ...+> }
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Takashi Iwai

    Julia Lawall
     

01 Jan, 2009

1 commit

  • This set of patches introduces calls to the following set of functions:

    usb_endpoint_dir_in(epd)
    usb_endpoint_dir_out(epd)
    usb_endpoint_is_bulk_in(epd)
    usb_endpoint_is_bulk_out(epd)
    usb_endpoint_is_int_in(epd)
    usb_endpoint_is_int_out(epd)
    usb_endpoint_num(epd)
    usb_endpoint_type(epd)
    usb_endpoint_xfer_bulk(epd)
    usb_endpoint_xfer_control(epd)
    usb_endpoint_xfer_int(epd)
    usb_endpoint_xfer_isoc(epd)

    In some cases, introducing one of these functions is not possible, and it
    just replaces an explicit integer value by one of the following constants:

    USB_ENDPOINT_XFER_BULK
    USB_ENDPOINT_XFER_CONTROL
    USB_ENDPOINT_XFER_INT
    USB_ENDPOINT_XFER_ISOC

    An extract of the semantic patch that makes these changes is as follows:
    (http://www.emn.fr/x-info/coccinelle/)

    //
    @r1@ struct usb_endpoint_descriptor *epd; @@

    - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) ==
    - \(USB_ENDPOINT_XFER_CONTROL\|0\))
    + usb_endpoint_xfer_control(epd)

    @r5@ struct usb_endpoint_descriptor *epd; @@

    - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) ==
    - \(USB_DIR_IN\|0x80\))
    + usb_endpoint_dir_in(epd)

    @inc@
    @@

    #include

    @depends on !inc && (r1||r5)@
    @@

    + #include
    #include
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Takashi Iwai

    Julia Lawall
     

25 Dec, 2008

1 commit


18 Dec, 2008

1 commit


10 Dec, 2008

1 commit


27 Nov, 2008

1 commit


30 Oct, 2008

1 commit


15 Oct, 2008

1 commit


10 Oct, 2008

4 commits


09 Sep, 2008

1 commit


15 Aug, 2008

1 commit


13 Aug, 2008

1 commit


06 Aug, 2008

1 commit

  • The support for the SB Extigy's remote seems to be broken in all
    recent ALSA versions, including 1.0.17. The driver detects the event
    correctly, then submits a URB to query the RC code. On the Extigy, the
    URB is submitted with a length of 2 bytes. My hardware, however, only
    replies with 1 byte, containing the correct RC button code. The
    current implementation discards this as being too short. (line 1784 of
    usbmixer.c)

    This patch specifies a "minimum packet length" in the remote control
    configuration. I've left the values for the Audigy 2/Live! the same as
    the packet length, as I'm assuming the existing code works with them.
    (I don't have the hardware to confirm) This fixes the Extigy RC
    support, e.g. for use with Lirc.

    Signed-off-by: Phillip Michael Jordan
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Phillip Michael Jordan
     

01 Aug, 2008

1 commit


28 Jul, 2008

1 commit


10 Jul, 2008

3 commits


06 Jun, 2008

1 commit


27 May, 2008

2 commits


22 May, 2008

1 commit


19 May, 2008

1 commit


24 Apr, 2008

9 commits


11 Mar, 2008

1 commit


29 Feb, 2008

1 commit


23 Feb, 2008

2 commits

  • Fix following warning:
    WARNING: vmlinux.o(.text+0x11ec01a): Section mismatch in reference from the function setup_card() to the function .devinit.text:snd_usb_caiaq_control_init()

    setup_card() are only used by init_card().
    init_card() are only used by snd_probe()
    snd_probe() are used for the .probe parameter in usb_driver.probe

    Annotate them all __devinit to fix the warning.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: Takashi Iwai
    Signed-off-by: Linus Torvalds

    Sam Ravnborg
     
  • The driver resubmits URBs from an error handler and schedules the error
    handler from the URBs' completion handlers. To reliably kill the cycle
    a flag must be used.

    Signed-off-by: Oliver Neukum
    Signed-off-by: Clemens Ladisch
    Signed-off-by: Takashi Iwai
    Signed-off-by: Linus Torvalds

    Takashi Iwai