Re: [PATCH RESEND 1/1] serial: 8250_pci: Fix real serial port count for F81504/508/512

From: Peter Hung
Date: Mon Dec 14 2015 - 21:56:31 EST


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-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/