All of lore.kernel.org
 help / color / mirror / Atom feed
From: oliver.henshaw@gmail.com
To: grub-devel@gnu.org
Subject: [PATCH 4/4] Define fields in terms of the Class Code register
Date: Mon, 08 Jun 2009 18:45:19 +0100	[thread overview]
Message-ID: <20090608174546.741998458@gmail.com> (raw)
In-Reply-To: 20090608174515.881183682@gmail.com

[-- Attachment #1: usb-change-to-class_code --]
[-- Type: text/plain, Size: 2169 bytes --]

Changelog:
	* bus/usb/ohci.c: Define the Class, Subclass and Programming Interface fields in 
			  terms of the 3 byte Class Code register.
	* bus/usb/uhci.c: Likewise.
---
 bus/usb/ohci.c |    9 +++++----
 bus/usb/uhci.c |    9 +++++----
 2 files changed, 10 insertions(+), 8 deletions(-)

Index: grub2/bus/usb/ohci.c
===================================================================
--- grub2.orig/bus/usb/ohci.c
+++ grub2/bus/usb/ohci.c
@@ -116,6 +116,7 @@ static int NESTED_FUNC_ATTR
 grub_ohci_pci_iter (int bus, int device, int func,
 		    grub_pci_id_t pciid __attribute__((unused)))
 {
+  grub_uint32_t class_code;
   grub_uint32_t class;
   grub_uint32_t subclass;
   grub_uint32_t interf;
@@ -126,11 +127,11 @@ grub_ohci_pci_iter (int bus, int device,
   grub_uint32_t frame_interval;
 
   addr = grub_pci_make_address (bus, device, func, 2);
-  class = grub_pci_read (addr);
+  class_code = grub_pci_read (addr) >> 8;
 
-  interf = (class >> 8) & 0xFF;
-  subclass = (class >> 16) & 0xFF;
-  class >>= 24;
+  interf = class_code & 0xFF;
+  subclass = (class_code >> 8) & 0xFF;
+  class = class_code >> 16;
 
   /* If this is not an OHCI controller, just return.  */
   if (class != 0x0c || subclass != 0x03 || interf != 0x10)
Index: grub2/bus/usb/uhci.c
===================================================================
--- grub2.orig/bus/usb/uhci.c
+++ grub2/bus/usb/uhci.c
@@ -141,6 +141,7 @@ static int NESTED_FUNC_ATTR
 grub_uhci_pci_iter (int bus, int device, int func,
 		    grub_pci_id_t pciid __attribute__((unused)))
 {
+  grub_uint32_t class_code;
   grub_uint32_t class;
   grub_uint32_t subclass;
   grub_uint32_t interf;
@@ -151,11 +152,11 @@ grub_uhci_pci_iter (int bus, int device,
   int i;
 
   addr = grub_pci_make_address (bus, device, func, 2);
-  class = grub_pci_read (addr);
+  class_code = grub_pci_read (addr) >> 8;
 
-  interf = (class >> 8) & 0xFF;
-  subclass = (class >> 16) & 0xFF;
-  class >>= 24;
+  interf = class_code & 0xFF;
+  subclass = (class_code >> 8) & 0xFF;
+  class = class_code >> 16;
 
   /* If this is not an UHCI controller, just return.  */
   if (class != 0x0c || subclass != 0x03 || interf != 0x00)




  parent reply	other threads:[~2009-06-08 17:46 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-07 18:27 Grub needs to check the programming interface for usb controllers Oliver Henshaw
2009-06-08 17:45 ` [PATCH 0/4] " oliver.henshaw
2009-06-08 17:45   ` [PATCH 1/4] Minor Cleanup oliver.henshaw
2009-06-08 17:45   ` [PATCH 2/4] Fix inteface definition for ohci oliver.henshaw
2009-06-08 17:45   ` [PATCH 3/4] Check usb programming interface oliver.henshaw
2009-06-08 17:45   ` oliver.henshaw [this message]
2009-06-08 20:30   ` [PATCH 0/4] Re: Grub needs to check the programming interface for usb controllers Pavel Roskin
  -- strict thread matches above, loose matches on Subject: below --
2009-06-07 18:36 [PATCH 4/4] Define fields in terms of the Class Code register Oliver Henshaw
2009-06-08  7:47 ` Marco Gerards

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=20090608174546.741998458@gmail.com \
    --to=oliver.henshaw@gmail.com \
    --cc=grub-devel@gnu.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 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.