Merge tag 'fbdev-v4.18' of git://github.com/bzolnier/linux
Pull fbdev updates from Bartlomiej Zolnierkiewicz: "There is nothing really major here, few small fixes, some cleanups and dead drivers removal: - mark omapfb drivers as orphans in MAINTAINERS file (Tomi Valkeinen) - add missing module license tags to omap/omapfb driver (Arnd Bergmann) - add missing GPIOLIB dependendy to omap2/omapfb driver (Arnd Bergmann) - convert savagefb, aty128fb & radeonfb drivers to use msleep & co. (Jia-Ju Bai) - allow COMPILE_TEST build for viafb driver (media part was reviewed by media subsystem Maintainer) - remove unused MERAM support from sh_mobile_lcdcfb and shmob-drm drivers (drm parts were acked by shmob-drm driver Maintainer) - remove unused auo_k190xfb drivers - misc cleanups (Souptick Joarder, Wolfram Sang, Markus Elfring, Andy Shevchenko, Colin Ian King)" * tag 'fbdev-v4.18' of git://github.com/bzolnier/linux: (26 commits) fb_omap2: add gpiolib dependency video/omap: add module license tags MAINTAINERS: make omapfb orphan video: fbdev: pxafb: match_string() conversion fixup video: fbdev: nvidia: fix spelling mistake: "scaleing" -> "scaling" video: fbdev: fix spelling mistake: "frambuffer" -> "framebuffer" video: fbdev: pxafb: Convert to use match_string() helper video: fbdev: via: allow COMPILE_TEST build video: fbdev: remove unused sh_mobile_meram driver drm: shmobile: remove unused MERAM support video: fbdev: sh_mobile_lcdcfb: remove unused MERAM support video: fbdev: remove unused auo_k190xfb drivers video: omap: Improve a size determination in omapfb_do_probe() video: sm501fb: Improve a size determination in sm501fb_probe() video: fbdev-MMP: Improve a size determination in path_init() video: fbdev-MMP: Delete an error message for a failed memory allocation in two functions video: auo_k190x: Delete an error message for a failed memory allocation in auok190x_common_probe() video: sh_mobile_lcdcfb: Delete an error message for a failed memory allocation in two functions video: sh_mobile_meram: Delete an error message for a failed memory allocation in sh_mobile_meram_probe() video: fbdev: sh_mobile_meram: Drop SUPERH platform dependency ...
This commit is contained in:
@@ -1,107 +0,0 @@
|
||||
/*
|
||||
* Definitions for AUO-K190X framebuffer drivers
|
||||
*
|
||||
* Copyright (C) 2012 Heiko Stuebner <heiko@sntech.de>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_VIDEO_AUO_K190XFB_H_
|
||||
#define _LINUX_VIDEO_AUO_K190XFB_H_
|
||||
|
||||
/* Controller standby command needs a param */
|
||||
#define AUOK190X_QUIRK_STANDBYPARAM (1 << 0)
|
||||
|
||||
/* Controller standby is completely broken */
|
||||
#define AUOK190X_QUIRK_STANDBYBROKEN (1 << 1)
|
||||
|
||||
/*
|
||||
* Resolutions for the displays
|
||||
*/
|
||||
#define AUOK190X_RESOLUTION_800_600 0
|
||||
#define AUOK190X_RESOLUTION_1024_768 1
|
||||
#define AUOK190X_RESOLUTION_600_800 4
|
||||
#define AUOK190X_RESOLUTION_768_1024 5
|
||||
|
||||
/*
|
||||
* struct used by auok190x. board specific stuff comes from *board
|
||||
*/
|
||||
struct auok190xfb_par {
|
||||
struct fb_info *info;
|
||||
struct auok190x_board *board;
|
||||
|
||||
struct regulator *regulator;
|
||||
|
||||
struct mutex io_lock;
|
||||
struct delayed_work work;
|
||||
wait_queue_head_t waitq;
|
||||
int resolution;
|
||||
int rotation;
|
||||
int consecutive_threshold;
|
||||
int update_cnt;
|
||||
|
||||
/* panel and controller informations */
|
||||
int epd_type;
|
||||
int panel_size_int;
|
||||
int panel_size_float;
|
||||
int panel_model;
|
||||
int tcon_version;
|
||||
int lut_version;
|
||||
|
||||
/* individual controller callbacks */
|
||||
void (*update_partial)(struct auok190xfb_par *par, u16 y1, u16 y2);
|
||||
void (*update_all)(struct auok190xfb_par *par);
|
||||
bool (*need_refresh)(struct auok190xfb_par *par);
|
||||
void (*init)(struct auok190xfb_par *par);
|
||||
void (*recover)(struct auok190xfb_par *par);
|
||||
|
||||
int update_mode; /* mode to use for updates */
|
||||
int last_mode; /* update mode last used */
|
||||
int flash;
|
||||
|
||||
/* power management */
|
||||
int autosuspend_delay;
|
||||
bool standby;
|
||||
bool manual_standby;
|
||||
};
|
||||
|
||||
/**
|
||||
* Board specific platform-data
|
||||
* @init: initialize the controller interface
|
||||
* @cleanup: cleanup the controller interface
|
||||
* @wait_for_rdy: wait until the controller is not busy anymore
|
||||
* @set_ctl: change an interface control
|
||||
* @set_hdb: write a value to the data register
|
||||
* @get_hdb: read a value from the data register
|
||||
* @setup_irq: method to setup the irq handling on the busy gpio
|
||||
* @gpio_nsleep: sleep gpio
|
||||
* @gpio_nrst: reset gpio
|
||||
* @gpio_nbusy: busy gpio
|
||||
* @resolution: one of the AUOK190X_RESOLUTION constants
|
||||
* @rotation: rotation of the framebuffer
|
||||
* @quirks: controller quirks to honor
|
||||
* @fps: frames per second for defio
|
||||
*/
|
||||
struct auok190x_board {
|
||||
int (*init)(struct auok190xfb_par *);
|
||||
void (*cleanup)(struct auok190xfb_par *);
|
||||
int (*wait_for_rdy)(struct auok190xfb_par *);
|
||||
|
||||
void (*set_ctl)(struct auok190xfb_par *, unsigned char, u8);
|
||||
void (*set_hdb)(struct auok190xfb_par *, u16);
|
||||
u16 (*get_hdb)(struct auok190xfb_par *);
|
||||
|
||||
int (*setup_irq)(struct fb_info *);
|
||||
|
||||
int gpio_nsleep;
|
||||
int gpio_nrst;
|
||||
int gpio_nbusy;
|
||||
|
||||
int resolution;
|
||||
int quirks;
|
||||
int fps;
|
||||
};
|
||||
|
||||
#endif
|
@@ -3,7 +3,6 @@
|
||||
#define __ASM_SH_MOBILE_LCDC_H__
|
||||
|
||||
#include <linux/fb.h>
|
||||
#include <video/sh_mobile_meram.h>
|
||||
|
||||
/* Register definitions */
|
||||
#define _LDDCKR 0x410
|
||||
@@ -184,7 +183,6 @@ struct sh_mobile_lcdc_chan_cfg {
|
||||
struct sh_mobile_lcdc_panel_cfg panel_cfg;
|
||||
struct sh_mobile_lcdc_bl_info bl_info;
|
||||
struct sh_mobile_lcdc_sys_bus_cfg sys_bus_cfg; /* only for SYSn I/F */
|
||||
const struct sh_mobile_meram_cfg *meram_cfg;
|
||||
|
||||
struct platform_device *tx_dev; /* HDMI/DSI transmitter device */
|
||||
};
|
||||
@@ -193,7 +191,6 @@ struct sh_mobile_lcdc_info {
|
||||
int clock_source;
|
||||
struct sh_mobile_lcdc_chan_cfg ch[2];
|
||||
struct sh_mobile_lcdc_overlay_cfg overlays[4];
|
||||
struct sh_mobile_meram_info *meram_dev;
|
||||
};
|
||||
|
||||
#endif /* __ASM_SH_MOBILE_LCDC_H__ */
|
||||
|
@@ -1,95 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef __VIDEO_SH_MOBILE_MERAM_H__
|
||||
#define __VIDEO_SH_MOBILE_MERAM_H__
|
||||
|
||||
/* For sh_mobile_meram_info.addr_mode */
|
||||
enum {
|
||||
SH_MOBILE_MERAM_MODE0 = 0,
|
||||
SH_MOBILE_MERAM_MODE1
|
||||
};
|
||||
|
||||
enum {
|
||||
SH_MOBILE_MERAM_PF_NV = 0,
|
||||
SH_MOBILE_MERAM_PF_RGB,
|
||||
SH_MOBILE_MERAM_PF_NV24
|
||||
};
|
||||
|
||||
|
||||
struct sh_mobile_meram_priv;
|
||||
|
||||
/*
|
||||
* struct sh_mobile_meram_info - MERAM platform data
|
||||
* @reserved_icbs: Bitmask of reserved ICBs (for instance used through UIO)
|
||||
*/
|
||||
struct sh_mobile_meram_info {
|
||||
int addr_mode;
|
||||
u32 reserved_icbs;
|
||||
struct sh_mobile_meram_priv *priv;
|
||||
struct platform_device *pdev;
|
||||
};
|
||||
|
||||
/* icb config */
|
||||
struct sh_mobile_meram_icb_cfg {
|
||||
unsigned int meram_size; /* MERAM Buffer Size to use */
|
||||
};
|
||||
|
||||
struct sh_mobile_meram_cfg {
|
||||
struct sh_mobile_meram_icb_cfg icb[2];
|
||||
};
|
||||
|
||||
#if defined(CONFIG_FB_SH_MOBILE_MERAM) || \
|
||||
defined(CONFIG_FB_SH_MOBILE_MERAM_MODULE)
|
||||
unsigned long sh_mobile_meram_alloc(struct sh_mobile_meram_info *meram_dev,
|
||||
size_t size);
|
||||
void sh_mobile_meram_free(struct sh_mobile_meram_info *meram_dev,
|
||||
unsigned long mem, size_t size);
|
||||
void *sh_mobile_meram_cache_alloc(struct sh_mobile_meram_info *dev,
|
||||
const struct sh_mobile_meram_cfg *cfg,
|
||||
unsigned int xres, unsigned int yres,
|
||||
unsigned int pixelformat,
|
||||
unsigned int *pitch);
|
||||
void sh_mobile_meram_cache_free(struct sh_mobile_meram_info *dev, void *data);
|
||||
void sh_mobile_meram_cache_update(struct sh_mobile_meram_info *dev, void *data,
|
||||
unsigned long base_addr_y,
|
||||
unsigned long base_addr_c,
|
||||
unsigned long *icb_addr_y,
|
||||
unsigned long *icb_addr_c);
|
||||
#else
|
||||
static inline unsigned long
|
||||
sh_mobile_meram_alloc(struct sh_mobile_meram_info *meram_dev, size_t size)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void
|
||||
sh_mobile_meram_free(struct sh_mobile_meram_info *meram_dev,
|
||||
unsigned long mem, size_t size)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void *
|
||||
sh_mobile_meram_cache_alloc(struct sh_mobile_meram_info *dev,
|
||||
const struct sh_mobile_meram_cfg *cfg,
|
||||
unsigned int xres, unsigned int yres,
|
||||
unsigned int pixelformat,
|
||||
unsigned int *pitch)
|
||||
{
|
||||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static inline void
|
||||
sh_mobile_meram_cache_free(struct sh_mobile_meram_info *dev, void *data)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void
|
||||
sh_mobile_meram_cache_update(struct sh_mobile_meram_info *dev, void *data,
|
||||
unsigned long base_addr_y,
|
||||
unsigned long base_addr_c,
|
||||
unsigned long *icb_addr_y,
|
||||
unsigned long *icb_addr_c)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __VIDEO_SH_MOBILE_MERAM_H__ */
|
Reference in New Issue
Block a user