Re: [PATCH 2/3 v3] ide: add at91_ide driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 10 March 2009, Sergei Shtylyov wrote:
> I wrote:
> 
> >>>> This is IDE host driver for AT91 (SAM9, CAP9, AT572D940HF) Static 
> >>>> Memory
> >>>> Controller with Compact Flash True IDE Mode logic.
> 
> >>>> Driver have to switch 8/16 bit bus width when accessing Task Tile or 
> >>>> Data
> >>>> Register. Moreover some extra things need to be done when setting 
> >>>> PIO mode.
> >>>> Only PIO mode is used, hardware have no DMA support. If interrupt 
> >>>> line is
> >>>> connected through GPIO extra quirk is needed to cope with fake 
> >>>> interrupts.
> 
> >>>> Signed-off-by: Stanislaw Gruszka <stf_xl@xxxxx>
> 
> >>>    This is prolly only me, but I afil to compile this driver with the 
> >>> current arch/arm/configs/at91sam9263ek_defconfig:
> 
> >>>   CC      drivers/ide/at91_ide.o
> >>> drivers/ide/at91_ide.c: In function ‘at91_ide_input_data’:
> >>> drivers/ide/at91_ide.c:159: error: implicit declaration of function 
> >>> ‘__ide_mm_insw’
> >>> drivers/ide/at91_ide.c: In function ‘at91_ide_output_data’:
> >>> drivers/ide/at91_ide.c:174: error: implicit declaration of function 
> >>> ‘__ide_mm_outsw’
> >>> drivers/ide/at91_ide.c: In function ‘at91_ide_tf_load’:
> >>> drivers/ide/at91_ide.c:192: error: ‘task’ undeclared (first use in 
> >>> this function)
> >>> drivers/ide/at91_ide.c:192: error: (Each undeclared identifier is 
> >>> reported only
> >>> once
> >>> drivers/ide/at91_ide.c:192: error: for each function it appears in.)
> >>> drivers/ide/at91_ide.c: At top level:
> >>> drivers/ide/at91_ide.c:303: warning: initialization from incompatible 
> >>> pointer type
> >>> drivers/ide/at91_ide.c:304: warning: initialization from incompatible 
> >>> pointer type
> >>> make[1]: *** [drivers/ide/at91_ide.o] Error 1
> >>> make: *** [drivers/ide/] Error 2
> 
> >>    Ah, it's only with pata-2.6 series applied. Bart, you clearly need 
> >> to include this driver to some of your patches...

I did and asked people to test the final result (see my mail on merging
at91_ide)... unfortunately it seems like I missed few spots... :)

>     Oops, got muddled in too many follow-ups. :-)
>     Namely, ide-remove-ide_task_t-typedef.patch is incomplete...

Was a bit more than that, I also needed to merge __ide_mm_* fixup below...

[ Anyway please verify that I got it right this time, thanks! ]

From: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
Subject: [PATCH] at91_ide: use readsw()/writesw() directly

Use readsw()/writesw() directly intead of __ide_mm_{in,out}sw() macros.

Cc: Stanislaw Gruszka <stf_xl@xxxxx>
Cc: Sergei Shtylyov <sshtylyov@xxxxxxxxxxxxx>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
---
needed for "ide: include <asm/ide.h> only when needed" patch in pata tree

 drivers/ide/at91_ide.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: b/drivers/ide/at91_ide.c
===================================================================
--- a/drivers/ide/at91_ide.c
+++ b/drivers/ide/at91_ide.c
@@ -156,7 +156,7 @@ static void at91_ide_input_data(ide_driv
 	len++;
 
 	enter_16bit(chipselect, mode);
-	__ide_mm_insw((void __iomem *) io_ports->data_addr, buf, len / 2);
+	readsw((void __iomem *)io_ports->data_addr, buf, len / 2);
 	leave_16bit(chipselect, mode);
 }
 
@@ -171,7 +171,7 @@ static void at91_ide_output_data(ide_dri
 	pdbg("cs %u buf %p len %d\n", chipselect,  buf, len);
 
 	enter_16bit(chipselect, mode);
-	__ide_mm_outsw((void __iomem *) io_ports->data_addr, buf, len / 2);
+	writesw((void __iomem *)io_ports->data_addr, buf, len / 2);
 	leave_16bit(chipselect, mode);
 }
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux