From: mcuelenaere@gmail.com (Maurus Cuelenaere)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 6/8] S3C: merge ADC drivers and add support for the S3C64xx
Date: Fri, 20 Nov 2009 15:34:28 +0100 [thread overview]
Message-ID: <4B06A8F4.5070307@gmail.com> (raw)
In-Reply-To: <200911201416.16299.anarsoul@gmail.com>
Op 20-11-09 13:16, Vasily Khoruzhick schreef:
> ? ????????? ?? 20 ?????? 2009 14:04:10 ????? Maurus Cuelenaere ???????:
>
>> This moves the S3C24xx ADC driver to plat-s3c and adds support
>> for the S3C64xx.
>>
>> Signed-off-by: Maurus Cuelenaere<mcuelenaere@gmail.com>
>> ---
>> arch/arm/plat-s3c/Kconfig | 7 +++++
>> arch/arm/plat-s3c/Makefile | 4 +++
>> arch/arm/{plat-s3c24xx => plat-s3c}/adc.c | 17 +++++++++--
>> arch/arm/plat-s3c/include/plat/regs-adc.h | 3 ++
>> arch/arm/plat-s3c24xx/Kconfig | 7 -----
>> arch/arm/plat-s3c24xx/Makefile | 1 -
>> arch/arm/plat-s3c64xx/Makefile | 1 +
>> arch/arm/plat-s3c64xx/dev-adc.c | 42
>> +++++++++++++++++++++++++++++ 8 files changed, 71 insertions(+), 11
>> deletions(-)
>> rename arch/arm/{plat-s3c24xx => plat-s3c}/adc.c (95%)
>> create mode 100644 arch/arm/plat-s3c64xx/dev-adc.c
>>
>> diff --git a/arch/arm/plat-s3c/Kconfig b/arch/arm/plat-s3c/Kconfig
>> index 57e685b..4184084 100644
>> --- a/arch/arm/plat-s3c/Kconfig
>> +++ b/arch/arm/plat-s3c/Kconfig
>> @@ -159,6 +159,13 @@ config S3C_GPIO_CFG_S3C64XX
>> Internal configuration to enable S3C64XX style GPIO configuration
>> functions.
>>
>> +config S3C_ADC
>> + bool "ADC common driver support"
>> + help
>> + Core support for the ADC block found in the S3C SoC systems
>> + for drivers such as the touchscreen and hwmon to use to share
>> + this resource.
>> +
>> # DMA
>>
>> config S3C_DMA
>> diff --git a/arch/arm/plat-s3c/Makefile b/arch/arm/plat-s3c/Makefile
>> index 50444da..960fb43 100644
>> --- a/arch/arm/plat-s3c/Makefile
>> +++ b/arch/arm/plat-s3c/Makefile
>> @@ -32,6 +32,10 @@ obj-$(CONFIG_S3C2410_PM_CHECK) += pm-check.o
>>
>> obj-$(CONFIG_HAVE_PWM) += pwm.o
>>
>> +# ADC support
>> +
>> +obj-$(CONFIG_S3C_ADC) += adc.o
>> +
>> # devices
>>
>> obj-$(CONFIG_S3C_DEV_HSMMC) += dev-hsmmc.o
>> diff --git a/arch/arm/plat-s3c24xx/adc.c b/arch/arm/plat-s3c/adc.c
>> similarity index 95%
>> rename from arch/arm/plat-s3c24xx/adc.c
>> rename to arch/arm/plat-s3c/adc.c
>> index df47322..572b7be 100644
>> --- a/arch/arm/plat-s3c24xx/adc.c
>> +++ b/arch/arm/plat-s3c/adc.c
>> @@ -1,10 +1,10 @@
>> -/* arch/arm/plat-s3c24xx/adc.c
>> +/* arch/arm/plat-s3c/adc.c
>> *
>> * Copyright (c) 2008 Simtec Electronics
>> * http://armlinux.simtec.co.uk/
>> * Ben Dooks<ben@simtec.co.uk>,<ben-linux@fluff.org>
>> *
>> - * S3C24XX ADC device core
>> + * S3C ADC device core
>> *
>> * This program is free software; you can redistribute it and/or modify
>> * it under the terms of the GNU General Public License as published by
>> @@ -72,10 +72,18 @@ static LIST_HEAD(adc_pending);
>>
>> #define adc_dbg(_adc, msg...) dev_dbg(&(_adc)->pdev->dev, msg)
>>
>> +#define AUTOPST (S3C2410_ADCTSC_YM_SEN | S3C2410_ADCTSC_YP_SEN | \
>> + S3C2410_ADCTSC_XP_SEN | S3C2410_ADCTSC_AUTO_PST | \
>> + S3C2410_ADCTSC_XY_PST(0))
>> +
>> static inline void s3c_adc_convert(struct adc_device *adc)
>> {
>> unsigned con = readl(adc->regs + S3C2410_ADCCON);
>>
>> + if (adc->cur->is_ts)
>> + writel(S3C2410_ADCTSC_PULL_UP_DISABLE | AUTOPST,
>> + adc->regs + S3C2410_ADCTSC);
>> +
>> con |= S3C2410_ADCCON_ENABLE_START;
>> writel(con, adc->regs + S3C2410_ADCCON);
>> }
>> @@ -260,6 +268,9 @@ static irqreturn_t s3c_adc_irq(int irq, void *pw)
>> unsigned long flags;
>> unsigned data0, data1;
>>
>> + /* Clear ADC interrupt */
>> + __raw_writel(0x0, adc->regs + S3C6400_ADCCLRINT);
>> +
>>
> s3c24xx has not ADCCLRINT register, so I suspect it'll break s3c24xx-
> compatibility
Hmm right, that doesn't seem right; this should in an if(adc->type ==
S3C64XX) check..
Also that if(adc->cur->is_ts) change above seems unrelated, let me
resend this patch.
Regards,
Maurus Cuelenaere
next prev parent reply other threads:[~2009-11-20 14:34 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-20 12:04 [PATCH 6/8] S3C: merge ADC drivers and add support for the S3C64xx Maurus Cuelenaere
2009-11-20 12:16 ` Vasily Khoruzhick
2009-11-20 14:34 ` Maurus Cuelenaere [this message]
2009-11-21 15:59 ` [PATCH 6/8 v2] " Maurus Cuelenaere
2009-11-23 0:09 ` Ben Dooks
2009-11-23 13:44 ` Maurus Cuelenaere
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B06A8F4.5070307@gmail.com \
--to=mcuelenaere@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).