lkml.org 
[lkml]   [2019]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 05/10] tty: serial: samsung_tty: delete samsung.h
    Date
    There is no need for a .h file for a single .c file, so just move all of
    the content of samsung.h into samsung_tty.c

    Cc: Kukjin Kim <kgene@kernel.org>
    Cc: Krzysztof Kozlowski <krzk@kernel.org>
    Cc: Hyunki Koo <kkoos00@naver.com>
    Cc: HYUN-KI KOO <hyunki00.koo@samsung.com>
    Cc: Shinbeom Choi <sbeom.choi@samsung.com>
    Cc: Jiri Slaby <jslaby@suse.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-samsung-soc@vger.kernel.org
    Cc: linux-serial@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/tty/serial/samsung.h | 144 -------------------------------
    drivers/tty/serial/samsung_tty.c | 133 +++++++++++++++++++++++++++-
    2 files changed, 130 insertions(+), 147 deletions(-)
    delete mode 100644 drivers/tty/serial/samsung.h

    diff --git a/drivers/tty/serial/samsung.h b/drivers/tty/serial/samsung.h
    deleted file mode 100644
    index 7255ef287857..000000000000
    --- a/drivers/tty/serial/samsung.h
    +++ /dev/null
    @@ -1,144 +0,0 @@
    -/* SPDX-License-Identifier: GPL-2.0 */
    -#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/
    - */
    -
    -#include <linux/dmaengine.h>
    -
    -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;
    -};
    -
    -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 {
    - 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
    diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_tty.c
    index 67c5a84d0a26..1a3bf5879344 100644
    --- a/drivers/tty/serial/samsung_tty.c
    +++ b/drivers/tty/serial/samsung_tty.c
    @@ -44,11 +44,8 @@
    #include <linux/clk.h>
    #include <linux/cpufreq.h>
    #include <linux/of.h>
    -
    #include <asm/irq.h>

    -#include "samsung.h"
    -
    #if defined(CONFIG_SERIAL_SAMSUNG_DEBUG) && \
    !defined(MODULE)

    @@ -89,6 +86,136 @@ static void dbg(const char *fmt, ...)
    /* flag to ignore all characters coming in */
    #define RXSTAT_DUMMY_READ (0x10000000)

    +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;
    +};
    +
    +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 {
    + 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);
    +}
    +
    static inline struct s3c24xx_uart_port *to_ourport(struct uart_port *port)
    {
    return container_of(port, struct s3c24xx_uart_port, port);
    --
    2.24.0
    \
     
     \ /
      Last update: 2019-12-10 15:38    [W:3.802 / U:0.088 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site