From patchwork Wed Aug 28 07:42:50 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josh Wu X-Patchwork-Id: 2850543 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 41A129F313 for ; Wed, 28 Aug 2013 07:44:19 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 09D1120357 for ; Wed, 28 Aug 2013 07:44:18 +0000 (UTC) Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B7C3F2034D for ; Wed, 28 Aug 2013 07:44:16 +0000 (UTC) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1VEaQ3-0006rN-Ky; Wed, 28 Aug 2013 07:44:00 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1VEaPv-0002MO-Bh; Wed, 28 Aug 2013 07:43:51 +0000 Received: from newsmtp5.atmel.com ([204.2.163.5] helo=sjogate2.atmel.com) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1VEaPp-0002Ky-KF for linux-arm-kernel@lists.infradead.org; Wed, 28 Aug 2013 07:43:46 +0000 Received: from localhost.localdomain ([10.217.11.52]) by sjogate2.atmel.com (8.13.6/8.13.6) with ESMTP id r7S7api8005710; Wed, 28 Aug 2013 00:36:53 -0700 (PDT) From: Josh Wu To: jic23@cam.ac.uk Subject: [resend][PATCH v3 5/6] iio: at91: move the num_channels from DT to driver itself Date: Wed, 28 Aug 2013 15:42:50 +0800 Message-Id: <1377675770-30813-1-git-send-email-josh.wu@atmel.com> X-Mailer: git-send-email 1.7.10 In-Reply-To: <1377602932-1899-6-git-send-email-josh.wu@atmel.com> References: <1377602932-1899-6-git-send-email-josh.wu@atmel.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20130828_034345_896235_D23BD1B7 X-CRM114-Status: GOOD ( 15.18 ) X-Spam-Score: -4.4 (----) Cc: thomas.petazzoni@free-electrons.com, mark.rutland@arm.com, devicetree@vger.kernel.org, linux-iio@vger.kernel.org, nicolas.ferre@atmel.com, b.brezillon@overkiz.com, Josh Wu , maxime.ripard@free-electrons.com, plagnioj@jcrosoft.com, linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP CC: devicetree@vger.kernel.org Signed-off-by: Josh Wu Acked-by: Maxime Ripard --- Sorry for not testing the previous email for this patch. Now I find the compiling error in the patch, so I resend a fix version of this patch. In this resended version: - fix the compile error the typo. - fix the num_channels assignment type error. Documentation/devicetree/bindings/arm/atmel-adc.txt | 1 - drivers/iio/adc/at91_adc.c | 12 +++++------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/Documentation/devicetree/bindings/arm/atmel-adc.txt b/Documentation/devicetree/bindings/arm/atmel-adc.txt index 723c205..0e65e01 100644 --- a/Documentation/devicetree/bindings/arm/atmel-adc.txt +++ b/Documentation/devicetree/bindings/arm/atmel-adc.txt @@ -7,7 +7,6 @@ Required properties: - interrupts: Should contain the IRQ line for the ADC - atmel,adc-channels-used: Bitmask of the channels muxed and enable for this device - - atmel,adc-num-channels: Number of channels available in the ADC - atmel,adc-startup-time: Startup Time of the ADC in microseconds as defined in the datasheet - atmel,adc-vref: Reference voltage in millivolts for the conversions diff --git a/drivers/iio/adc/at91_adc.c b/drivers/iio/adc/at91_adc.c index f32a69d..0f4621a 100644 --- a/drivers/iio/adc/at91_adc.c +++ b/drivers/iio/adc/at91_adc.c @@ -43,6 +43,7 @@ struct at91_adc_caps { /* startup time calculate function */ u32 (*calc_startup_ticks)(u8 startup_time, u32 adc_clk_khz); + u8 num_channels; struct at91_adc_reg_desc registers; }; @@ -502,13 +503,6 @@ static int at91_adc_probe_dt(struct at91_adc_state *st, } st->channels_mask = prop; - if (of_property_read_u32(node, "atmel,adc-num-channels", &prop)) { - dev_err(&idev->dev, "Missing adc-num-channels property in the DT.\n"); - ret = -EINVAL; - goto error_ret; - } - st->num_channels = prop; - st->sleep_mode = of_property_read_bool(node, "atmel,adc-sleep-mode"); if (of_property_read_u32(node, "atmel,adc-startup-time", &prop)) { @@ -534,6 +528,7 @@ static int at91_adc_probe_dt(struct at91_adc_state *st, goto error_ret; st->registers = &st->caps->registers; + st->num_channels = st->caps->num_channels; st->trigger_number = of_get_child_count(node); st->trigger_list = devm_kzalloc(&idev->dev, st->trigger_number * sizeof(struct at91_adc_trigger), @@ -788,6 +783,7 @@ static int at91_adc_remove(struct platform_device *pdev) #ifdef CONFIG_OF static struct at91_adc_caps at91sam9260_caps = { .calc_startup_ticks = calc_startup_ticks_9260, + .num_channels = 4, .registers = { .channel_base = AT91_ADC_CHR(0), .drdy_mask = AT91_ADC_DRDY, @@ -800,6 +796,7 @@ static struct at91_adc_caps at91sam9260_caps = { static struct at91_adc_caps at91sam9g45_caps = { .calc_startup_ticks = calc_startup_ticks_9260, /* same as 9260 */ + .num_channels = 8, .registers = { .channel_base = AT91_ADC_CHR(0), .drdy_mask = AT91_ADC_DRDY, @@ -812,6 +809,7 @@ static struct at91_adc_caps at91sam9g45_caps = { static struct at91_adc_caps at91sam9x5_caps = { .calc_startup_ticks = calc_startup_ticks_9x5, + .num_channels = 12, .registers = { .channel_base = AT91_ADC_CDR0_9X5, .drdy_mask = AT91_ADC_SR_DRDY_9X5,