TTY/Serial driver changes for 5.12-rc1
Here is the big set of tty/serial driver changes for 5.12-rc1. Nothing huge, just lots of good cleanups and additions: - Your n_tty line discipline cleanups - vt core cleanups and reworks to make the code more "modern" - stm32 driver additions - tty led support added to the tty core and led layer - minor serial driver fixups and additions All of these have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCYCqgqw8cZ3JlZ0Brcm9h aC5jb20ACgkQMUfUDdst+ymJYQCgnxHmkhzJ2VarTDR3cWm1gu0NU7AAoNe5wWUh 4TQbhB9LSNo78HnIVze0 =Chcg -----END PGP SIGNATURE----- Merge tag 'tty-5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial driver updates from Greg KH: "Here is the big set of tty/serial driver changes for 5.12-rc1. Nothing huge, just lots of good cleanups and additions: - n_tty line discipline cleanups - vt core cleanups and reworks to make the code more "modern" - stm32 driver additions - tty led support added to the tty core and led layer - minor serial driver fixups and additions All of these have been in linux-next for a while with no reported issues" * tag 'tty-5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (54 commits) serial: core: Remove BUG_ON(in_interrupt()) check vt_ioctl: Remove in_interrupt() check dt-bindings: serial: imx: Switch to my personal address vt: keyboard, use new API for keyboard_tasklet serial: stm32: improve platform_get_irq condition handling in init_port serial: ifx6x60: Remove driver for deprecated platform tty: fix up iterate_tty_read() EOVERFLOW handling tty: fix up hung_up_tty_read() conversion tty: fix up hung_up_tty_write() conversion tty: teach the n_tty ICANON case about the new "cookie continuations" too tty: teach n_tty line discipline about the new "cookie continuations" tty: clean up legacy leftovers from n_tty line discipline tty: implement read_iter tty: convert tty_ldisc_ops 'read()' function to take a kernel pointer serial: remove sirf prima/atlas driver serial: mxs-auart: Remove <asm/cacheflush.h> serial: mxs-auart: Remove serial_mxs_probe_dt() serial: fsl_lpuart: Use of_device_get_match_data() dt-bindings: serial: renesas,hscif: Add r8a779a0 support tty: serial: Drop unused efm32 serial driver ...
This commit is contained in:
commit
e4286926ab
70 changed files with 958 additions and 5187 deletions
|
|
@ -6,8 +6,6 @@
|
|||
#include <linux/interrupt.h>
|
||||
#include <linux/keyboard.h>
|
||||
|
||||
extern struct tasklet_struct keyboard_tasklet;
|
||||
|
||||
extern char *func_table[MAX_NR_FUNC];
|
||||
|
||||
/*
|
||||
|
|
@ -71,12 +69,6 @@ extern void (*kbd_ledfunc)(unsigned int led);
|
|||
extern int set_console(int nr);
|
||||
extern void schedule_console_callback(void);
|
||||
|
||||
/* FIXME: review locking for vt.c callers */
|
||||
static inline void set_leds(void)
|
||||
{
|
||||
tasklet_schedule(&keyboard_tasklet);
|
||||
}
|
||||
|
||||
static inline int vc_kbd_mode(struct kbd_struct * kbd, int flag)
|
||||
{
|
||||
return ((kbd->modeflags >> flag) & 1);
|
||||
|
|
@ -135,7 +127,7 @@ static inline void chg_vc_kbd_led(struct kbd_struct * kbd, int flag)
|
|||
|
||||
struct console;
|
||||
|
||||
void compute_shiftstate(void);
|
||||
void vt_set_leds_compute_shiftstate(void);
|
||||
|
||||
/* defkeymap.c */
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef _LINUX_KD_H
|
||||
#define _LINUX_KD_H
|
||||
|
||||
#include <uapi/linux/kd.h>
|
||||
|
||||
#define KD_FONT_FLAG_OLD 0x80000000 /* Invoked via old interface [compat] */
|
||||
#endif /* _LINUX_KD_H */
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
*
|
||||
*
|
||||
*/
|
||||
#ifndef __LINUX_PLATFORM_DATA_EFM32_UART_H__
|
||||
#define __LINUX_PLATFORM_DATA_EFM32_UART_H__
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/**
|
||||
* struct efm32_uart_pdata
|
||||
* @location: pinmux location for the I/O pins (to be written to the ROUTE
|
||||
* register)
|
||||
*/
|
||||
struct efm32_uart_pdata {
|
||||
u8 location;
|
||||
};
|
||||
#endif /* ifndef __LINUX_PLATFORM_DATA_EFM32_UART_H__ */
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef LINUX_IFX_MODEM_H
|
||||
#define LINUX_IFX_MODEM_H
|
||||
|
||||
struct ifx_modem_platform_data {
|
||||
unsigned short tx_pwr; /* modem power threshold */
|
||||
unsigned char modem_type; /* Modem type */
|
||||
unsigned long max_hz; /* max SPI frequency */
|
||||
unsigned short use_dma:1; /* spi protocol driver supplies
|
||||
dma-able addrs */
|
||||
};
|
||||
#define IFX_MODEM_6160 1
|
||||
#define IFX_MODEM_6260 2
|
||||
|
||||
#endif
|
||||
|
|
@ -240,8 +240,7 @@ struct tty_port {
|
|||
wait_queue_head_t delta_msr_wait; /* Modem status change */
|
||||
unsigned long flags; /* User TTY flags ASYNC_ */
|
||||
unsigned long iflags; /* Internal flags TTY_PORT_ */
|
||||
unsigned char console:1, /* port is a console */
|
||||
low_latency:1; /* optional: tune for latency */
|
||||
unsigned char console:1; /* port is a console */
|
||||
struct mutex mutex; /* Locking */
|
||||
struct mutex buf_mutex; /* Buffer alloc lock */
|
||||
unsigned char *xmit_buf; /* Optional buffer */
|
||||
|
|
@ -416,12 +415,14 @@ extern struct tty_struct *get_current_tty(void);
|
|||
/* tty_io.c */
|
||||
extern int __init tty_init(void);
|
||||
extern const char *tty_name(const struct tty_struct *tty);
|
||||
extern struct tty_struct *tty_kopen(dev_t device);
|
||||
extern struct tty_struct *tty_kopen_exclusive(dev_t device);
|
||||
extern struct tty_struct *tty_kopen_shared(dev_t device);
|
||||
extern void tty_kclose(struct tty_struct *tty);
|
||||
extern int tty_dev_name_to_number(const char *name, dev_t *number);
|
||||
extern int tty_ldisc_lock(struct tty_struct *tty, unsigned long timeout);
|
||||
extern void tty_ldisc_unlock(struct tty_struct *tty);
|
||||
extern ssize_t redirected_tty_write(struct kiocb *, struct iov_iter *);
|
||||
extern struct file *tty_release_redirect(struct tty_struct *tty);
|
||||
#else
|
||||
static inline void tty_kref_put(struct tty_struct *tty)
|
||||
{ }
|
||||
|
|
@ -442,7 +443,7 @@ static inline int __init tty_init(void)
|
|||
{ return 0; }
|
||||
static inline const char *tty_name(const struct tty_struct *tty)
|
||||
{ return "(none)"; }
|
||||
static inline struct tty_struct *tty_kopen(dev_t device)
|
||||
static inline struct tty_struct *tty_kopen_exclusive(dev_t device)
|
||||
{ return ERR_PTR(-ENODEV); }
|
||||
static inline void tty_kclose(struct tty_struct *tty)
|
||||
{ }
|
||||
|
|
@ -500,6 +501,8 @@ extern void tty_unthrottle(struct tty_struct *tty);
|
|||
extern int tty_throttle_safe(struct tty_struct *tty);
|
||||
extern int tty_unthrottle_safe(struct tty_struct *tty);
|
||||
extern int tty_do_resize(struct tty_struct *tty, struct winsize *ws);
|
||||
extern int tty_get_icount(struct tty_struct *tty,
|
||||
struct serial_icounter_struct *icount);
|
||||
extern int is_current_pgrp_orphaned(void);
|
||||
extern void tty_hangup(struct tty_struct *tty);
|
||||
extern void tty_vhangup(struct tty_struct *tty);
|
||||
|
|
|
|||
|
|
@ -185,7 +185,8 @@ struct tty_ldisc_ops {
|
|||
void (*close)(struct tty_struct *);
|
||||
void (*flush_buffer)(struct tty_struct *tty);
|
||||
ssize_t (*read)(struct tty_struct *tty, struct file *file,
|
||||
unsigned char __user *buf, size_t nr);
|
||||
unsigned char *buf, size_t nr,
|
||||
void **cookie, unsigned long offset);
|
||||
ssize_t (*write)(struct tty_struct *tty, struct file *file,
|
||||
const unsigned char *buf, size_t nr);
|
||||
int (*ioctl)(struct tty_struct *tty, struct file *file,
|
||||
|
|
|
|||
|
|
@ -16,18 +16,6 @@
|
|||
#include <linux/consolemap.h>
|
||||
#include <linux/notifier.h>
|
||||
|
||||
/*
|
||||
* Presently, a lot of graphics programs do not restore the contents of
|
||||
* the higher font pages. Defining this flag will avoid use of them, but
|
||||
* will lose support for PIO_FONTRESET. Note that many font operations are
|
||||
* not likely to work with these programs anyway; they need to be
|
||||
* fixed. The linux/Documentation directory includes a code snippet
|
||||
* to save and restore the text font.
|
||||
*/
|
||||
#ifdef CONFIG_VGA_CONSOLE
|
||||
#define BROKEN_GRAPHICS_PROGRAMS 1
|
||||
#endif
|
||||
|
||||
void kd_mksound(unsigned int hz, unsigned int ticks);
|
||||
int kbd_rate(struct kbd_repeat *rep);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue