Commit 8ab2afa2 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull fbdev fixes and updates from Helge Deller:
 "A buch of small fixes and cleanups, including:

   - vesafb: Fix a use-after-free due early fb_info cleanup

   - clcdfb: Fix refcount leak in clcdfb_of_vram_setup

   - hyperv_fb: Allow resolutions with size > 64 MB for Gen1

   - pxa3xx-gcu: release the resources correctly in
     pxa3xx_gcu_probe/remove()

   - omapfb: Prevent compiler warning regarding
     hwa742_update_window_async()"

* tag 'for-5.19/fbdev-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
  video: fbdev: omap: Add prototype for hwa742_update_window_async()
  video: fbdev: vesafb: Fix a use-after-free due early fb_info cleanup
  video: fbdev: radeon: Fix spelling typo in comment
  video: fbdev: xen: remove setting of 'transp' parameter
  video: fbdev: pxa3xx-gcu: release the resources correctly in pxa3xx_gcu_probe/remove()
  video: fbdev: omapfb: simplify the return expression of nec_8048_connect()
  video: fbdev: omapfb: simplify the return expression of dsi_init_pll_data()
  video: fbdev: clcdfb: Fix refcount leak in clcdfb_of_vram_setup
  video: fbdev: hyperv_fb: Allow resolutions with size > 64 MB for Gen1
parents e11a9356 79b66128
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -758,12 +758,15 @@ static int clcdfb_of_vram_setup(struct clcd_fb *fb)
		return -ENODEV;

	fb->fb.screen_base = of_iomap(memory, 0);
	if (!fb->fb.screen_base)
	if (!fb->fb.screen_base) {
		of_node_put(memory);
		return -ENOMEM;
	}

	fb->fb.fix.smem_start = of_translate_address(memory,
			of_get_address(memory, 0, &size, NULL));
	fb->fb.fix.smem_len = size;
	of_node_put(memory);

	return 0;
}
+1 −18
Original line number Diff line number Diff line
@@ -992,7 +992,6 @@ static int hvfb_getmem(struct hv_device *hdev, struct fb_info *info)
	struct pci_dev *pdev  = NULL;
	void __iomem *fb_virt;
	int gen2vm = efi_enabled(EFI_BOOT);
	resource_size_t pot_start, pot_end;
	phys_addr_t paddr;
	int ret;

@@ -1043,23 +1042,7 @@ static int hvfb_getmem(struct hv_device *hdev, struct fb_info *info)
	dio_fb_size =
		screen_width * screen_height * screen_depth / 8;

	if (gen2vm) {
		pot_start = 0;
		pot_end = -1;
	} else {
		if (!(pci_resource_flags(pdev, 0) & IORESOURCE_MEM) ||
		    pci_resource_len(pdev, 0) < screen_fb_size) {
			pr_err("Resource not available or (0x%lx < 0x%lx)\n",
			       (unsigned long) pci_resource_len(pdev, 0),
			       (unsigned long) screen_fb_size);
			goto err1;
		}

		pot_end = pci_resource_end(pdev, 0);
		pot_start = pot_end - screen_fb_size + 1;
	}

	ret = vmbus_allocate_mmio(&par->mem, hdev, pot_start, pot_end,
	ret = vmbus_allocate_mmio(&par->mem, hdev, 0, -1,
				  screen_fb_size, 0x100000, true);
	if (ret != 0) {
		pr_err("Unable to allocate framebuffer memory\n");
+4 −0
Original line number Diff line number Diff line
@@ -231,5 +231,9 @@ extern int omapfb_update_window_async(struct fb_info *fbi,
				       struct omapfb_update_window *win,
				       void (*callback)(void *),
				       void *callback_data);
extern int  hwa742_update_window_async(struct fb_info *fbi,
				       struct omapfb_update_window *win,
				       void (*callback)(void *),
				       void *callback_data);

#endif /* __OMAPFB_H */
+1 −6
Original line number Diff line number Diff line
@@ -117,16 +117,11 @@ static int nec_8048_connect(struct omap_dss_device *dssdev)
{
	struct panel_drv_data *ddata = to_panel_data(dssdev);
	struct omap_dss_device *in = ddata->in;
	int r;

	if (omapdss_device_is_connected(dssdev))
		return 0;

	r = in->ops.dpi->connect(in, dssdev);
	if (r)
		return r;

	return 0;
	return in->ops.dpi->connect(in, dssdev);
}

static void nec_8048_disconnect(struct omap_dss_device *dssdev)
+1 −7
Original line number Diff line number Diff line
@@ -173,7 +173,6 @@ static int dsi_init_pll_data(struct platform_device *pdev, struct hdmi_pll_data
{
	struct dss_pll *pll = &hpll->pll;
	struct clk *clk;
	int r;

	clk = devm_clk_get(&pdev->dev, "sys_clk");
	if (IS_ERR(clk)) {
@@ -203,12 +202,7 @@ static int dsi_init_pll_data(struct platform_device *pdev, struct hdmi_pll_data
	}

	pll->ops = &dsi_pll_ops;

	r = dss_pll_register(pll);
	if (r)
		return r;

	return 0;
	return dss_pll_register(pll);
}

int hdmi_pll_init(struct platform_device *pdev, struct hdmi_pll_data *pll,
Loading