On Thu, Jul 25, 2019 at 02:23:08PM +0800, Morris Ku wrote: > >> --- > >> serial/Kconfig | 11 ++ > >> serial/Makefile | 1 + > >> serial/sunix_uart.c | 357 ++++++++++++++++++++++++++++++++++++++++++++ > >> 3 files changed, 369 insertions(+) > >> create mode 100644 serial/sunix_uart.c > > >Why can't you just use the 8250_pci.c driver here instead of a whole > >separate one? What does this hardware need that is so different that > >you can not just add to the normal pci_boards[] array in that code? > > >If you can not do that, then you need to explain in great detail why > >that is in the changelog comment in order for us to be able to accept > >this code. > > SUNIX uses a mixture of bars and offsets, > the first four ports use bar0,fifth to sixteenth ports use bar1, > 8025_pci.c using different bars and offsets, > fist port use bar0,port two use use bar0 + offset, > but three to four ports use bar1 ,after port use bar2~bar5, > can not just use 8250 existing code to set up our hardware, > the configure method is not suitable for us, > therefore, we separate one driver for SUNIX serial board. Ugh, really? There's no way to fit this into the existing driver framework? You are duplicating a lot of logic here so it really makes me question if all of this is needed or not. Are there other drivers in drivers/tty/serial/ that work more like yours do? thanks, greg k-h