cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

line-display.h (1326B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 * Character line display core support
      4 *
      5 * Copyright (C) 2016 Imagination Technologies
      6 * Author: Paul Burton <paul.burton@mips.com>
      7 *
      8 * Copyright (C) 2021 Glider bv
      9 */
     10
     11#ifndef _LINEDISP_H
     12#define _LINEDISP_H
     13
     14/**
     15 * struct linedisp - character line display private data structure
     16 * @dev: the line display device
     17 * @timer: timer used to implement scrolling
     18 * @update: function called to update the display
     19 * @buf: pointer to the buffer for the string currently displayed
     20 * @message: the full message to display or scroll on the display
     21 * @num_chars: the number of characters that can be displayed
     22 * @message_len: the length of the @message string
     23 * @scroll_pos: index of the first character of @message currently displayed
     24 * @scroll_rate: scroll interval in jiffies
     25 */
     26struct linedisp {
     27	struct device dev;
     28	struct timer_list timer;
     29	void (*update)(struct linedisp *linedisp);
     30	char *buf;
     31	char *message;
     32	unsigned int num_chars;
     33	unsigned int message_len;
     34	unsigned int scroll_pos;
     35	unsigned int scroll_rate;
     36};
     37
     38int linedisp_register(struct linedisp *linedisp, struct device *parent,
     39		      unsigned int num_chars, char *buf,
     40		      void (*update)(struct linedisp *linedisp));
     41void linedisp_unregister(struct linedisp *linedisp);
     42
     43#endif /* LINEDISP_H */