Revision e24b6c03a17b20fb6473b3679f7423fae5731d05 authored by Takashi Iwai on 19 August 2015, 16:31:54 UTC, committed by Takashi Iwai on 19 August 2015, 16:31:54 UTC
ASoC: Disable topology support for v4.2

The topology code merged in the v4.2 merge window introduced a new ABI
which was believed to be suitable for use but subsequently additional
work by the developers of this feature have revealed some problems that
need to be addressed.  In order to allow this to be done without having
to support the initial ABI add Kconfig to disable the build and also add
some #error statements to the UAPI header so users can't use them.
2 parent s 59a51a6 + 8c90503
Raw File
auo_k190xfb.h
/*
 * 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
back to top