diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-02-02 16:55:45 +1100 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-03-13 14:23:56 +1000 |
commit | d883f7f1b75c8dcafa891f7b9e69c5a2f0ff6d66 (patch) | |
tree | 765a9bf6d3322ecfa42819622981baea2480ba41 /include/drm | |
parent | 041b62374c7fedc11a8a1eeda2868612d3d1436c (diff) | |
download | linux-d883f7f1b75c8dcafa891f7b9e69c5a2f0ff6d66.tar.gz linux-d883f7f1b75c8dcafa891f7b9e69c5a2f0ff6d66.tar.xz |
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.h | 6 | ||||
-rw-r--r-- | include/drm/drm_crtc.h | 2 |
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; |