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,