On Thu, Oct 10, 2019 at 03:20:32PM -0700, Guenter Roeck wrote: > On 10/10/19 1:29 PM, Arnd Bergmann wrote: > > There are multiple drivers using the private adc interface. > > It seems unlikely that they would ever get converted to iio, > > so make the current state official by making the header file > > global. > > > > The s3c2410_ts driver needs a couple of register definitions > > as well. > > > > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > > For hwmon: > > Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> For input: Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > > > --- > > arch/arm/mach-s3c64xx/mach-crag6410.c | 2 +- > > arch/arm/mach-s3c64xx/mach-mini6410.c | 2 +- > > arch/arm/mach-s3c64xx/mach-real6410.c | 2 +- > > arch/arm/mach-s3c64xx/mach-smdk6410.c | 2 +- > > arch/arm/plat-samsung/adc.c | 2 +- > > arch/arm/plat-samsung/devs.c | 2 +- > > drivers/hwmon/s3c-hwmon.c | 2 +- > > drivers/input/touchscreen/s3c2410_ts.c | 37 ++++++++++++++++++- > > drivers/power/supply/s3c_adc_battery.c | 2 +- > > .../linux/soc/samsung/s3c-adc.h | 0 > > 10 files changed, 43 insertions(+), 10 deletions(-) > > rename arch/arm/plat-samsung/include/plat/adc.h => include/linux/soc/samsung/s3c-adc.h (100%) > > > > diff --git a/arch/arm/mach-s3c64xx/mach-crag6410.c b/arch/arm/mach-s3c64xx/mach-crag6410.c > > index da5b50981a14..133453562d23 100644 > > --- a/arch/arm/mach-s3c64xx/mach-crag6410.c > > +++ b/arch/arm/mach-s3c64xx/mach-crag6410.c > > @@ -57,7 +57,7 @@ > > #include <plat/keypad.h> > > #include <plat/devs.h> > > #include <plat/cpu.h> > > -#include <plat/adc.h> > > +#include <linux/soc/samsung/s3c-adc.h> > > #include <linux/platform_data/i2c-s3c2410.h> > > #include <plat/pm.h> > > #include <plat/samsung-time.h> > > diff --git a/arch/arm/mach-s3c64xx/mach-mini6410.c b/arch/arm/mach-s3c64xx/mach-mini6410.c > > index 0dd36ae49e6a..c7140300bd3f 100644 > > --- a/arch/arm/mach-s3c64xx/mach-mini6410.c > > +++ b/arch/arm/mach-s3c64xx/mach-mini6410.c > > @@ -27,7 +27,7 @@ > > #include <mach/regs-gpio.h> > > #include <mach/gpio-samsung.h> > > -#include <plat/adc.h> > > +#include <linux/soc/samsung/s3c-adc.h> > > #include <plat/cpu.h> > > #include <plat/devs.h> > > #include <plat/fb.h> > > diff --git a/arch/arm/mach-s3c64xx/mach-real6410.c b/arch/arm/mach-s3c64xx/mach-real6410.c > > index 0ff88b6859c4..f55097fde94c 100644 > > --- a/arch/arm/mach-s3c64xx/mach-real6410.c > > +++ b/arch/arm/mach-s3c64xx/mach-real6410.c > > @@ -29,7 +29,7 @@ > > #include <mach/gpio-samsung.h> > > #include <mach/irqs.h> > > -#include <plat/adc.h> > > +#include <linux/soc/samsung/s3c-adc.h> > > #include <plat/cpu.h> > > #include <plat/devs.h> > > #include <plat/fb.h> > > diff --git a/arch/arm/mach-s3c64xx/mach-smdk6410.c b/arch/arm/mach-s3c64xx/mach-smdk6410.c > > index 95bdcfe95a53..3042f6cbffd9 100644 > > --- a/arch/arm/mach-s3c64xx/mach-smdk6410.c > > +++ b/arch/arm/mach-s3c64xx/mach-smdk6410.c > > @@ -60,7 +60,7 @@ > > #include <plat/devs.h> > > #include <plat/cpu.h> > > -#include <plat/adc.h> > > +#include <linux/soc/samsung/s3c-adc.h> > > #include <linux/platform_data/touchscreen-s3c2410.h> > > #include <plat/keypad.h> > > #include <plat/samsung-time.h> > > diff --git a/arch/arm/plat-samsung/adc.c b/arch/arm/plat-samsung/adc.c > > index ee3d5c989a76..623a9774cc52 100644 > > --- a/arch/arm/plat-samsung/adc.c > > +++ b/arch/arm/plat-samsung/adc.c > > @@ -20,7 +20,7 @@ > > #include <linux/regulator/consumer.h> > > #include <plat/regs-adc.h> > > -#include <plat/adc.h> > > +#include <linux/soc/samsung/s3c-adc.h> > > /* This driver is designed to control the usage of the ADC block between > > * the touchscreen and any other drivers that may need to use it, such as > > diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c > > index fd94a35e22f8..ddd90f0bb380 100644 > > --- a/arch/arm/plat-samsung/devs.c > > +++ b/arch/arm/plat-samsung/devs.c > > @@ -44,7 +44,7 @@ > > #include <plat/cpu.h> > > #include <plat/devs.h> > > -#include <plat/adc.h> > > +#include <linux/soc/samsung/s3c-adc.h> > > #include <linux/platform_data/ata-samsung_cf.h> > > #include <plat/fb.h> > > #include <plat/fb-s3c2410.h> > > diff --git a/drivers/hwmon/s3c-hwmon.c b/drivers/hwmon/s3c-hwmon.c > > index b490fe3d2ee8..f2703c5460d0 100644 > > --- a/drivers/hwmon/s3c-hwmon.c > > +++ b/drivers/hwmon/s3c-hwmon.c > > @@ -20,7 +20,7 @@ > > #include <linux/hwmon.h> > > #include <linux/hwmon-sysfs.h> > > -#include <plat/adc.h> > > +#include <linux/soc/samsung/s3c-adc.h> > > #include <linux/platform_data/hwmon-s3c.h> > > struct s3c_hwmon_attr { > > diff --git a/drivers/input/touchscreen/s3c2410_ts.c b/drivers/input/touchscreen/s3c2410_ts.c > > index b346e7cafd62..1a5a178ea286 100644 > > --- a/drivers/input/touchscreen/s3c2410_ts.c > > +++ b/drivers/input/touchscreen/s3c2410_ts.c > > @@ -21,10 +21,43 @@ > > #include <linux/clk.h> > > #include <linux/io.h> > > -#include <plat/adc.h> > > -#include <plat/regs-adc.h> > > +#include <linux/soc/samsung/s3c-adc.h> > > #include <linux/platform_data/touchscreen-s3c2410.h> > > +#define S3C2410_ADCCON (0x00) > > +#define S3C2410_ADCTSC (0x04) > > +#define S3C2410_ADCDLY (0x08) > > +#define S3C2410_ADCDAT0 (0x0C) > > +#define S3C2410_ADCDAT1 (0x10) > > +#define S3C64XX_ADCUPDN (0x14) > > +#define S3C2443_ADCMUX (0x18) > > +#define S3C64XX_ADCCLRINT (0x18) > > +#define S5P_ADCMUX (0x1C) > > +#define S3C64XX_ADCCLRINTPNDNUP (0x20) > > + > > +/* ADCTSC Register Bits */ > > +#define S3C2443_ADCTSC_UD_SEN (1 << 8) > > +#define S3C2410_ADCTSC_YM_SEN (1<<7) > > +#define S3C2410_ADCTSC_YP_SEN (1<<6) > > +#define S3C2410_ADCTSC_XM_SEN (1<<5) > > +#define S3C2410_ADCTSC_XP_SEN (1<<4) > > +#define S3C2410_ADCTSC_PULL_UP_DISABLE (1<<3) > > +#define S3C2410_ADCTSC_AUTO_PST (1<<2) > > +#define S3C2410_ADCTSC_XY_PST(x) (((x)&0x3)<<0) > > + > > +/* ADCDAT0 Bits */ > > +#define S3C2410_ADCDAT0_UPDOWN (1<<15) > > +#define S3C2410_ADCDAT0_AUTO_PST (1<<14) > > +#define S3C2410_ADCDAT0_XY_PST (0x3<<12) > > +#define S3C2410_ADCDAT0_XPDATA_MASK (0x03FF) > > + > > +/* ADCDAT1 Bits */ > > +#define S3C2410_ADCDAT1_UPDOWN (1<<15) > > +#define S3C2410_ADCDAT1_AUTO_PST (1<<14) > > +#define S3C2410_ADCDAT1_XY_PST (0x3<<12) > > +#define S3C2410_ADCDAT1_YPDATA_MASK (0x03FF) > > + > > + > > #define TSC_SLEEP (S3C2410_ADCTSC_PULL_UP_DISABLE | S3C2410_ADCTSC_XY_PST(0)) > > #define INT_DOWN (0) > > diff --git a/drivers/power/supply/s3c_adc_battery.c b/drivers/power/supply/s3c_adc_battery.c > > index 3d00b35cafc9..60b7f41ab063 100644 > > --- a/drivers/power/supply/s3c_adc_battery.c > > +++ b/drivers/power/supply/s3c_adc_battery.c > > @@ -22,7 +22,7 @@ > > #include <linux/init.h> > > #include <linux/module.h> > > -#include <plat/adc.h> > > +#include <linux/soc/samsung/s3c-adc.h> > > #define BAT_POLL_INTERVAL 10000 /* ms */ > > #define JITTER_DELAY 500 /* ms */ > > diff --git a/arch/arm/plat-samsung/include/plat/adc.h b/include/linux/soc/samsung/s3c-adc.h > > similarity index 100% > > rename from arch/arm/plat-samsung/include/plat/adc.h > > rename to include/linux/soc/samsung/s3c-adc.h > > > -- Dmitry