On Mon, 6 Oct 2014, Michael Schmitz wrote: > > > > > Can these be handled through the platform_device's resources? > > > > > > > > I don't know. > > > > > > Should be possible - I've seen that used in the ISP116x HCD driver > > > (arch-dependent post-register access delay function passed via > > > platform data). > > > > Yes, possible, but is it desirable? > > Only long term, i.e. if we can find a way to fold all the separate > *_NCR5380 drivers into a core one. But would it improve the ISA drivers to paramaterize the core driver using platform data? I don't know the answer, so I tend to think of code duplication as a separate issue. > > > > If there's no third configuration then I see little to be gained from > > completely parameterizing the driver using a bunch of resources. > > > > What am I missing? Why would it be desirable to have bits of driver > > code in arch/m68k/ and other bits of the same driver kept elsewhere in > > the tree (in drivers/)? > > Again, only makes sense if the goal is to reduce the driver to a core > driver with implementation bits separate. > I think it makes sense if it completely eliminates modules like {atari,mac,sun3}_scsi and replaces them with a generic ncr5380 platform driver entirely parameterized by mac/atari/sun3 platform data. Or maybe that would only amount to a complicated renaming, as the {atari,mac,sun3}_scsi driver logic would presumably just move from drivers/scsi to arch/m68k. Anyway, that's a long way off. To begin with, it would require the elimination of all the macros (e.g. SUN3_SCSI_VME, REAL_DMA etc, and NCR5380_{read,write,dma_read_setup,etc}) and all the static variables (setup_use_tagged_queuing, atari_read_overruns etc). I have written patches that eliminate static variables because that enables atari_NCR5380.c to support multiple chips, and it helps fix a compiler warning, and also helps cleanup the *RELEASE macros. Replacing all the macros with flags and an ops struct/plataform data is not too difficult for atari_NCR5380.c at present but will be more difficult after sun3_NCR5380.c is merged into it. The same goes for NCR5380.c and the ISA drivers. I don't yet see a good way to merge all three core drivers, and if I did, I wouldn't be able to test the results. Hence I've taken a more gradual approach. This patch set eliminates scsi_register() from {atari,mac,sun3}_scsi at least. -- -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html