mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 17:43:52 +02:00
drm/fbdev: Remove aperture handling and FBINFO_MISC_FIRMWARE
There are no users left of struct fb_info.apertures and the flag FBINFO_MISC_FIRMWARE. Remove both and the aperture-ownership code in the fbdev core. All code for aperture ownership is now located in the fbdev drivers. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20221219160516.23436-19-tzimmermann@suse.de
This commit is contained in:
parent
2cb14c8613
commit
5b6373de43
|
|
@ -13,7 +13,6 @@
|
|||
|
||||
#include <linux/module.h>
|
||||
|
||||
#include <linux/aperture.h>
|
||||
#include <linux/compat.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/errno.h>
|
||||
|
|
@ -1653,32 +1652,6 @@ static void do_unregister_framebuffer(struct fb_info *fb_info)
|
|||
put_fb_info(fb_info);
|
||||
}
|
||||
|
||||
static int fb_aperture_acquire_for_platform_device(struct fb_info *fb_info)
|
||||
{
|
||||
struct apertures_struct *ap = fb_info->apertures;
|
||||
struct device *dev = fb_info->device;
|
||||
struct platform_device *pdev;
|
||||
unsigned int i;
|
||||
int ret;
|
||||
|
||||
if (!ap)
|
||||
return 0;
|
||||
|
||||
if (!dev_is_platform(dev))
|
||||
return 0;
|
||||
|
||||
pdev = to_platform_device(dev);
|
||||
|
||||
for (ret = 0, i = 0; i < ap->count; ++i) {
|
||||
ret = devm_aperture_acquire_for_platform_device(pdev, ap->ranges[i].base,
|
||||
ap->ranges[i].size);
|
||||
if (ret)
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* register_framebuffer - registers a frame buffer device
|
||||
* @fb_info: frame buffer info structure
|
||||
|
|
@ -1693,12 +1666,6 @@ register_framebuffer(struct fb_info *fb_info)
|
|||
{
|
||||
int ret;
|
||||
|
||||
if (fb_info->flags & FBINFO_MISC_FIRMWARE) {
|
||||
ret = fb_aperture_acquire_for_platform_device(fb_info);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
mutex_lock(®istration_lock);
|
||||
ret = do_register_framebuffer(fb_info);
|
||||
mutex_unlock(®istration_lock);
|
||||
|
|
|
|||
|
|
@ -88,7 +88,6 @@ void framebuffer_release(struct fb_info *info)
|
|||
mutex_destroy(&info->bl_curve_mutex);
|
||||
#endif
|
||||
|
||||
kfree(info->apertures);
|
||||
kfree(info);
|
||||
}
|
||||
EXPORT_SYMBOL(framebuffer_release);
|
||||
|
|
|
|||
|
|
@ -423,8 +423,6 @@ struct fb_tile_ops {
|
|||
*/
|
||||
#define FBINFO_MISC_ALWAYS_SETPAR 0x40000
|
||||
|
||||
/* where the fb is a firmware driver, and can be replaced with a proper one */
|
||||
#define FBINFO_MISC_FIRMWARE 0x80000
|
||||
/*
|
||||
* Host and GPU endianness differ.
|
||||
*/
|
||||
|
|
@ -499,30 +497,10 @@ struct fb_info {
|
|||
void *fbcon_par; /* fbcon use-only private area */
|
||||
/* From here on everything is device dependent */
|
||||
void *par;
|
||||
/* we need the PCI or similar aperture base/size not
|
||||
smem_start/size as smem_start may just be an object
|
||||
allocated inside the aperture so may not actually overlap */
|
||||
struct apertures_struct {
|
||||
unsigned int count;
|
||||
struct aperture {
|
||||
resource_size_t base;
|
||||
resource_size_t size;
|
||||
} ranges[0];
|
||||
} *apertures;
|
||||
|
||||
bool skip_vt_switch; /* no VT switch on suspend/resume required */
|
||||
};
|
||||
|
||||
static inline struct apertures_struct *alloc_apertures(unsigned int max_num) {
|
||||
struct apertures_struct *a;
|
||||
|
||||
a = kzalloc(struct_size(a, ranges, max_num), GFP_KERNEL);
|
||||
if (!a)
|
||||
return NULL;
|
||||
a->count = max_num;
|
||||
return a;
|
||||
}
|
||||
|
||||
#define FBINFO_FLAG_DEFAULT FBINFO_DEFAULT
|
||||
|
||||
/* This will go away
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user