From patchwork Thu May 31 10:06:39 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Dietrich X-Patchwork-Id: 162133 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 8523CB6FF8 for ; Thu, 31 May 2012 20:32:00 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750849Ab2EaKb5 (ORCPT ); Thu, 31 May 2012 06:31:57 -0400 Received: from mailgate.zerties.org ([176.9.120.153]:38192 "EHLO gandalf.zerties.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750821Ab2EaKb4 (ORCPT ); Thu, 31 May 2012 06:31:56 -0400 X-Greylist: delayed 1505 seconds by postgrey-1.27 at vger.kernel.org; Thu, 31 May 2012 06:31:55 EDT Received: from stettberger by gandalf.zerties.org with local (Exim 4.72) (envelope-from ) id 1Sa2H9-0006SA-PX; Thu, 31 May 2012 12:06:39 +0200 From: Christian Dietrich To: Sergei Shtylyov Cc: Christian Dietrich , "David S. Miller" , linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org, vamos-dev@lists.cs.fau.de Subject: Re: [PATCH] ide: icside.c: Fix compile with CONFIG_BLK_DEV_IDEDMA_ICS=n References: <20120529103002.GA13283@faui49q.informatik.uni-erlangen.de> <4FC4C391.50700@mvista.com> Date: Thu, 31 May 2012 12:06:39 +0200 In-Reply-To: <4FC4C391.50700@mvista.com> (Sergei Shtylyov's message of "Tue, 29 May 2012 16:39:45 +0400") Message-ID: <86lik87jgw.fsf@gandalf.zerties.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) MIME-Version: 1.0 Sender: linux-ide-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ide@vger.kernel.org The icside driver can be configured without DMA support, but it doesn't compile then, because DMA operations are referenced. drivers/ide/icside.c:523: error: 'icside_v6_port_ops' undeclared drivers/ide/icside.c:522: error: 'icside_dma_init' undeclared --- drivers/ide/icside.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-) Sergei Shtylyov writes: >> I attach the configuration, that exposes this compilation error. > > Apparently, you forgot to do it. :-) Should be better now. >> - printk("%s: %s selected (peak %dMB/s)\n", drive->name, >> + printk("%s: %s selected (peak %ldMB/s)\n", drive->name, > > Unrelated change, should go into its own patch. Will arrive in one second. > You forgot to remove the useless '#define icside_v6_dma_ops NULL' > above. Also, you could set .dma_ops inside the 'if' below (and get > rid of else' then), removing this line. I rearranged the change a little bit and it doesn't require a else statement now. diff --git a/drivers/ide/icside.c b/drivers/ide/icside.c index 8716066..83e5100 100644 --- a/drivers/ide/icside.c +++ b/drivers/ide/icside.c @@ -375,8 +375,6 @@ static const struct ide_dma_ops icside_v6_dma_ops = { .dma_test_irq = icside_dma_test_irq, .dma_lost_irq = ide_dma_lost_irq, }; -#else -#define icside_v6_dma_ops NULL #endif static int icside_dma_off_init(ide_hwif_t *hwif, const struct ide_port_info *d) @@ -456,7 +454,6 @@ err_free: static const struct ide_port_info icside_v6_port_info __initdata = { .init_dma = icside_dma_off_init, .port_ops = &icside_v6_no_dma_port_ops, - .dma_ops = &icside_v6_dma_ops, .host_flags = IDE_HFLAG_SERIALIZE | IDE_HFLAG_MMIO, .mwdma_mask = ATA_MWDMA2, .swdma_mask = ATA_SWDMA2, @@ -518,11 +515,13 @@ icside_register_v6(struct icside_state *state, struct expansion_card *ec) ecard_set_drvdata(ec, state); +#ifdef CONFIG_BLK_DEV_IDEDMA_ICS if (ec->dma != NO_DMA && !request_dma(ec->dma, DRV_NAME)) { d.init_dma = icside_dma_init; d.port_ops = &icside_v6_port_ops; - } else - d.dma_ops = NULL; + d.dma_ops = &icside_v6_dma_ops; + } +#endif ret = ide_host_register(host, &d, hws); if (ret)