Hello,
Andy Shevchenko 於 2015/12/13 上午 09:08 寫道:
On Tue, Dec 1, 2015 at 8:54 AM, Peter Hung <hpeter@xxxxxxxxx> wrote:
First of all, maybe you can consider to split this part of the driver
to separate one? (Like we did for 8250_mid.c). It seems 8250_pci is
too bloated. But it's just an idea, maybe for future.
It's a good idea. Our PCI-to-UART device is a multifunctional
(GPIO/UART) board, I need try to split it from 8250_pci.c to
implements all functions.
+/* The device is multi-function with UART & GPIO */
+static u8 fintek_gpio_mapping[] = {2, 3, 8, 9, 10, 11};
Clearly you have bit combination here
Bit 1: 1
Bit 3: 1
So, mask as 0x0a shall cover this IIAC.
IMO, It maybe wrong. If we checked only with 0x0a mask,
the 0x06 & 0x07 will be passed.
I had try with k-map to reduce from 0~11 (12~15 for don't care).
The final boolean value is a + c b(bar) for a is MSB.
- config_base = 0x40 + 0x08 * idx;
+ switch (pdev->device) {
+ case 0x1104: /* 4 ports */
Maybe you can introduce constants for IDs.
I'll make the magic numbers with #define marco.
Thanks for your advices.
--
With Best Regards,
Peter Hung
--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html