Re: [PATCH 3/4] parport: parport_serial: Add more support for Brainboxes cards

From: Cameron Williams
Date: Sat Sep 23 2023 - 10:58:03 EST


Please disregard this patch. It will be re-sent using raw hexadecimal IDs
for the device IDs.

On Thu, Sep 21, 2023 at 10:11:29PM +0100, Cameron Williams wrote:
> Add support for the Intashield IS-300/IS-500, Brainboxes UC-203, UC-257,
> UC-414, UC-475 and PX-263/295 parallel/serial cards.
>
> Signed-off-by: Cameron Williams <cang1@xxxxxxxxxx>
> ---
> drivers/parport/parport_serial.c | 64 ++++++++++++++++++++++++++++++++
> 1 file changed, 64 insertions(+)
>
> diff --git a/drivers/parport/parport_serial.c b/drivers/parport/parport_serial.c
> index 9f5d784cd95d..c6fbee528493 100644
> --- a/drivers/parport/parport_serial.c
> +++ b/drivers/parport/parport_serial.c
> @@ -65,6 +65,10 @@ enum parport_pc_pci_cards {
> sunix_5069a,
> sunix_5079a,
> sunix_5099a,
> + brainboxes_uc257,
> + brainboxes_is300,
> + brainboxes_uc414,
> + brainboxes_px263,
> };
>
> /* each element directly indexed from enum list, above */
> @@ -158,6 +162,10 @@ static struct parport_pc_pci cards[] = {
> /* sunix_5069a */ { 1, { { 1, 2 }, } },
> /* sunix_5079a */ { 1, { { 1, 2 }, } },
> /* sunix_5099a */ { 1, { { 1, 2 }, } },
> + /* brainboxes_uc257 */ { 1, { { 3, -1 }, } },
> + /* brainboxes_is300 */ { 1, { { 3, -1 }, } },
> + /* brainboxes_uc414 */ { 1, { { 3, -1 }, } },
> + /* brainboxes_px263 */ { 1, { { 3, -1 }, } },
> };
>
> static struct pci_device_id parport_serial_pci_tbl[] = {
> @@ -276,6 +284,38 @@ static struct pci_device_id parport_serial_pci_tbl[] = {
> 0x0102, 0, 0, sunix_5079a },
> { PCI_VENDOR_ID_SUNIX, PCI_DEVICE_ID_SUNIX_1999, PCI_VENDOR_ID_SUNIX,
> 0x0104, 0, 0, sunix_5099a },
> +
> + /* Brainboxes UC-203 */
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC203,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC203R3,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
> +
> + /* Brainboxes UC-257 */
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC257,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC257R3,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC257R4,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
> +
> + /* Brainboxes UC-414 */
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC414,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc414 },
> +
> + /* Brainboxes UC-475 */
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC475,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_UC475R3,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_uc257 },
> +
> + /* Brainboxes IS-300/IS-500 */
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_IS300,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_is300 },
> +
> + /* Brainboxes PX-263/PX-295 */
> + { PCI_VENDOR_ID_INTASHIELD, PCI_DEVICE_ID_INTASHIELD_PX263,
> + PCI_ANY_ID, PCI_ANY_ID, 0, 0, brainboxes_px263 },
>
> { 0, } /* terminate list */
> };
> @@ -542,6 +582,30 @@ static struct pciserial_board pci_parport_serial_boards[] = {
> .base_baud = 921600,
> .uart_offset = 0x8,
> },
> + [brainboxes_uc257] = {
> + .flags = FL_BASE2,
> + .num_ports = 2,
> + .base_baud = 115200,
> + .uart_offset = 8,
> + },
> + [brainboxes_is300] = {
> + .flags = FL_BASE2,
> + .num_ports = 1,
> + .base_baud = 115200,
> + .uart_offset = 8,
> + },
> + [brainboxes_uc414] = {
> + .flags = FL_BASE2,
> + .num_ports = 4,
> + .base_baud = 115200,
> + .uart_offset = 8,
> + },
> + [brainboxes_px263] = {
> + .flags = FL_BASE2,
> + .num_ports = 4,
> + .base_baud = 921600,
> + .uart_offset = 8,
> + },
> };
>
> struct parport_serial_private {
> --
> 2.42.0
>