From patchwork Sun Jul 23 18:16:22 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Scheller X-Patchwork-Id: 9858543 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id B219C600F5 for ; Sun, 23 Jul 2017 18:17:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AA44A281B7 for ; Sun, 23 Jul 2017 18:17:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9F35D2845C; Sun, 23 Jul 2017 18:17:37 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 91D2328549 for ; Sun, 23 Jul 2017 18:17:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751520AbdGWSQs (ORCPT ); Sun, 23 Jul 2017 14:16:48 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:38667 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751467AbdGWSQm (ORCPT ); Sun, 23 Jul 2017 14:16:42 -0400 Received: by mail-wm0-f68.google.com with SMTP id r123so769701wmb.5 for ; Sun, 23 Jul 2017 11:16:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Ld5ucG9fy8I0FsqlREZQ0/AMHFIHrno8iL7NizyGE+s=; b=KA8WF1EkjwR2xcVjRH4vkrNHHt+8UTFiKf0ktXPuY6bZ1kOp0cXyRiAzDQgFddUDBI f8Kq+IhwNFcWlTUbA3/gzmSVXLkymrxeFqLlki6DKQS54bIRh0AupsagC7AQ4+DehWMA QBVPQJpKJx4SIJh9JVPgVYb24hRwPddlbo6Cmt06iWTsVi1sUpW5PdRPVh1mMAvav1O0 KoyVyo4PHuWdconZK6ZKeUAzj4uECsWiPMhFo7h9q7PZJCaMxB4jV335gyyl23L6uUCo T5J6PC8iih+tir59+RcuihtzIh+UMLGbvG69sMEcRoLgH1e7oYm/cMy9ye2y7rMklJ/9 1mVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Ld5ucG9fy8I0FsqlREZQ0/AMHFIHrno8iL7NizyGE+s=; b=eIx62t9pKXXTXHUE/Aftgj/xi0/At/aKJH9MQMz4BRjVuZTjfZ1Zbhtx4+oaZPB+eW bOhQ+gFtR12Z+2bCZ0809NPmJ0XhUPP/m3cs/mytlquLjMFtnxPgDSRjS5KpR/VwACG3 uSUP/IN4KiRMySLwPDSHcJwNEoeNb3H4MeCXr8i4VIMmxZJGoUE0qtxeSUtOqOP3pcxP RPE5CjEpRiS6M1XSabaf+NWNEOrrE9ozb+a/0nR4icY62GZbHhOFL0nW/qJ3Yrb5+WXu C6LH7kghNXj0vckdzCll9eBADBM1WVS/hJFPHoDNjd+IdtpvlciEYEb3l89rnNXlUwV2 JlvQ== X-Gm-Message-State: AIVw110xMlLlW/3Hh/6hG0TrDg6sbsL3n0K3N4KDKUlsIKs//PF6EK8k O4iZTax/lP9LFWl4 X-Received: by 10.28.209.137 with SMTP id i131mr3215745wmg.14.1500833800557; Sun, 23 Jul 2017 11:16:40 -0700 (PDT) Received: from dvbdev.wuest.de (ip-84-118-193-88.unity-media.net. [84.118.193.88]) by smtp.gmail.com with ESMTPSA id 93sm13247338wra.82.2017.07.23.11.16.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 23 Jul 2017 11:16:40 -0700 (PDT) From: Daniel Scheller To: linux-media@vger.kernel.org, mchehab@kernel.org, mchehab@s-opensource.com Cc: r.scobie@clear.net.nz, jasmin@anw.at, d_spingler@freenet.de, Manfred.Knick@t-online.de, rjkm@metzlerbros.de Subject: [PATCH RESEND 06/14] [media] ddbridge: split off hardware definitions and mappings Date: Sun, 23 Jul 2017 20:16:22 +0200 Message-Id: <20170723181630.19526-7-d.scheller.oss@gmail.com> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170723181630.19526-1-d.scheller.oss@gmail.com> References: <20170723181630.19526-1-d.scheller.oss@gmail.com> Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Daniel Scheller Further cleanup of ddbridge-core and ddbridge-main, and moves all such hw definitions into one single place, making things easier to maintain. Signed-off-by: Daniel Scheller Tested-by: Richard Scobie Tested-by: Jasmin Jessich Tested-by: Dietmar Spingler Tested-by: Manfred Knick --- drivers/media/pci/ddbridge/Makefile | 4 +- drivers/media/pci/ddbridge/ddbridge-core.c | 68 ------- drivers/media/pci/ddbridge/ddbridge-hw.c | 299 +++++++++++++++++++++++++++++ drivers/media/pci/ddbridge/ddbridge-hw.h | 52 +++++ drivers/media/pci/ddbridge/ddbridge-main.c | 217 +-------------------- drivers/media/pci/ddbridge/ddbridge.h | 1 - 6 files changed, 354 insertions(+), 287 deletions(-) create mode 100644 drivers/media/pci/ddbridge/ddbridge-hw.c create mode 100644 drivers/media/pci/ddbridge/ddbridge-hw.h diff --git a/drivers/media/pci/ddbridge/Makefile b/drivers/media/pci/ddbridge/Makefile index 0a7caa95a3b6..c4d8d6261243 100644 --- a/drivers/media/pci/ddbridge/Makefile +++ b/drivers/media/pci/ddbridge/Makefile @@ -2,8 +2,8 @@ # Makefile for the ddbridge device driver # -ddbridge-objs := ddbridge-main.o ddbridge-core.o ddbridge-i2c.o \ - ddbridge-irq.o +ddbridge-objs := ddbridge-main.o ddbridge-core.o ddbridge-hw.o \ + ddbridge-i2c.o ddbridge-irq.o obj-$(CONFIG_DVB_DDBRIDGE) += ddbridge.o diff --git a/drivers/media/pci/ddbridge/ddbridge-core.c b/drivers/media/pci/ddbridge/ddbridge-core.c index d46a81b2f80b..374d095565dc 100644 --- a/drivers/media/pci/ddbridge/ddbridge-core.c +++ b/drivers/media/pci/ddbridge/ddbridge-core.c @@ -66,74 +66,6 @@ static struct ddb *ddbs[DDB_MAX_ADAPTER]; /****************************************************************************/ /****************************************************************************/ -static struct ddb_regset octopus_input = { - .base = 0x200, - .num = 0x08, - .size = 0x10, -}; - -static struct ddb_regset octopus_output = { - .base = 0x280, - .num = 0x08, - .size = 0x10, -}; - -static struct ddb_regset octopus_idma = { - .base = 0x300, - .num = 0x08, - .size = 0x10, -}; - -static struct ddb_regset octopus_idma_buf = { - .base = 0x2000, - .num = 0x08, - .size = 0x100, -}; - -static struct ddb_regset octopus_odma = { - .base = 0x380, - .num = 0x04, - .size = 0x10, -}; - -static struct ddb_regset octopus_odma_buf = { - .base = 0x2800, - .num = 0x04, - .size = 0x100, -}; - -static struct ddb_regset octopus_i2c = { - .base = 0x80, - .num = 0x04, - .size = 0x20, -}; - -static struct ddb_regset octopus_i2c_buf = { - .base = 0x1000, - .num = 0x04, - .size = 0x200, -}; - -/****************************************************************************/ - -struct ddb_regmap octopus_map = { - .irq_base_i2c = 0, - .irq_base_idma = 8, - .irq_base_odma = 16, - .i2c = &octopus_i2c, - .i2c_buf = &octopus_i2c_buf, - .idma = &octopus_idma, - .idma_buf = &octopus_idma_buf, - .odma = &octopus_odma, - .odma_buf = &octopus_odma_buf, - .input = &octopus_input, - .output = &octopus_output, -}; - -/****************************************************************************/ -/****************************************************************************/ -/****************************************************************************/ - static void ddb_set_dma_table(struct ddb_io *io) { struct ddb *dev = io->port->dev; diff --git a/drivers/media/pci/ddbridge/ddbridge-hw.c b/drivers/media/pci/ddbridge/ddbridge-hw.c new file mode 100644 index 000000000000..e35b41e8d860 --- /dev/null +++ b/drivers/media/pci/ddbridge/ddbridge-hw.c @@ -0,0 +1,299 @@ +/* + * ddbridge-hw.c: Digital Devices bridge hardware maps + * + * Copyright (C) 2010-2017 Digital Devices GmbH + * Ralph Metzler + * Marcus Metzler + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 only, as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include "ddbridge.h" + +/******************************************************************************/ + +static struct ddb_regset octopus_input = { + .base = 0x200, + .num = 0x08, + .size = 0x10, +}; + +static struct ddb_regset octopus_output = { + .base = 0x280, + .num = 0x08, + .size = 0x10, +}; + +static struct ddb_regset octopus_idma = { + .base = 0x300, + .num = 0x08, + .size = 0x10, +}; + +static struct ddb_regset octopus_idma_buf = { + .base = 0x2000, + .num = 0x08, + .size = 0x100, +}; + +static struct ddb_regset octopus_odma = { + .base = 0x380, + .num = 0x04, + .size = 0x10, +}; + +static struct ddb_regset octopus_odma_buf = { + .base = 0x2800, + .num = 0x04, + .size = 0x100, +}; + +static struct ddb_regset octopus_i2c = { + .base = 0x80, + .num = 0x04, + .size = 0x20, +}; + +static struct ddb_regset octopus_i2c_buf = { + .base = 0x1000, + .num = 0x04, + .size = 0x200, +}; + +/****************************************************************************/ + +static struct ddb_regmap octopus_map = { + .irq_base_i2c = 0, + .irq_base_idma = 8, + .irq_base_odma = 16, + .i2c = &octopus_i2c, + .i2c_buf = &octopus_i2c_buf, + .idma = &octopus_idma, + .idma_buf = &octopus_idma_buf, + .odma = &octopus_odma, + .odma_buf = &octopus_odma_buf, + .input = &octopus_input, + .output = &octopus_output, +}; + +/****************************************************************************/ + +const struct ddb_info ddb_none = { + .type = DDB_NONE, + .name = "unknown Digital Devices PCIe card, install newer driver", + .regmap = &octopus_map, +}; + +const struct ddb_info ddb_octopus = { + .type = DDB_OCTOPUS, + .name = "Digital Devices Octopus DVB adapter", + .regmap = &octopus_map, + .port_num = 4, + .i2c_mask = 0x0f, +}; + +const struct ddb_info ddb_octopusv3 = { + .type = DDB_OCTOPUS, + .name = "Digital Devices Octopus V3 DVB adapter", + .regmap = &octopus_map, + .port_num = 4, + .i2c_mask = 0x0f, +}; + +const struct ddb_info ddb_octopus_le = { + .type = DDB_OCTOPUS, + .name = "Digital Devices Octopus LE DVB adapter", + .regmap = &octopus_map, + .port_num = 2, + .i2c_mask = 0x03, +}; + +const struct ddb_info ddb_octopus_oem = { + .type = DDB_OCTOPUS, + .name = "Digital Devices Octopus OEM", + .regmap = &octopus_map, + .port_num = 4, + .i2c_mask = 0x0f, + .led_num = 1, + .fan_num = 1, + .temp_num = 1, + .temp_bus = 0, +}; + +const struct ddb_info ddb_octopus_mini = { + .type = DDB_OCTOPUS, + .name = "Digital Devices Octopus Mini", + .regmap = &octopus_map, + .port_num = 4, + .i2c_mask = 0x0f, +}; + +const struct ddb_info ddb_v6 = { + .type = DDB_OCTOPUS, + .name = "Digital Devices Cine S2 V6 DVB adapter", + .regmap = &octopus_map, + .port_num = 3, + .i2c_mask = 0x07, +}; + +const struct ddb_info ddb_v6_5 = { + .type = DDB_OCTOPUS, + .name = "Digital Devices Cine S2 V6.5 DVB adapter", + .regmap = &octopus_map, + .port_num = 4, + .i2c_mask = 0x0f, +}; + +const struct ddb_info ddb_v7 = { + .type = DDB_OCTOPUS, + .name = "Digital Devices Cine S2 V7 DVB adapter", + .regmap = &octopus_map, + .port_num = 4, + .i2c_mask = 0x0f, + .board_control = 2, + .board_control_2 = 4, + .ts_quirks = TS_QUIRK_REVERSED, +}; + +const struct ddb_info ddb_v7a = { + .type = DDB_OCTOPUS, + .name = "Digital Devices Cine S2 V7 Advanced DVB adapter", + .regmap = &octopus_map, + .port_num = 4, + .i2c_mask = 0x0f, + .board_control = 2, + .board_control_2 = 4, + .ts_quirks = TS_QUIRK_REVERSED, +}; + +const struct ddb_info ddb_ctv7 = { + .type = DDB_OCTOPUS, + .name = "Digital Devices Cine CT V7 DVB adapter", + .regmap = &octopus_map, + .port_num = 4, + .i2c_mask = 0x0f, + .board_control = 3, + .board_control_2 = 4, +}; + +const struct ddb_info ddb_satixS2v3 = { + .type = DDB_OCTOPUS, + .name = "Mystique SaTiX-S2 V3 DVB adapter", + .regmap = &octopus_map, + .port_num = 3, + .i2c_mask = 0x07, +}; + +const struct ddb_info ddb_ci = { + .type = DDB_OCTOPUS_CI, + .name = "Digital Devices Octopus CI", + .regmap = &octopus_map, + .port_num = 4, + .i2c_mask = 0x03, +}; + +const struct ddb_info ddb_cis = { + .type = DDB_OCTOPUS_CI, + .name = "Digital Devices Octopus CI single", + .regmap = &octopus_map, + .port_num = 3, + .i2c_mask = 0x03, +}; + +const struct ddb_info ddb_ci_s2_pro = { + .type = DDB_OCTOPUS_CI, + .name = "Digital Devices Octopus CI S2 Pro", + .regmap = &octopus_map, + .port_num = 4, + .i2c_mask = 0x01, + .board_control = 2, + .board_control_2 = 4, +}; + +const struct ddb_info ddb_ci_s2_pro_a = { + .type = DDB_OCTOPUS_CI, + .name = "Digital Devices Octopus CI S2 Pro Advanced", + .regmap = &octopus_map, + .port_num = 4, + .i2c_mask = 0x01, + .board_control = 2, + .board_control_2 = 4, +}; + +const struct ddb_info ddb_dvbct = { + .type = DDB_OCTOPUS, + .name = "Digital Devices DVBCT V6.1 DVB adapter", + .regmap = &octopus_map, + .port_num = 3, + .i2c_mask = 0x07, +}; + +/****************************************************************************/ + +const struct ddb_info ddb_ct2_8 = { + .type = DDB_OCTOPUS_MAX_CT, + .name = "Digital Devices MAX A8 CT2", + .regmap = &octopus_map, + .port_num = 4, + .i2c_mask = 0x0f, + .board_control = 0x0ff, + .board_control_2 = 0xf00, + .ts_quirks = TS_QUIRK_SERIAL, + .tempmon_irq = 24, +}; + +const struct ddb_info ddb_c2t2_8 = { + .type = DDB_OCTOPUS_MAX_CT, + .name = "Digital Devices MAX A8 C2T2", + .regmap = &octopus_map, + .port_num = 4, + .i2c_mask = 0x0f, + .board_control = 0x0ff, + .board_control_2 = 0xf00, + .ts_quirks = TS_QUIRK_SERIAL, + .tempmon_irq = 24, +}; + +const struct ddb_info ddb_isdbt_8 = { + .type = DDB_OCTOPUS_MAX_CT, + .name = "Digital Devices MAX A8 ISDBT", + .regmap = &octopus_map, + .port_num = 4, + .i2c_mask = 0x0f, + .board_control = 0x0ff, + .board_control_2 = 0xf00, + .ts_quirks = TS_QUIRK_SERIAL, + .tempmon_irq = 24, +}; + +const struct ddb_info ddb_c2t2i_v0_8 = { + .type = DDB_OCTOPUS_MAX_CT, + .name = "Digital Devices MAX A8 C2T2I V0", + .regmap = &octopus_map, + .port_num = 4, + .i2c_mask = 0x0f, + .board_control = 0x0ff, + .board_control_2 = 0xf00, + .ts_quirks = TS_QUIRK_SERIAL | TS_QUIRK_ALT_OSC, + .tempmon_irq = 24, +}; + +const struct ddb_info ddb_c2t2i_8 = { + .type = DDB_OCTOPUS_MAX_CT, + .name = "Digital Devices MAX A8 C2T2I", + .regmap = &octopus_map, + .port_num = 4, + .i2c_mask = 0x0f, + .board_control = 0x0ff, + .board_control_2 = 0xf00, + .ts_quirks = TS_QUIRK_SERIAL, + .tempmon_irq = 24, +}; diff --git a/drivers/media/pci/ddbridge/ddbridge-hw.h b/drivers/media/pci/ddbridge/ddbridge-hw.h new file mode 100644 index 000000000000..bd52c083c4a5 --- /dev/null +++ b/drivers/media/pci/ddbridge/ddbridge-hw.h @@ -0,0 +1,52 @@ +/* + * ddbridge-hw.h: Digital Devices bridge hardware maps + * + * Copyright (C) 2010-2017 Digital Devices GmbH + * Ralph Metzler + * Marcus Metzler + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * version 2 only, as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#ifndef _DDBRIDGE_HW_H_ +#define _DDBRIDGE_HW_H_ + +#include "ddbridge.h" + +/******************************************************************************/ + +extern const struct ddb_info ddb_none; +extern const struct ddb_info ddb_octopus; +extern const struct ddb_info ddb_octopusv3; +extern const struct ddb_info ddb_octopus_le; +extern const struct ddb_info ddb_octopus_oem; +extern const struct ddb_info ddb_octopus_mini; +extern const struct ddb_info ddb_v6; +extern const struct ddb_info ddb_v6_5; +extern const struct ddb_info ddb_v7; +extern const struct ddb_info ddb_v7a; +extern const struct ddb_info ddb_ctv7; +extern const struct ddb_info ddb_satixS2v3; +extern const struct ddb_info ddb_ci; +extern const struct ddb_info ddb_cis; +extern const struct ddb_info ddb_ci_s2_pro; +extern const struct ddb_info ddb_ci_s2_pro_a; +extern const struct ddb_info ddb_dvbct; + +/****************************************************************************/ + +extern const struct ddb_info ddb_ct2_8; +extern const struct ddb_info ddb_c2t2_8; +extern const struct ddb_info ddb_isdbt_8; +extern const struct ddb_info ddb_c2t2i_v0_8; +extern const struct ddb_info ddb_c2t2i_8; + +#endif /* _DDBRIDGE_HW_H */ diff --git a/drivers/media/pci/ddbridge/ddbridge-main.c b/drivers/media/pci/ddbridge/ddbridge-main.c index de9da6077ec6..fa4f663c5acb 100644 --- a/drivers/media/pci/ddbridge/ddbridge-main.c +++ b/drivers/media/pci/ddbridge/ddbridge-main.c @@ -34,6 +34,7 @@ #include "ddbridge.h" #include "ddbridge-regs.h" +#include "ddbridge-hw.h" #include "ddbridge-io.h" /****************************************************************************/ @@ -277,222 +278,6 @@ static int ddb_probe(struct pci_dev *pdev, /****************************************************************************/ /****************************************************************************/ -static const struct ddb_info ddb_none = { - .type = DDB_NONE, - .name = "unknown Digital Devices PCIe card, install newer driver", - .regmap = &octopus_map, -}; - -static const struct ddb_info ddb_octopus = { - .type = DDB_OCTOPUS, - .name = "Digital Devices Octopus DVB adapter", - .regmap = &octopus_map, - .port_num = 4, - .i2c_mask = 0x0f, -}; - -static const struct ddb_info ddb_octopusv3 = { - .type = DDB_OCTOPUS, - .name = "Digital Devices Octopus V3 DVB adapter", - .regmap = &octopus_map, - .port_num = 4, - .i2c_mask = 0x0f, -}; - -static const struct ddb_info ddb_octopus_le = { - .type = DDB_OCTOPUS, - .name = "Digital Devices Octopus LE DVB adapter", - .regmap = &octopus_map, - .port_num = 2, - .i2c_mask = 0x03, -}; - -static const struct ddb_info ddb_octopus_oem = { - .type = DDB_OCTOPUS, - .name = "Digital Devices Octopus OEM", - .regmap = &octopus_map, - .port_num = 4, - .i2c_mask = 0x0f, - .led_num = 1, - .fan_num = 1, - .temp_num = 1, - .temp_bus = 0, -}; - -static const struct ddb_info ddb_octopus_mini = { - .type = DDB_OCTOPUS, - .name = "Digital Devices Octopus Mini", - .regmap = &octopus_map, - .port_num = 4, - .i2c_mask = 0x0f, -}; - -static const struct ddb_info ddb_v6 = { - .type = DDB_OCTOPUS, - .name = "Digital Devices Cine S2 V6 DVB adapter", - .regmap = &octopus_map, - .port_num = 3, - .i2c_mask = 0x07, -}; - -static const struct ddb_info ddb_v6_5 = { - .type = DDB_OCTOPUS, - .name = "Digital Devices Cine S2 V6.5 DVB adapter", - .regmap = &octopus_map, - .port_num = 4, - .i2c_mask = 0x0f, -}; - -static const struct ddb_info ddb_v7 = { - .type = DDB_OCTOPUS, - .name = "Digital Devices Cine S2 V7 DVB adapter", - .regmap = &octopus_map, - .port_num = 4, - .i2c_mask = 0x0f, - .board_control = 2, - .board_control_2 = 4, - .ts_quirks = TS_QUIRK_REVERSED, -}; - -static const struct ddb_info ddb_v7a = { - .type = DDB_OCTOPUS, - .name = "Digital Devices Cine S2 V7 Advanced DVB adapter", - .regmap = &octopus_map, - .port_num = 4, - .i2c_mask = 0x0f, - .board_control = 2, - .board_control_2 = 4, - .ts_quirks = TS_QUIRK_REVERSED, -}; - -static const struct ddb_info ddb_ctv7 = { - .type = DDB_OCTOPUS, - .name = "Digital Devices Cine CT V7 DVB adapter", - .regmap = &octopus_map, - .port_num = 4, - .i2c_mask = 0x0f, - .board_control = 3, - .board_control_2 = 4, -}; - -static const struct ddb_info ddb_satixS2v3 = { - .type = DDB_OCTOPUS, - .name = "Mystique SaTiX-S2 V3 DVB adapter", - .regmap = &octopus_map, - .port_num = 3, - .i2c_mask = 0x07, -}; - -static const struct ddb_info ddb_ci = { - .type = DDB_OCTOPUS_CI, - .name = "Digital Devices Octopus CI", - .regmap = &octopus_map, - .port_num = 4, - .i2c_mask = 0x03, -}; - -static const struct ddb_info ddb_cis = { - .type = DDB_OCTOPUS_CI, - .name = "Digital Devices Octopus CI single", - .regmap = &octopus_map, - .port_num = 3, - .i2c_mask = 0x03, -}; - -static const struct ddb_info ddb_ci_s2_pro = { - .type = DDB_OCTOPUS_CI, - .name = "Digital Devices Octopus CI S2 Pro", - .regmap = &octopus_map, - .port_num = 4, - .i2c_mask = 0x01, - .board_control = 2, - .board_control_2 = 4, -}; - -static const struct ddb_info ddb_ci_s2_pro_a = { - .type = DDB_OCTOPUS_CI, - .name = "Digital Devices Octopus CI S2 Pro Advanced", - .regmap = &octopus_map, - .port_num = 4, - .i2c_mask = 0x01, - .board_control = 2, - .board_control_2 = 4, -}; - -static const struct ddb_info ddb_dvbct = { - .type = DDB_OCTOPUS, - .name = "Digital Devices DVBCT V6.1 DVB adapter", - .regmap = &octopus_map, - .port_num = 3, - .i2c_mask = 0x07, -}; - -/****************************************************************************/ - -static struct ddb_info ddb_ct2_8 = { - .type = DDB_OCTOPUS_MAX_CT, - .name = "Digital Devices MAX A8 CT2", - .regmap = &octopus_map, - .port_num = 4, - .i2c_mask = 0x0f, - .board_control = 0x0ff, - .board_control_2 = 0xf00, - .ts_quirks = TS_QUIRK_SERIAL, - .tempmon_irq = 24, -}; - -static struct ddb_info ddb_c2t2_8 = { - .type = DDB_OCTOPUS_MAX_CT, - .name = "Digital Devices MAX A8 C2T2", - .regmap = &octopus_map, - .port_num = 4, - .i2c_mask = 0x0f, - .board_control = 0x0ff, - .board_control_2 = 0xf00, - .ts_quirks = TS_QUIRK_SERIAL, - .tempmon_irq = 24, -}; - -static struct ddb_info ddb_isdbt_8 = { - .type = DDB_OCTOPUS_MAX_CT, - .name = "Digital Devices MAX A8 ISDBT", - .regmap = &octopus_map, - .port_num = 4, - .i2c_mask = 0x0f, - .board_control = 0x0ff, - .board_control_2 = 0xf00, - .ts_quirks = TS_QUIRK_SERIAL, - .tempmon_irq = 24, -}; - -static struct ddb_info ddb_c2t2i_v0_8 = { - .type = DDB_OCTOPUS_MAX_CT, - .name = "Digital Devices MAX A8 C2T2I V0", - .regmap = &octopus_map, - .port_num = 4, - .i2c_mask = 0x0f, - .board_control = 0x0ff, - .board_control_2 = 0xf00, - .ts_quirks = TS_QUIRK_SERIAL | TS_QUIRK_ALT_OSC, - .tempmon_irq = 24, -}; - -static struct ddb_info ddb_c2t2i_8 = { - .type = DDB_OCTOPUS_MAX_CT, - .name = "Digital Devices MAX A8 C2T2I", - .regmap = &octopus_map, - .port_num = 4, - .i2c_mask = 0x0f, - .board_control = 0x0ff, - .board_control_2 = 0xf00, - .ts_quirks = TS_QUIRK_SERIAL, - .tempmon_irq = 24, -}; - -/****************************************************************************/ -/****************************************************************************/ -/****************************************************************************/ - #define DDVID 0xdd01 /* Digital Devices Vendor ID */ #define DDB_DEVICE(_device, _subdevice, _driver_data) { \ diff --git a/drivers/media/pci/ddbridge/ddbridge.h b/drivers/media/pci/ddbridge/ddbridge.h index b0064fa7aadf..96a904516627 100644 --- a/drivers/media/pci/ddbridge/ddbridge.h +++ b/drivers/media/pci/ddbridge/ddbridge.h @@ -369,7 +369,6 @@ extern int stv0910_single; extern struct workqueue_struct *ddb_wq; /* ddbridge-core.c */ -extern struct ddb_regmap octopus_map; void ddb_ports_detach(struct ddb *dev); void ddb_ports_release(struct ddb *dev); void ddb_buffers_free(struct ddb *dev);