libata TODO: ioread/iowrite work (was Re: [PATCH libata:upstream]remove compiler warnings)

From: Jeff Garzik
Date: Mon Aug 22 2005 - 14:51:03 EST


Tejun Heo wrote:
Hello, Jeff.

This patch removes compiler warnings which are caused by using
ioports values (unsigned long) for the address argument of
read/write[bwl]() functions without casting.

Signed-off-by: Tejun Heo <htejun@xxxxxxxxx>

NAK... These warnings exist as a reminder of the remaining ioread/iowrite() work that must occur. Look at the 'iomap' and 'iomap-step1' branches of libata-dev.git for incomplete examples of this work.

One must:

- create a data structure to store a bunch of I/O port values, as returned by pci_iomap() and ioport_map()
- update legacy PCI IDE (aka looks like ISA IDE) code path to use ioport_map() to obtain the I/O addresses we need
- update native mode PCI IDE (aka looks like PCI) code path to use pci_iomap()
- update all the other drivers that use ioremap() to use pci_iomap()
- change struct ata_ioports, s/unsigned long/void __iomem */
- fix up the last few bits in each driver, such as
* eliminating the 'unsigned long base' variable in each
xxx_init_one() function
* changing the xxx_setup_port() function to indicate
void __iomem * rather than unsigned long
- one last check for any last s/long/void iomem */ changes to be made
- install Linus's "sparse" source checker
- run 'make C=1' in the kernel tree, and make sure libata and drivers don't spew warnings


So... it's not as simple as just killing the warnings ;-)


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