Module Name:    src
Committed By:   riastradh
Date:           Wed Jul 24 02:31:54 UTC 2013

Modified Files:
        src/sys/external/bsd/drm2/dist/include/drm [riastradh-drm2]: drmP.h

Log Message:
Extend struct drm_bus with irq_install and irq_uninstall operations.

These allow us to pass an intr handler cookie from install to
uninstall, which Linux doesn't do in its request_irq/free_irq but
which we need for pci_intr_establish/pci_intr_disestablish.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1.2.27 -r1.1.1.1.2.28 \
    src/sys/external/bsd/drm2/dist/include/drm/drmP.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/include/drm/drmP.h
diff -u src/sys/external/bsd/drm2/dist/include/drm/drmP.h:1.1.1.1.2.27 src/sys/external/bsd/drm2/dist/include/drm/drmP.h:1.1.1.1.2.28
--- src/sys/external/bsd/drm2/dist/include/drm/drmP.h:1.1.1.1.2.27	Wed Jul 24 02:30:26 2013
+++ src/sys/external/bsd/drm2/dist/include/drm/drmP.h	Wed Jul 24 02:31:54 2013
@@ -799,9 +799,22 @@ struct drm_master {
 #define DRM_SCANOUTPOS_INVBL        (1 << 1)
 #define DRM_SCANOUTPOS_ACCURATE     (1 << 2)
 
+struct drm_bus_irq_cookie;
+
 struct drm_bus {
 	int bus_type;
+	/*
+	 * XXX NetBSD will have a problem with this: pci_intr_handle_t
+	 * is a long on some LP64 architectures, where int is 32-bit,
+	 * such as alpha and mips64.
+	 */
 	int (*get_irq)(struct drm_device *dev);
+#ifdef __NetBSD__
+	int (*irq_install)(struct drm_device *, irqreturn_t (*)(void *), int,
+	    const char *, void *, struct drm_bus_irq_cookie **);
+	void (*irq_uninstall)(struct drm_device *,
+	    struct drm_bus_irq_cookie *);
+#endif
 	const char *(*get_name)(struct drm_device *dev);
 	int (*set_busid)(struct drm_device *dev, struct drm_master *master);
 	int (*set_unique)(struct drm_device *dev, struct drm_master *master,

Reply via email to