diff options
author | Owain Ainsworth <oga@cvs.openbsd.org> | 2008-11-23 21:35:02 +0000 |
---|---|---|
committer | Owain Ainsworth <oga@cvs.openbsd.org> | 2008-11-23 21:35:02 +0000 |
commit | ebcc0685bc5a51f710b5063c90f783646d4dbb53 (patch) | |
tree | 4bcfaa5f472f81112a5ee846adf18228e990ea42 /sys/dev/pci/drm/r128_drv.h | |
parent | 17ac785bb3a684774ebdad9381363f2883fec44a (diff) |
Map device interrupts in the attach routine. and remove more need for
dev->pa by doing the pci_intr_establish/disestablish dance in the driver
function, not in drm. This removes the need for
interrupt_{pre,post}install callbacks, instead just provide a
interrupt_install() callback.
Diffstat (limited to 'sys/dev/pci/drm/r128_drv.h')
-rw-r--r-- | sys/dev/pci/drm/r128_drv.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/pci/drm/r128_drv.h b/sys/dev/pci/drm/r128_drv.h index 37d697e2930..ca647af09e4 100644 --- a/sys/dev/pci/drm/r128_drv.h +++ b/sys/dev/pci/drm/r128_drv.h @@ -79,6 +79,10 @@ typedef struct drm_r128_private { struct device dev; struct device *drmdev; + pci_chipset_tag_t pc; + pci_intr_handle_t ih; + void *irqh; + struct vga_pci_bar *regs; drm_r128_ring_buffer_t ring; drm_r128_sarea_t *sarea_priv; @@ -165,7 +169,7 @@ extern int r128_enable_vblank(struct drm_device *dev, int crtc); extern void r128_disable_vblank(struct drm_device *dev, int crtc); extern u32 r128_get_vblank_counter(struct drm_device *dev, int crtc); extern irqreturn_t r128_driver_irq_handler(DRM_IRQ_ARGS); -extern void r128_driver_irq_preinstall(struct drm_device * dev); +extern int r128_driver_irq_install(struct drm_device * dev); extern void r128_driver_irq_uninstall(struct drm_device * dev); extern void r128_driver_lastclose(struct drm_device * dev); extern void r128_driver_preclose(struct drm_device * dev, |