[PATCH 1/2] i2c: s3c2410: move mach/regs-iic.h into i2c-s3c2410 device driver

Kukjin Kim kgene.kim at samsung.com
Tue Feb 12 12:41:10 EST 2013


Heiko Stübner wrote:
> 
> The register definitions are only used in the driver itself.
> This also removes the last dependency on plat/ includes from the
> i2c driver.
> 
> Signed-off-by: Heiko Stuebner <heiko at sntech.de>
> ---
>  arch/arm/mach-s3c24xx/mach-rx1950.c           |    1 -
>  arch/arm/plat-samsung/devs.c                  |    1 -
>  arch/arm/plat-samsung/include/plat/regs-iic.h |   56 -------------------------
>  drivers/i2c/busses/i2c-s3c2410.c              |   41 ++++++++++++++++++-
>  4 files changed, 40 insertions(+), 59 deletions(-)
>  delete mode 100644 arch/arm/plat-samsung/include/plat/regs-iic.h
> 
> diff --git a/arch/arm/mach-s3c24xx/mach-rx1950.c b/arch/arm/mach-
> s3c24xx/mach-rx1950.c
> index 799af43..64b52a9 100644
> --- a/arch/arm/mach-s3c24xx/mach-rx1950.c
> +++ b/arch/arm/mach-s3c24xx/mach-rx1950.c
> @@ -56,7 +56,6 @@
>  #include <plat/cpu.h>
>  #include <plat/devs.h>
>  #include <plat/pm.h>
> -#include <plat/regs-iic.h>
>  #include <plat/regs-serial.h>
>  #include <plat/samsung-time.h>
> 
> diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c
> index e1124d9..6317a9e 100644
> --- a/arch/arm/plat-samsung/devs.c
> +++ b/arch/arm/plat-samsung/devs.c
> @@ -62,7 +62,6 @@
>  #include <linux/platform_data/usb-s3c2410_udc.h>
>  #include <linux/platform_data/usb-ohci-s3c2410.h>
>  #include <plat/usb-phy.h>
> -#include <plat/regs-iic.h>
>  #include <plat/regs-serial.h>
>  #include <plat/regs-spi.h>
>  #include <linux/platform_data/spi-s3c64xx.h>
> diff --git a/arch/arm/plat-samsung/include/plat/regs-iic.h b/arch/arm/plat-
> samsung/include/plat/regs-iic.h
> deleted file mode 100644
> index 2f7c17d..0000000
> --- a/arch/arm/plat-samsung/include/plat/regs-iic.h
> +++ /dev/null
> @@ -1,56 +0,0 @@
> -/* arch/arm/mach-s3c2410/include/mach/regs-iic.h
> - *
> - * Copyright (c) 2004 Simtec Electronics <linux at simtec.co.uk>
> - *		http://www.simtec.co.uk/products/SWLINUX/
> - *
> - * 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.
> - *
> - * S3C2410 I2C Controller
> -*/
> -
> -#ifndef __ASM_ARCH_REGS_IIC_H
> -#define __ASM_ARCH_REGS_IIC_H __FILE__
> -
> -/* see s3c2410x user guide, v1.1, section 9 (p447) for more info */
> -
> -#define S3C2410_IICREG(x) (x)
> -
> -#define S3C2410_IICCON    S3C2410_IICREG(0x00)
> -#define S3C2410_IICSTAT   S3C2410_IICREG(0x04)
> -#define S3C2410_IICADD    S3C2410_IICREG(0x08)
> -#define S3C2410_IICDS     S3C2410_IICREG(0x0C)
> -#define S3C2440_IICLC	  S3C2410_IICREG(0x10)
> -
> -#define S3C2410_IICCON_ACKEN		(1<<7)
> -#define S3C2410_IICCON_TXDIV_16		(0<<6)
> -#define S3C2410_IICCON_TXDIV_512	(1<<6)
> -#define S3C2410_IICCON_IRQEN		(1<<5)
> -#define S3C2410_IICCON_IRQPEND		(1<<4)
> -#define S3C2410_IICCON_SCALE(x)		((x)&15)
> -#define S3C2410_IICCON_SCALEMASK	(0xf)
> -
> -#define S3C2410_IICSTAT_MASTER_RX	(2<<6)
> -#define S3C2410_IICSTAT_MASTER_TX	(3<<6)
> -#define S3C2410_IICSTAT_SLAVE_RX	(0<<6)
> -#define S3C2410_IICSTAT_SLAVE_TX	(1<<6)
> -#define S3C2410_IICSTAT_MODEMASK	(3<<6)
> -
> -#define S3C2410_IICSTAT_START		(1<<5)
> -#define S3C2410_IICSTAT_BUSBUSY		(1<<5)
> -#define S3C2410_IICSTAT_TXRXEN		(1<<4)
> -#define S3C2410_IICSTAT_ARBITR		(1<<3)
> -#define S3C2410_IICSTAT_ASSLAVE		(1<<2)
> -#define S3C2410_IICSTAT_ADDR0		(1<<1)
> -#define S3C2410_IICSTAT_LASTBIT		(1<<0)
> -
> -#define S3C2410_IICLC_SDA_DELAY0	(0 << 0)
> -#define S3C2410_IICLC_SDA_DELAY5	(1 << 0)
> -#define S3C2410_IICLC_SDA_DELAY10	(2 << 0)
> -#define S3C2410_IICLC_SDA_DELAY15	(3 << 0)
> -#define S3C2410_IICLC_SDA_DELAY_MASK	(3 << 0)
> -
> -#define S3C2410_IICLC_FILTER_ON		(1<<2)
> -
> -#endif /* __ASM_ARCH_REGS_IIC_H */
> diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-
> s3c2410.c
> index a290d08..5cc4f71 100644
> --- a/drivers/i2c/busses/i2c-s3c2410.c
> +++ b/drivers/i2c/busses/i2c-s3c2410.c
> @@ -42,9 +42,48 @@
> 
>  #include <asm/irq.h>
> 
> -#include <plat/regs-iic.h>
>  #include <linux/platform_data/i2c-s3c2410.h>
> 
> +/* see s3c2410x user guide, v1.1, section 9 (p447) for more info */
> +
> +#define S3C2410_IICREG(x) (x)
> +
> +#define S3C2410_IICCON    S3C2410_IICREG(0x00)
> +#define S3C2410_IICSTAT   S3C2410_IICREG(0x04)
> +#define S3C2410_IICADD    S3C2410_IICREG(0x08)
> +#define S3C2410_IICDS     S3C2410_IICREG(0x0C)
> +#define S3C2440_IICLC	  S3C2410_IICREG(0x10)
> +
> +#define S3C2410_IICCON_ACKEN		(1<<7)
> +#define S3C2410_IICCON_TXDIV_16		(0<<6)
> +#define S3C2410_IICCON_TXDIV_512	(1<<6)
> +#define S3C2410_IICCON_IRQEN		(1<<5)
> +#define S3C2410_IICCON_IRQPEND		(1<<4)
> +#define S3C2410_IICCON_SCALE(x)		((x)&15)
> +#define S3C2410_IICCON_SCALEMASK	(0xf)
> +
> +#define S3C2410_IICSTAT_MASTER_RX	(2<<6)
> +#define S3C2410_IICSTAT_MASTER_TX	(3<<6)
> +#define S3C2410_IICSTAT_SLAVE_RX	(0<<6)
> +#define S3C2410_IICSTAT_SLAVE_TX	(1<<6)
> +#define S3C2410_IICSTAT_MODEMASK	(3<<6)
> +
> +#define S3C2410_IICSTAT_START		(1<<5)
> +#define S3C2410_IICSTAT_BUSBUSY		(1<<5)
> +#define S3C2410_IICSTAT_TXRXEN		(1<<4)
> +#define S3C2410_IICSTAT_ARBITR		(1<<3)
> +#define S3C2410_IICSTAT_ASSLAVE		(1<<2)
> +#define S3C2410_IICSTAT_ADDR0		(1<<1)
> +#define S3C2410_IICSTAT_LASTBIT		(1<<0)
> +
> +#define S3C2410_IICLC_SDA_DELAY0	(0 << 0)
> +#define S3C2410_IICLC_SDA_DELAY5	(1 << 0)
> +#define S3C2410_IICLC_SDA_DELAY10	(2 << 0)
> +#define S3C2410_IICLC_SDA_DELAY15	(3 << 0)
> +#define S3C2410_IICLC_SDA_DELAY_MASK	(3 << 0)
> +
> +#define S3C2410_IICLC_FILTER_ON		(1<<2)
> +
>  /* Treat S3C2410 as baseline hardware, anything else is supported via quirks
> */
>  #define QUIRK_S3C2440		(1 << 0)
>  #define QUIRK_HDMIPHY		(1 << 1)
> --
> 1.7.2.3

Looks good to me on this series:
Acked-by: Kukjin Kim <kgene.kim at samsung.com>

Hi Wolfram, if you're ok on this, please pick up into your tree with my ack.

Thanks.

- Kukjin





More information about the linux-arm-kernel mailing list