linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: airlied@linux.ie, dri-devel@lists.freedesktop.org,
	linux-acpi@vger.kernel.org
Subject: [PATCH 2/3] acpi_video: Intel video is not always i915
Date: Wed, 25 Apr 2012 14:33:48 +0100	[thread overview]
Message-ID: <20120425133345.1419.81815.stgit@bluebook> (raw)
In-Reply-To: <20120425133326.1419.63797.stgit@bluebook>

From: Alan Cox <alan@linux.intel.com>

Stop it poking at random registers on the i740 cards that may be out there
still.

As per Matthew's feedback remove the conditional checks and never enable the
opregion handling unless an appropriate driver has been loaded.

Signed-off-by: Alan Cox <alan@linux.intel.com>
---

 drivers/acpi/video.c |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index 66e8f73..609262d 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -1743,10 +1743,18 @@ static int acpi_video_bus_remove(struct acpi_device *device, int type)
 	return 0;
 }
 
+static int __init is_i740(struct pci_dev *dev)
+{
+	if (dev->device == 0x00D1)
+		return 1;
+	if (dev->device == 0x7000)
+		return 1;
+	return 0;
+}
+
 static int __init intel_opregion_present(void)
 {
-	int i915 = 0;
-#if defined(CONFIG_DRM_I915) || defined(CONFIG_DRM_I915_MODULE)
+	int opregion = 0;
 	struct pci_dev *dev = NULL;
 	u32 address;
 
@@ -1755,13 +1763,15 @@ static int __init intel_opregion_present(void)
 			continue;
 		if (dev->vendor != PCI_VENDOR_ID_INTEL)
 			continue;
+		/* We don't want to poke around undefined i740 registers */
+		if (is_i740(dev))
+			continue;
 		pci_read_config_dword(dev, 0xfc, &address);
 		if (!address)
 			continue;
-		i915 = 1;
+		opregion = 1;
 	}
-#endif
-	return i915;
+	return opregion;
 }
 
 int acpi_video_register(void)


  reply	other threads:[~2012-04-25 13:34 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-25 13:33 [PATCH 1/3] acpi_video: fix leaking PCI references Alan Cox
2012-04-25 13:33 ` Alan Cox [this message]
2012-04-25 13:34 ` [PATCH 3/3] gma500: don't register the ACPI video bus Alan Cox
2012-04-25 14:09 ` [PATCH 1/3] acpi_video: fix leaking PCI references Matthew Garrett
2012-05-08  6:10 ` Len Brown
  -- strict thread matches above, loose matches on Subject: below --
2012-04-24 15:44 Alan Cox
2012-04-24 15:45 ` [PATCH 2/3] acpi_video: Intel video is not always i915 Alan Cox
2012-04-24 21:02   ` Matthew Garrett
2012-04-24 22:31     ` Alan Cox
2012-04-24 22:30       ` Matthew Garrett
2012-04-25 10:27         ` Alan Cox
2012-04-25 11:31           ` Matthew Garrett
2012-04-25 12:24             ` Alan Cox
2012-04-25 12:40               ` Matthew Garrett
2012-04-25 12:49                 ` Alan Cox
2012-04-25 12:48                   ` Matthew Garrett

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=20120425133345.1419.81815.stgit@bluebook \
    --to=alan@lxorguk.ukuu.org.uk \
    --cc=airlied@linux.ie \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-acpi@vger.kernel.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).