Hello.

Kukjin Kim wrote:

From: Abhilash Kesavan <a.kesa...@samsung.com>
Adds support for the Samsung PATA controller. This driver is based on the
Libata subsystem and references the earlier patches sent for IDE subsystem.

   Where I those I wonder? :-)
   It's a pity they didn't get accepted.

Signed-off-by: Abhilash Kesavan <a.kesa...@samsung.com>
Signed-off-by: Kukjin Kim <kgene....@samsung.com>

[...]

+               for (i = 0; i < words; i++, temp_addr++) {
+                       wait_for_host_ready(info);
+                       writel(*temp_addr, data_addr);
+               }
+       }

    Well, if this is pere CF case, 'buflen' can't be odd, but otherwise

   I meant to type "pure". :-)

you should handle that case...

+       uint pio_teoc[5] = { 240, 43, 10, 70, 25 };

    What timing is this? :-O

Should have been t2i rec.

   If it's t2i timing, it is incorrect for the first 3 PIO modes.

+       if (cpu_type == TYPE_S3C6400) {
+               ap->ops = &pata_s3c_port_ops;
+               info->sfr_addr = info->ide_addr + 0x1800;
+               info->ide_addr = info->ide_addr + 0x1900;
+               info->fifo_status_reg = 0x94;
+       } else if (cpu_type == TYPE_S5PC100) {
+               ap->ops = &pata_s5p_port_ops;
+               info->sfr_addr = info->ide_addr + 0x1800;
+               info->ide_addr = info->ide_addr + 0x1900;

    Does make sense to assign those before *if*.

Offsets not required for S5PV210/S5PC110.

   pata_s3c_tune_chipset() certainly requires them.

+               info->fifo_status_reg = 0x84;
+       } else {
+               ap->ops = &pata_s5p_port_ops;

    You don't assign 'info->ide_addr' here but you'll need it in
pata_s3c_tune_chipset() which will be called thru pata_s5p_port_ops!

The address received at ioremap() is enough for S5PV210/S5PC110..no offset
needed.

I only have to restate that pata_s3c_tune_chipset() does use 'info->ide_addr'. Maybe you shouldn't install this method for S5PV210/S5PC110? Or do you mean thgat offset of 0 will work?

+release_mem:
+       release_mem_region(res->start, res->end - res->start + 1);

    But you didn't call request_mem_region()!

I didn't..will remove.

   But you should call request_mem_region() in one or another form...

MBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to