diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2009-02-02 00:55:45 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-03-13 00:23:56 -0400 |
commit | d883f7f1b75c8dcafa891f7b9e69c5a2f0ff6d66 (patch) | |
tree | 765a9bf6d3322ecfa42819622981baea2480ba41 /include/drm | |
parent | 041b62374c7fedc11a8a1eeda2868612d3d1436c (diff) |
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, | |||
1173 | extern int drm_mapbufs(struct drm_device *dev, void *data, | 1173 | extern int drm_mapbufs(struct drm_device *dev, void *data, |
1174 | struct drm_file *file_priv); | 1174 | struct drm_file *file_priv); |
1175 | extern int drm_order(unsigned long size); | 1175 | extern int drm_order(unsigned long size); |
1176 | extern unsigned long drm_get_resource_start(struct drm_device *dev, | 1176 | extern resource_size_t drm_get_resource_start(struct drm_device *dev, |
1177 | unsigned int resource); | ||
1178 | extern resource_size_t drm_get_resource_len(struct drm_device *dev, | ||
1177 | unsigned int resource); | 1179 | unsigned int resource); |
1178 | extern unsigned long drm_get_resource_len(struct drm_device *dev, | ||
1179 | unsigned int resource); | ||
1180 | 1180 | ||
1181 | /* DMA support (drm_dma.h) */ | 1181 | /* DMA support (drm_dma.h) */ |
1182 | extern int drm_dma_setup(struct drm_device *dev); | 1182 | 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 { | |||
550 | int min_width, min_height; | 550 | int min_width, min_height; |
551 | int max_width, max_height; | 551 | int max_width, max_height; |
552 | struct drm_mode_config_funcs *funcs; | 552 | struct drm_mode_config_funcs *funcs; |
553 | unsigned long fb_base; | 553 | resource_size_t fb_base; |
554 | 554 | ||
555 | /* pointers to standard properties */ | 555 | /* pointers to standard properties */ |
556 | struct list_head property_blob_list; | 556 | struct list_head property_blob_list; |