mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-06 05:06:29 +00:00
11588b59cf
Move out the struct addr from struct charlcd_priv into the less private struct charlcd. This member is used to pass position information. The individual drivers need to be able to read this information, so we move this out of charlcd_priv to charlcd structure. Reviewed-by: Willy Tarreau <w@1wt.eu> Signed-off-by: Lars Poeschel <poeschel@lemonage.de> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
47 lines
883 B
C
47 lines
883 B
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Character LCD driver for Linux
|
|
*
|
|
* Copyright (C) 2000-2008, Willy Tarreau <w@1wt.eu>
|
|
* Copyright (C) 2016-2017 Glider bvba
|
|
*/
|
|
|
|
#ifndef _CHARLCD_H
|
|
#define _CHARLCD_H
|
|
|
|
enum charlcd_onoff {
|
|
CHARLCD_OFF = 0,
|
|
CHARLCD_ON,
|
|
};
|
|
|
|
struct charlcd {
|
|
const struct charlcd_ops *ops;
|
|
const unsigned char *char_conv; /* Optional */
|
|
|
|
int height;
|
|
int width;
|
|
|
|
/* Contains the LCD X and Y offset */
|
|
struct {
|
|
unsigned long x;
|
|
unsigned long y;
|
|
} addr;
|
|
|
|
void *drvdata;
|
|
};
|
|
|
|
struct charlcd_ops {
|
|
void (*clear_fast)(struct charlcd *lcd);
|
|
void (*backlight)(struct charlcd *lcd, enum charlcd_onoff on);
|
|
};
|
|
|
|
struct charlcd *charlcd_alloc(void);
|
|
void charlcd_free(struct charlcd *lcd);
|
|
|
|
int charlcd_register(struct charlcd *lcd);
|
|
int charlcd_unregister(struct charlcd *lcd);
|
|
|
|
void charlcd_poke(struct charlcd *lcd);
|
|
|
|
#endif /* CHARLCD_H */
|