aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/sunxvr500.c24
1 files changed, 17 insertions, 7 deletions
diff --git a/drivers/video/sunxvr500.c b/drivers/video/sunxvr500.c
index 4cd50497264d..3803745d6eee 100644
--- a/drivers/video/sunxvr500.c
+++ b/drivers/video/sunxvr500.c
@@ -242,11 +242,27 @@ static int __devinit e3d_set_fbinfo(struct e3d_info *ep)
242static int __devinit e3d_pci_register(struct pci_dev *pdev, 242static int __devinit e3d_pci_register(struct pci_dev *pdev,
243 const struct pci_device_id *ent) 243 const struct pci_device_id *ent)
244{ 244{
245 struct device_node *of_node;
246 const char *device_type;
245 struct fb_info *info; 247 struct fb_info *info;
246 struct e3d_info *ep; 248 struct e3d_info *ep;
247 unsigned int line_length; 249 unsigned int line_length;
248 int err; 250 int err;
249 251
252 of_node = pci_device_to_OF_node(pdev);
253 if (!of_node) {
254 printk(KERN_ERR "e3d: Cannot find OF node of %s\n",
255 pci_name(pdev));
256 return -ENODEV;
257 }
258
259 device_type = of_get_property(of_node, "device_type", NULL);
260 if (!device_type) {
261 printk(KERN_INFO "e3d: Ignoring secondary output device "
262 "at %s\n", pci_name(pdev));
263 return -ENODEV;
264 }
265
250 err = pci_enable_device(pdev); 266 err = pci_enable_device(pdev);
251 if (err < 0) { 267 if (err < 0) {
252 printk(KERN_ERR "e3d: Cannot enable PCI device %s\n", 268 printk(KERN_ERR "e3d: Cannot enable PCI device %s\n",
@@ -265,13 +281,7 @@ static int __devinit e3d_pci_register(struct pci_dev *pdev,
265 ep->info = info; 281 ep->info = info;
266 ep->pdev = pdev; 282 ep->pdev = pdev;
267 spin_lock_init(&ep->lock); 283 spin_lock_init(&ep->lock);
268 ep->of_node = pci_device_to_OF_node(pdev); 284 ep->of_node = of_node;
269 if (!ep->of_node) {
270 printk(KERN_ERR "e3d: Cannot find OF node of %s\n",
271 pci_name(pdev));
272 err = -ENODEV;
273 goto err_release_fb;
274 }
275 285
276 /* Read the PCI base register of the frame buffer, which we 286 /* Read the PCI base register of the frame buffer, which we
277 * need in order to interpret the RAMDAC_VID_*FB* values in 287 * need in order to interpret the RAMDAC_VID_*FB* values in