All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Rorvick <chris@rorvick.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Chris Rorvick <chris@rorvick.com>,
	Alan Stern <stern@rowland.harvard.edu>,
	Oliver Neukum <oneukum@suse.de>,
	linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org
Subject: [RFC RESEND 06/10] fotg210: Make Xen notificaiton consistent with EHCI
Date: Sun,  2 Nov 2014 21:07:53 -0600	[thread overview]
Message-ID: <1414984077-9750-7-git-send-email-chris@rorvick.com> (raw)
In-Reply-To: <1414984077-9750-1-git-send-email-chris@rorvick.com>

If CONFIG_XEN_DOM0 is enabled, the ehci-dbgp driver notifies Xen of
controller reset events via xen_dbgp_reset_prep() and
xen_dbgp_external_startup() (via calls to xen_dbgp_op().)  Otherwise
<linux/usb/ehci_def.h> defines them as no-ops to disable this logic.

The fotg210 driver copies much of the dbgp code from ehci_def.h, but it
unconditionally defines the Xen hooks as no-ops, effectively disabling
these notifications when CONFIG_EARLY_PRINTK_DBGP is disabled.  When
enabled, though, notifying Xen is dependent on CONFIG_XEN_DOM0 due to
fotg210 leveraging the ehci-dbgp driver.

The following table compares the implementations of xen_dbgp_reset_prep()
and xen_dbgp_external_startup() in the ehci-dbgp and fotg210 drivers
under the relevant configurations:

  EARLY_PRINTK_DBGP?  XEN_DOM0?  ehci-dbgp      fotg210
  ------------------  ---------  -------------  -------------
  n                   n          no-op          no-op
  n                   y          xen_dbgp_op()  no-op
  y                   n          no-op          no-op
  y                   y          xen_dbgp_op()  xen_dbgp_op()

This suggests that fotg210 is, at best, indifferent to whether Xen is
notified of these events.  Make fotg210 consistent with ehci-dbgp as a
step towards consolidating this code duplication.

Signed-off-by: Chris Rorvick <chris@rorvick.com>
---
 drivers/usb/host/fotg210.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/usb/host/fotg210.h b/drivers/usb/host/fotg210.h
index ac6cd1b..98c9670 100644
--- a/drivers/usb/host/fotg210.h
+++ b/drivers/usb/host/fotg210.h
@@ -326,6 +326,10 @@ extern struct console early_dbgp_console;
 
 struct usb_hcd;
 
+#ifdef CONFIG_XEN_DOM0
+extern int xen_dbgp_reset_prep(struct usb_hcd *);
+extern int xen_dbgp_external_startup(struct usb_hcd *);
+#else
 static inline int xen_dbgp_reset_prep(struct usb_hcd *hcd)
 {
 	return 1; /* Shouldn't this be 0? */
@@ -335,6 +339,7 @@ static inline int xen_dbgp_external_startup(struct usb_hcd *hcd)
 {
 	return -1;
 }
+#endif
 
 #ifdef CONFIG_EARLY_PRINTK_DBGP
 /* Call backs from fotg210 host driver to fotg210 debug driver */
-- 
1.9.3


  parent reply	other threads:[~2014-11-03  3:10 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-03  3:07 [RFC RESEND 00/10] Create separate header for ehci-dbgp driver Chris Rorvick
2014-11-03  3:07 ` [RFC RESEND 01/10] usb: Create separate header for ehci-dbgp Chris Rorvick
2014-11-03  3:07 ` [RFC RESEND 02/10] fusbh200: Make Xen notificaiton consistent with EHCI Chris Rorvick
2014-11-03  3:07 ` [RFC RESEND 03/10] fusbh200: Remove superfluous macro definitions Chris Rorvick
2014-11-03  3:07 ` [RFC RESEND 04/10] fusbh200: Remove duplicate ehci-dbgp declarations Chris Rorvick
2014-11-03  3:07 ` [RFC RESEND 05/10] fusbh200: Use ehci_dbg_port struct Chris Rorvick
2014-11-03  3:07 ` Chris Rorvick [this message]
2014-11-03  3:07 ` [RFC RESEND 07/10] fotg210: Remove superfluous macro definitions Chris Rorvick
2014-11-03  3:07 ` [RFC RESEND 08/10] fotg210: Remove duplicate ehci-dbgp declarations Chris Rorvick
2014-11-03  3:07 ` [RFC RESEND 09/10] fotg210: Use ehci_dbg_port struct Chris Rorvick
2014-11-03  3:07 ` [RFC RESEND 10/10] usb: Remove __init from early_dbgp_init() prototype Chris Rorvick
2014-11-03 23:09 ` [RFC RESEND 00/10] Create separate header for ehci-dbgp driver Greg Kroah-Hartman
2014-11-05  1:44   ` Chris Rorvick
2014-11-04  8:46 ` Daniele Forsi
  -- strict thread matches above, loose matches on Subject: below --
2014-09-29  4:48 Chris Rorvick
2014-09-29  4:48 ` [RFC RESEND 06/10] fotg210: Make Xen notificaiton consistent with EHCI Chris Rorvick

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=1414984077-9750-7-git-send-email-chris@rorvick.com \
    --to=chris@rorvick.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=oneukum@suse.de \
    --cc=stern@rowland.harvard.edu \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.