qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org
Cc: Gerd Hoffmann <kraxel@redhat.com>
Subject: [Qemu-devel] [PATCH v4 23/32] usb: add attach callback
Date: Wed, 12 Jan 2011 12:20:05 +0100	[thread overview]
Message-ID: <1294831214-4499-24-git-send-email-kraxel@redhat.com> (raw)
In-Reply-To: <1294831214-4499-1-git-send-email-kraxel@redhat.com>

Add handle_attach() callback to USBDeviceInfo which is called by the
generic package handler when the device is attached to the usb bus
(i.e. plugged into a port).

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/usb.c |    7 ++++++-
 hw/usb.h |    5 +++++
 2 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/hw/usb.c b/hw/usb.c
index ba720b4..82a6217 100644
--- a/hw/usb.c
+++ b/hw/usb.c
@@ -194,6 +194,9 @@ int usb_generic_handle_packet(USBDevice *s, USBPacket *p)
     switch(p->pid) {
     case USB_MSG_ATTACH:
         s->state = USB_STATE_ATTACHED;
+        if (s->info->handle_attach) {
+            s->info->handle_attach(s);
+        }
         return 0;
 
     case USB_MSG_DETACH:
@@ -204,7 +207,9 @@ int usb_generic_handle_packet(USBDevice *s, USBPacket *p)
         s->remote_wakeup = 0;
         s->addr = 0;
         s->state = USB_STATE_DEFAULT;
-        s->info->handle_reset(s);
+        if (s->info->handle_reset) {
+            s->info->handle_reset(s);
+        }
         return 0;
     }
 
diff --git a/hw/usb.h b/hw/usb.h
index 407a114..892ff72 100644
--- a/hw/usb.h
+++ b/hw/usb.h
@@ -194,6 +194,11 @@ struct USBDeviceInfo {
     void (*handle_destroy)(USBDevice *dev);
 
     /*
+     * Attach the device
+     */
+    void (*handle_attach)(USBDevice *dev);
+
+    /*
      * Reset the device
      */
     void (*handle_reset)(USBDevice *dev);
-- 
1.7.1

  parent reply	other threads:[~2011-01-12 11:20 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-12 11:19 [Qemu-devel] [PATCH v4 00/32] usb descriptor overhaul + more Gerd Hoffmann
2011-01-12 11:19 ` [Qemu-devel] [PATCH v4 01/32] usb: update MAINTAINERS Gerd Hoffmann
2011-01-12 11:19 ` [Qemu-devel] [PATCH v4 02/32] usb: data structs and helpers for usb descriptors Gerd Hoffmann
2011-01-12 11:19 ` [Qemu-devel] [PATCH v4 03/32] usb hid: use new descriptor infrastructure Gerd Hoffmann
2011-01-12 11:19 ` [Qemu-devel] [PATCH v4 04/32] usb serial: " Gerd Hoffmann
2011-01-12 11:19 ` [Qemu-devel] [PATCH v4 05/32] usb storage: " Gerd Hoffmann
2011-01-12 11:19 ` [Qemu-devel] [PATCH v4 06/32] usb wacom: " Gerd Hoffmann
2011-01-12 11:19 ` [Qemu-devel] [PATCH v4 07/32] usb bluetooth: " Gerd Hoffmann
2011-01-12 11:19 ` [Qemu-devel] [PATCH v4 08/32] usb hub: " Gerd Hoffmann
2011-01-12 11:19 ` [Qemu-devel] [PATCH v4 09/32] usb descriptors: add settable strings Gerd Hoffmann
2011-01-12 11:19 ` [Qemu-devel] [PATCH v4 10/32] usb storage: serial number support Gerd Hoffmann
2011-01-12 11:19 ` [Qemu-devel] [PATCH v4 11/32] usb network: use new descriptor infrastructure Gerd Hoffmann
2011-01-12 11:19 ` [Qemu-devel] [PATCH v4 12/32] usb: move USB_REQ_SET_ADDRESS handling to common code Gerd Hoffmann
2011-01-12 11:19 ` [Qemu-devel] [PATCH v4 13/32] usb: move USB_REQ_{GET, SET}_CONFIGURATION " Gerd Hoffmann
2011-01-12 11:19 ` [Qemu-devel] [PATCH v4 14/32] usb: move remote wakeup " Gerd Hoffmann
2011-01-12 11:19 ` [Qemu-devel] [PATCH v4 15/32] usb: create USBPortOps, move attach there Gerd Hoffmann
2011-01-12 11:19 ` [Qemu-devel] [PATCH v4 16/32] usb: rework attach/detach workflow Gerd Hoffmann
2011-01-12 11:19 ` [Qemu-devel] [PATCH v4 17/32] usb: add usb_wakeup() + wakeup callback to port ops Gerd Hoffmann
2011-01-12 11:20 ` [Qemu-devel] [PATCH v4 18/32] usb: uhci: remote wakeup support Gerd Hoffmann
2011-01-12 12:25   ` Stefan Hajnoczi
2011-01-14 11:56     ` Gerd Hoffmann
2011-01-12 11:20 ` [Qemu-devel] [PATCH v4 19/32] usb: hub: " Gerd Hoffmann
2011-01-12 11:20 ` [Qemu-devel] [PATCH v4 20/32] usb: hid: " Gerd Hoffmann
2011-01-12 11:20 ` [Qemu-devel] [PATCH v4 21/32] usb: hid: change serial number to "42" Gerd Hoffmann
2011-01-12 11:20 ` [Qemu-devel] [PATCH v4 22/32] usb: add speed mask to ports Gerd Hoffmann
2011-01-12 11:20 ` Gerd Hoffmann [this message]
2011-01-12 11:20 ` [Qemu-devel] [PATCH v4 24/32] usb: add usb_desc_attach Gerd Hoffmann
2011-01-12 11:20 ` [Qemu-devel] [PATCH v4 25/32] usb: add device qualifier support Gerd Hoffmann
2011-01-12 11:20 ` [Qemu-devel] [PATCH v4 26/32] usb storage: high speed support Gerd Hoffmann
2011-01-12 11:20 ` [Qemu-devel] [PATCH v4 27/32] usb storage: fix status reporting Gerd Hoffmann
2011-01-12 11:20 ` [Qemu-devel] [PATCH v4 28/32] usb storage: handle long responses Gerd Hoffmann
2011-01-12 11:20 ` [Qemu-devel] [PATCH v4 29/32] usb: keep track of physical port address Gerd Hoffmann
2011-01-12 11:20 ` [Qemu-devel] [PATCH v4 30/32] usb: add port property Gerd Hoffmann
2011-01-12 11:20 ` [Qemu-devel] [PATCH v4 31/32] usb: rewrite fw path, fix numbering Gerd Hoffmann
2011-01-12 11:20 ` [Qemu-devel] [PATCH v4 32/32] usb: zap pdev from usbport Gerd Hoffmann
2011-01-21 15:00 ` [Qemu-devel] Re: [PATCH v4 00/32] usb descriptor overhaul + more Gerd Hoffmann
2011-01-21 17:04   ` Aurelien Jarno

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1294831214-4499-24-git-send-email-kraxel@redhat.com \
    --to=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).