#ifndef __SAMSUNG_H #define __SAMSUNG_H /* * Driver for Samsung SoC onboard UARTs. * * Ben Dooks, Copyright (c) 2003-2008 Simtec Electronics * http://armlinux.simtec.co.uk/ * * 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. */ #include struct s3c24xx_uart_info { char *name; unsigned int type; unsigned int fifosize; unsigned long rx_fifomask; unsigned long rx_fifoshift; unsigned long rx_fifofull; unsigned long tx_fifomask; unsigned long tx_fifoshift; unsigned long tx_fifofull; unsigned int def_clk_sel; unsigned long num_clks; unsigned long clksel_mask; unsigned long clksel_shift; /* uart port features */ unsigned int has_divslot:1; /* uart controls */ int (*reset_port)(struct uart_port *, struct s3c2410_uartcfg *); }; struct s3c24xx_serial_drv_data { struct s3c24xx_uart_info *info; struct s3c2410_uartcfg *def_cfg; unsigned int fifosize[CONFIG_SERIAL_SAMSUNG_UARTS]; }; struct s3c24xx_uart_dma { dma_filter_fn fn; void *rx_param; void *tx_param; unsigned int rx_chan_id; unsigned int tx_chan_id; struct dma_slave_config rx_conf; struct dma_slave_config tx_conf; struct dma_chan *rx_chan; struct dma_chan *tx_chan; dma_addr_t rx_addr; dma_addr_t tx_addr; dma_cookie_t rx_cookie; dma_cookie_t tx_cookie; char *rx_buf; dma_addr_t tx_transfer_addr; size_t rx_size; size_t tx_size; struct dma_async_tx_descriptor *tx_desc; struct dma_async_tx_descriptor *rx_desc; int tx_bytes_requested; int rx_bytes_requested; }; struct s3c24xx_uart_port { unsigned char rx_claimed; unsigned char tx_claimed; unsigned int pm_level; unsigned long baudclk_rate; unsigned int min_dma_size; unsigned int rx_irq; unsigned int tx_irq; unsigned int tx_in_progress; unsigned int tx_mode; unsigned int rx_mode; struct s3c24xx_uart_info *info; struct clk *clk; struct clk *baudclk; struct uart_port port; struct s3c24xx_serial_drv_data *drv_data; /* reference to platform data */ struct s3c2410_uartcfg *cfg; struct s3c24xx_uart_dma *dma; #ifdef CONFIG_ARM_S3C24XX_CPUFREQ struct notifier_block freq_transition; #endif }; /* conversion functions */ #define s3c24xx_dev_to_port(__dev) dev_get_drvdata(__dev) /* register access controls */ #define portaddr(port, reg) ((port)->membase + (reg)) #define portaddrl(port, reg) \ ((unsigned long *)(unsigned long)((port)->membase + (reg))) #define rd_regb(port, reg) (readb_relaxed(portaddr(port, reg))) #define rd_regl(port, reg) (readl_relaxed(portaddr(port, reg))) #define wr_regb(port, reg, val) writeb_relaxed(val, portaddr(port, reg)) #define wr_regl(port, reg, val) writel_relaxed(val, portaddr(port, reg)) /* Byte-order aware bit setting/clearing functions. */ static inline void s3c24xx_set_bit(struct uart_port *port, int idx, unsigned int reg) { unsigned long flags; u32 val; local_irq_save(flags); val = rd_regl(port, reg); val |= (1 << idx); wr_regl(port, reg, val); local_irq_restore(flags); } static inline void s3c24xx_clear_bit(struct uart_port *port, int idx, unsigned int reg) { unsigned long flags; u32 val; local_irq_save(flags); val = rd_regl(port, reg); val &= ~(1 << idx); wr_regl(port, reg, val); local_irq_restore(flags); } #endif alue='8'>8space:mode:
authorWillem de Bruijn <willemb@google.com>2017-01-02 17:19:46 -0500
committerPablo Neira Ayuso <pablo@netfilter.org>2017-01-09 17:24:55 +0100
commitec23189049651b16dc2ffab35a4371dc1f491aca (patch)
treeabf3c783fb73b147f463fa686715a08fd2a969c1 /net/netlabel
parent4915f7bbc402071539ec0cb8c75aad878c982402 (diff)
xtables: extend matches and targets with .usersize
In matches and targets that define a kernel-only tail to their xt_match and xt_target data structs, add a field .usersize that specifies up to where data is to be shared with userspace. Performed a search for comment "Used internally by the kernel" to find relevant matches and targets. Manually inspected the structs to derive a valid offsetof. Signed-off-by: Willem de Bruijn <willemb@google.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netlabel')
s
Pull MIPS fixes from Ralf Baechle: "Two more MIPS fixes for 4.9: - RTC: Return -ENODEV so an external RTC will be tried - Fix mask of GPE frequency These two have been tested on Imagination's automated test system and also both received positive reviews on the linux-mips mailing list" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: MIPS: Lantiq: Fix mask of GPE frequency MIPS: Return -ENODEV from weak implementation of rtc_mips_set_time
Diffstat (limited to 'net/ipv4/tcp_offload.c')