aboutsummaryrefslogtreecommitdiffstats
path: root/include/drm
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-02-02 16:55:45 +1100
committerDave Airlie <airlied@redhat.com>2009-03-13 14:23:56 +1000
commitd883f7f1b75c8dcafa891f7b9e69c5a2f0ff6d66 (patch)
tree765a9bf6d3322ecfa42819622981baea2480ba41 /include/drm
parentLinus 2.6.29-rc8 (diff)
downloadlinux-dev-d883f7f1b75c8dcafa891f7b9e69c5a2f0ff6d66.tar.xz
linux-dev-d883f7f1b75c8dcafa891f7b9e69c5a2f0ff6d66.zip
drm: Use resource_size_t for drm_get_resource_{start, len}
The DRM uses its own wrappers to obtain resources from PCI devices, which currently convert the resource_size_t into an unsigned long. This is broken on 32-bit platforms with >32-bit physical address space. This fixes them, along with a few occurences of unsigned long used to store such a resource in drivers. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'include/drm')
-rw-r--r--include/drm/drmP.h6
-rw-r--r--include/drm/drm_crtc.h2
2 files changed, 4 insertions, 4 deletions
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index e5f4ae989abf..34e1676b53d1 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -1173,10 +1173,10 @@ extern int drm_freebufs(struct drm_device *dev, void *data,
extern int drm_mapbufs(struct drm_device *dev, void *data,
struct drm_file *file_priv);
extern int drm_order(unsigned long size);
-extern unsigned long drm_get_resource_start(struct drm_device *dev,
+extern resource_size_t drm_get_resource_start(struct drm_device *dev,
+ unsigned int resource);
+extern resource_size_t drm_get_resource_len(struct drm_device *dev,
unsigned int resource);
-extern unsigned long drm_get_resource_len(struct drm_device *dev,
- unsigned int resource);
/* DMA support (drm_dma.h) */
extern int drm_dma_setup(struct drm_device *dev);
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index 5ded1acfb543..33ae98ced80e 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -550,7 +550,7 @@ struct drm_mode_config {
int min_width, min_height;
int max_width, max_height;
struct drm_mode_config_funcs *funcs;
- unsigned long fb_base;
+ resource_size_t fb_base;
/* pointers to standard properties */
struct list_head property_blob_list;