lkml.org 
[lkml]   [2012]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] ide: icside.c: Fix compile with CONFIG_BLK_DEV_IDEDMA_ICS=n
Hello.

On 29-05-2012 14:30, Christian Dietrich wrote:

> The icside driver can be configured without DMA support, but it
> doesn't compile in this case, 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

> Signed-off-by: Christian Dietrich<christian.dietrich@informatik.uni-erlangen.de>
> ---
> drivers/ide/icside.c | 6 +++++-
> 1 files changed, 5 insertions(+), 1 deletions(-)

> I attach the configuration, that exposes this compilation error.

Apparently, you forgot to do it. :-)

> This patch was
> *NOT* tested on real hardware. I don't if the fix really does solve the
> problem, but at least it is a hint that there is a problem.

> diff --git a/drivers/ide/icside.c b/drivers/ide/icside.c
> index 8716066..62c59c1 100644
> --- a/drivers/ide/icside.c
> +++ b/drivers/ide/icside.c
> @@ -271,7 +271,7 @@ static void icside_set_dma_mode(ide_hwif_t *hwif, ide_drive_t *drive)
>
> ide_set_drivedata(drive, (void *)cycle_time);
>
> - 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.

> ide_xfer_verbose(xfer_mode),
> 2000 / (unsigned long)ide_get_drivedata(drive));
> }
> @@ -456,7 +456,9 @@ 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,
> +#ifdef CONFIG_BLK_DEV_IDEDMA_ICS

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.

> .dma_ops =&icside_v6_dma_ops,
> +#endif
> .host_flags = IDE_HFLAG_SERIALIZE | IDE_HFLAG_MMIO,
> .mwdma_mask = ATA_MWDMA2,
> .swdma_mask = ATA_SWDMA2,
> @@ -518,10 +520,12 @@ 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
> +#endif
> d.dma_ops = NULL;
>
> ret = ide_host_register(host,&d, hws);

MBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2012-05-29 15:21    [W:0.168 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site