From: Emanuele Rocca <[EMAIL PROTECTED]>
Date: Fri, 9 Mar 2007 00:21:57 +0100
> * David Miller <[EMAIL PROTECTED]>, [2007-03-08 15:08 -0800]:
> > Ok. Let me think about how to debug this.
> >
> > Can you build test kernels if I give you a patch?
>
> Sure.
>
> config of my last build attached, maybe it gives you some helpful info.
Please add this debugging patch and boot, let me know what ends up
in your kernel log.
Thanks.
diff --git a/drivers/video/aty/atyfb_base.c b/drivers/video/aty/atyfb_base.c
index d7627fc..b7cca23 100644
--- a/drivers/video/aty/atyfb_base.c
+++ b/drivers/video/aty/atyfb_base.c
@@ -3476,15 +3476,18 @@ static int __devinit atyfb_pci_probe(struct pci_dev
*pdev, const struct pci_devi
struct atyfb_par *par;
int i, rc = -ENOMEM;
+ printk("atyfb_pci_probe: Invoked\n");
for (i = ARRAY_SIZE(aty_chips) - 1; i >= 0; i--)
if (pdev->device == aty_chips[i].pci_id)
break;
- if (i < 0)
+ if (i < 0) {
+ printk("atyfb_pci_probe: Cannot match in pci table\n");
return -ENODEV;
-
+ }
/* Enable device in PCI config */
if (pci_enable_device(pdev)) {
+ printk("atyfb_pci_probe: Cannot enable device\n");
PRINTKE("Cannot enable PCI device\n");
return -ENXIO;
}
@@ -3494,18 +3497,21 @@ static int __devinit atyfb_pci_probe(struct pci_dev
*pdev, const struct pci_devi
if (rp->flags & IORESOURCE_IO)
rp = &pdev->resource[1];
addr = rp->start;
- if (!addr)
+ if (!addr) {
+ printk("atyfb_pci_probe: Resource start is zero\n");
return -ENXIO;
-
+ }
/* Reserve space */
res_start = rp->start;
res_size = rp->end - rp->start + 1;
- if (!request_mem_region (res_start, res_size, "atyfb"))
+ if (!request_mem_region (res_start, res_size, "atyfb")) {
+ printk("atyfb_pci_probe: request_mem_region() fails\n");
return -EBUSY;
-
+ }
/* Allocate framebuffer */
info = framebuffer_alloc(sizeof(struct atyfb_par), &pdev->dev);
if (!info) {
+ printk("atyfb_pci_probe: framebuffer_alloc() fails\n");
PRINTKE("atyfb_pci_probe() can't alloc fb_info\n");
return -ENOMEM;
}
@@ -3524,14 +3530,18 @@ static int __devinit atyfb_pci_probe(struct pci_dev
*pdev, const struct pci_devi
#else
rc = atyfb_setup_generic(pdev, info, addr);
#endif
- if (rc)
+ if (rc) {
+ printk("atyfb_pci_probe: atyfb_setup_foo() fails %d\n", rc);
goto err_release_mem;
+ }
pci_set_drvdata(pdev, info);
/* Init chip & register framebuffer */
- if (aty_init(info))
+ if (aty_init(info)) {
+ printk("atyfb_pci_probe: atyfb_init() fails\n");
goto err_release_io;
+ }
#ifdef __sparc__
if (!prom_palette)
@@ -3552,6 +3562,7 @@ static int __devinit atyfb_pci_probe(struct pci_dev
*pdev, const struct pci_devi
par->mmap_map[1].prot_flag = _PAGE_E;
#endif /* __sparc__ */
+ printk("atyfb_pci_probe: success\n");
return 0;
err_release_io:
@@ -3820,12 +3831,14 @@ static int __init atyfb_init(void)
#ifndef MODULE
char *option = NULL;
+ printk("atyfb_init: Invoked\n");
if (fb_get_options("atyfb", &option))
return -ENODEV;
atyfb_setup(option);
#endif
#ifdef CONFIG_PCI
+ printk("atyfb_init: Registering PCI device\n");
err1 = pci_register_driver(&atyfb_driver);
#endif
#ifdef CONFIG_ATARI
-
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html