drivers/char/agp - use bool
[safe/jmp/linux-2.6] / drivers / char / agp / alpha-agp.c
index b0acf41..5da89f6 100644 (file)
 
 #include "agp.h"
 
-static struct page *alpha_core_agp_vm_nopage(struct vm_area_struct *vma,
-                                            unsigned long address,
-                                            int *type)
+static int alpha_core_agp_vm_fault(struct vm_area_struct *vma,
+                                       struct vm_fault *vmf)
 {
        alpha_agp_info *agp = agp_bridge->dev_private_data;
        dma_addr_t dma_addr;
        unsigned long pa;
        struct page *page;
 
-       dma_addr = address - vma->vm_start + agp->aperture.bus_base;
+       dma_addr = (unsigned long)vmf->virtual_address - vma->vm_start
+                                               + agp->aperture.bus_base;
        pa = agp->ops->translate(agp, dma_addr);
 
        if (pa == (unsigned long)-EINVAL)
-               return NULL;    /* no translation */
+               return VM_FAULT_SIGBUS; /* no translation */
 
        /*
         * Get the page, inc the use count, and return it
         */
        page = virt_to_page(__va(pa));
        get_page(page);
-       if (type)
-               *type = VM_FAULT_MINOR;
-       return page;
+       vmf->page = page;
+       return 0;
 }
 
 static struct aper_size_info_fixed alpha_core_agp_sizes[] =
@@ -42,7 +41,7 @@ static struct aper_size_info_fixed alpha_core_agp_sizes[] =
 };
 
 struct vm_operations_struct alpha_core_agp_vm_ops = {
-       .nopage = alpha_core_agp_vm_nopage,
+       .fault = alpha_core_agp_vm_fault,
 };
 
 
@@ -81,7 +80,7 @@ static void alpha_core_agp_enable(struct agp_bridge_data *bridge, u32 mode)
        agp->mode.bits.enable = 1;
        agp->ops->configure(agp);
 
-       agp_device_command(agp->mode.lw, 0);
+       agp_device_command(agp->mode.lw, false);
 }
 
 static int alpha_core_agp_insert_memory(struct agp_memory *mem, off_t pg_start,
@@ -127,7 +126,7 @@ struct agp_bridge_driver alpha_core_agp_driver = {
        .aperture_sizes         = alpha_core_agp_sizes,
        .num_aperture_sizes     = 1,
        .size_type              = FIXED_APER_SIZE,
-       .cant_use_aperture      = 1,
+       .cant_use_aperture      = true,
        .masks                  = NULL,
 
        .fetch_size             = alpha_core_agp_fetch_size,
@@ -173,7 +172,7 @@ alpha_core_agp_setup(void)
        /*
         * Build a fake pci_dev struct
         */
-       pdev = kmalloc(sizeof(struct pci_dev), GFP_KERNEL);
+       pdev = alloc_pci_dev();
        if (!pdev)
                return -ENOMEM;
        pdev->vendor = 0xffff;