Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3879353pxb; Sat, 13 Feb 2021 12:36:14 -0800 (PST) X-Google-Smtp-Source: ABdhPJywQOH46o+aRoPy1xEFiKVeJOI5OzzPBKVz/4uDwSBO0HqWv2EB86mEOo5FtrspfkY0fSSb X-Received: by 2002:a17:906:5495:: with SMTP id r21mr8877064ejo.59.1613248574238; Sat, 13 Feb 2021 12:36:14 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1613248574; cv=pass; d=google.com; s=arc-20160816; b=qZU7iwSJsMiU+4oWQcZoT5RiUpVDOxk5Z/N7yPCoxn9R/VL60Rgl9W3kwjgusTUkA6 +hHnc21cWd8Tk4RDUd9O8kJuYiZGq8Vm58Z3GlzphGhmImjnUwhg+i0jvho7ZRY9MkOn jg2Jyv+NaUWgKCVmgXcvw+1/yZ5kLKvVXWoUHGy9TzsL8E4+2byYNI2RKpwmeGBpHj0X FMi+uvF/vM6vj+/uCLr/uMeZH8cN89S4Z/b8RsmRXvU6dTDDLCHNgefDbYAIhykbprJ6 W9abMp1VLGa+A58DsK4isKKyj7asuSWxe+JrE9ZhYqNwftjUEA1dfk+mlxCHTeUVdLgF xSEQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature:dkim-signature; bh=JoyTEj+PrV7SCZoc0XxHEWisGhFJH5HLqLZz48p92DY=; b=HsDAw3UUL9mZe+0finAAS59dagnY4jyteY1ash2xhfX7Js8B/vzs2zbyPNM2nx8lWj MB7rxxqjs7fOEzHtA6Bwdz9U9qQoNv2SmXtf38YhoM8HCbOKNzb+KTNpW1N+LeV8W2Mi EH4p0trDmgqkHaSexMQPwd5AmXbVR7MfVCft3FPMi0lfDTRuAy3IvX7I5VGzTOmoWG6M Mutf+c6uybcd0LzZcRs+pajacj0fNuTZ+zz1i1vny0rir7oaGjt1L9R6AScck54UdmWW u2lmh2lHEN1RWNXTv74JXp0+OrDJUanbUhs4WilRW1W4vV5t3jvCkaOLUkngECMvz03H WbbQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2020-01-29 header.b=UnOGK7ee; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=I0YXw+YH; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a3si1599359edm.520.2021.02.13.12.35.50; Sat, 13 Feb 2021 12:36:14 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2020-01-29 header.b=UnOGK7ee; dkim=pass header.i=@oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=I0YXw+YH; arc=pass (i=1 spf=pass spfdomain=oracle.com dkim=pass dkdomain=oracle.com dmarc=pass fromdomain=oracle.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229787AbhBMUdY (ORCPT + 99 others); Sat, 13 Feb 2021 15:33:24 -0500 Received: from userp2120.oracle.com ([156.151.31.85]:55820 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229733AbhBMUdN (ORCPT ); Sat, 13 Feb 2021 15:33:13 -0500 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 11DKVUUm193125; Sat, 13 Feb 2021 20:32:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-type : mime-version; s=corp-2020-01-29; bh=JoyTEj+PrV7SCZoc0XxHEWisGhFJH5HLqLZz48p92DY=; b=UnOGK7eeUTuixN7BI1T4umAaqi9PGFI57jgV2dR+WbVqFS2FEyaemEcVX9spNISwoe55 hUdH26HtaM53gtxciqk01SirhCpov5KsNocIXJTknfGWhisDAZuq9wokfMedZVwkhYDH HWtzz5YIvHGkdnJvfxCM6zLziqDhk0IlaCpkY75AagpUMNXmuasdY9QOptCyybh8gGxF zJDJ3L20g69/Qc/LGrDMIqSWEz1afaT2oxA5b+nOj//0gALs4hrgAhpEg44ezB4XtNwn 1PVjqiljDliagd3O57gGH9rKexMpAbE+Eep97gndXW8SKMiTd01rcRgPg+xHQ3AvtOtP CQ== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by userp2120.oracle.com with ESMTP id 36p7dn8yah-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 13 Feb 2021 20:32:08 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 11DKTuqA093977; Sat, 13 Feb 2021 20:32:07 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2170.outbound.protection.outlook.com [104.47.57.170]) by aserp3020.oracle.com with ESMTP id 36p6k0226r-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 13 Feb 2021 20:32:07 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hnmJihcMo89dVd/HVtRyPV7iBe+J1948F77LpNk0B0TjRNwAJSQivSvniVNvwyehjTdsLzNp1JR9Z0NCEslNV4hd7FWL224c9xC1Ss8JaraCp/srvfMO+EHVCcp8uPqzuAGMqbz3/q0BwKk47S3EH9G5STJx+contHK/QCLnLITlkry7XgkDNM+QMKXIRzvsrvlBAJk2KFR4TeKB0bqhMUbqixZcrjvt+LpAJQp1FmTwInZBZdf21GtcRYHdjo3xZleodCmJwwVkBEOKN262Spf/o/NaJKi9UguFAgGNItqPOYj33CFeB77+MUjDygS8+BNUwsQ6FilpOme6rnktPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JoyTEj+PrV7SCZoc0XxHEWisGhFJH5HLqLZz48p92DY=; b=Gv9K1giLo8C7d0DV3yJOQ23fV/8f7/NK2Oclf/+G+JU2n4QyvNT4kwtdVxIccCFn9lI0m05+NK2snPh/mh91gxvXeM9pULhL7Ebpw1zaDdO6PQR6gMRS3iYnQaSkQqGm+rBRdb7MaSJTMqlDdq/Sl0RfTXgXjmCwSx15bWOuTzEADqZusIBJ6rE55oakhxCBDRpug0Ua7goVaLYikvyoS1Hj0T53Jx4FdOAnaO+w4x5L4Q+yM+wuiFu704S/1FxfFfsn0lfNIytNd9PuoGcXRfJkhJcwlst7Weewom/6hBQxou/nP3vdSgf2E5+bG7vYi8VYMSa+AeCvR95TaJwaNw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JoyTEj+PrV7SCZoc0XxHEWisGhFJH5HLqLZz48p92DY=; b=I0YXw+YHygTytTIzL/QvmRzXRufjKbkRMnlHHUJAmO8EXKHP+GrO3BE33IgkZWcgocppcaKBrAYJzfYP6cBQ2OBeDBu6utXjFCnl4qcp43X4yRfjwjp2jJPQZkupE6rZtra5wF5tO53aop0TIoxe4DV09W7AJARLwcXWHcF6mKA= Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=oracle.com; Received: from MWHPR1001MB2285.namprd10.prod.outlook.com (2603:10b6:301:2e::32) by MWHPR1001MB2286.namprd10.prod.outlook.com (2603:10b6:301:2d::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.27; Sat, 13 Feb 2021 20:32:06 +0000 Received: from MWHPR1001MB2285.namprd10.prod.outlook.com ([fe80::f48a:d4cb:d74c:48ba]) by MWHPR1001MB2285.namprd10.prod.outlook.com ([fe80::f48a:d4cb:d74c:48ba%6]) with mapi id 15.20.3846.038; Sat, 13 Feb 2021 20:32:06 +0000 From: Mihai Carabas To: linux-kernel@vger.kernel.org Cc: gregkh@linuxfoundation.org, arnd@arndb.de, rdunlap@infradead.org, bobo.shaobowang@huawei.com, Mihai Carabas Subject: [PATCH v4 3/3] misc/pvpanic: add PCI driver Date: Sat, 13 Feb 2021 21:44:07 +0200 Message-Id: <1613245447-21495-4-git-send-email-mihai.carabas@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1613245447-21495-1-git-send-email-mihai.carabas@oracle.com> References: <1613245447-21495-1-git-send-email-mihai.carabas@oracle.com> Content-Type: text/plain X-Originating-IP: [138.3.200.25] X-ClientProxiedBy: SJ0PR13CA0013.namprd13.prod.outlook.com (2603:10b6:a03:2c0::18) To MWHPR1001MB2285.namprd10.prod.outlook.com (2603:10b6:301:2e::32) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from mihai.localdomain (138.3.200.25) by SJ0PR13CA0013.namprd13.prod.outlook.com (2603:10b6:a03:2c0::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3868.12 via Frontend Transport; Sat, 13 Feb 2021 20:32:05 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6415fff1-b83b-4a68-718c-08d8d05e6df4 X-MS-TrafficTypeDiagnostic: MWHPR1001MB2286: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:418; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OUMsd8+s/bbrJkSuEkSxBHzXqrhwUkfd8K38cPPdYvW50Cse3DzCL2CNCJ2v+NDUJo8ZC9uAPoQ12WTkutK2lNpT2CDFBTgPSMiAPjIP8zAmHH9ylTx4czKSh03NNtK4Z4HBb0GQ6FJvuEVAG6INen+qk9bvMrriy04rlsSNViUMiC/wVk/uPN8WGQXhg8zFJNzMEqlNsxOgcvtTqmlxKtDC6hytgDePmbIMa+wTtJbZH9y9K0VpyVv05+4Z63kKs2xPZJ6KrMajEHmINugYAeq23MKJNc8LjCrLDYuxsY5dfmboGe4oCahefOyygUm2LFMg4jMguyhcBcQjPKbUSCCXUO7G/MWCbEWJpq061FH/bORIVLg1+4o0toqWlwUfoau+hgsz1ikX++igdWLlolwihR1N6p+C5lwjqRHjPcg6/vhlH+sGpZxua4StgkhWF/j/QjV+BtOjMcs7DvFy1O4FOfdiaEfgiT+0XR3MdWHaZ4AC7Y97glUEe0KxFQpfj7+Ia5JkVDjxSgTeEJbiz8kQFWt16+uMLxG6+x69/FLL5DZdu0af6XSYq/PoxXJqU9v+GaUoql9gGB+G11pCA7rijj0pRG9RQwZoHti+zI8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1001MB2285.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(396003)(136003)(376002)(346002)(39860400002)(6916009)(66556008)(66476007)(52116002)(478600001)(966005)(86362001)(66946007)(8936002)(4326008)(36756003)(16526019)(26005)(186003)(6512007)(6506007)(5660300002)(316002)(107886003)(8676002)(6486002)(2906002)(956004)(44832011)(2616005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?icak2iomhxwtGksKoMle2rMXh3tNYo8XDZNuDln5tt9NJAesAPty2FJueMMa?= =?us-ascii?Q?FC97Cj0lopIoKM0Bzrj+Pof6nCF4XX1Ubxsc75rUgVEUzxvaZH2RbXWWaah2?= =?us-ascii?Q?iN03sVrMwGRhcB4kG5w+fTEs2WLCKPVM++aW9w2I1RDBbf2p71pf0z90F1n4?= =?us-ascii?Q?9Q2UVgCWIyW2MVveZy+a4BFCSaIJjL/G9exdQ6FoOFlx+FKy5AlV9bN7y48j?= =?us-ascii?Q?QVVV1h/mwjZUazKFRf/9CpQ0iKMl7jaC/IlxL32aHbl4++8cthvyC2+9z26q?= =?us-ascii?Q?pfWNMaFpmTDKt2ajpAC7zWV4iNMU1clzVYyGtIkZFDcH1sNGx+kMt5U5uwTn?= =?us-ascii?Q?8iZUblMggUV+QKLpXR3WxG7yD1V6lgNmjl/kJaspACO+0GZ+Pfj96LpKBEBb?= =?us-ascii?Q?ew6yVfTD2Gyd66qw1gH8k/YfV8Vabh107J4I7BXLMdLwmGmauH8D/RT+NfQu?= =?us-ascii?Q?qO2Pf9HcfPCedez+IDzh8z17/YHYPnJ4LVQoTu8XiK/0kt/wpADSCc6WpKp7?= =?us-ascii?Q?05yBnTQWdppEZyFMQaVIu6zs2VV1w55ypAEXDd/HoaNhYKYVeviLdOphTH4G?= =?us-ascii?Q?9nZEnFBPD1LXdQfkdohAmJXpVgQH/gZJ3VJZVBAmaY7P2ZA8CqydT89vmXmH?= =?us-ascii?Q?WRVi3ZKtQamfVwdofH1D/wcy8fG6vnp8kq55LfvYNNz2V46xy8tBiOp57fgP?= =?us-ascii?Q?EobVlq58fkP91MJ9Xs9BTGRUJQ5DG4K/GBBJW60+aOUQfrggsKCi17HQTZkI?= =?us-ascii?Q?P0G/9NJCZiud7TV9c1ytEfJkFdV42U1A/Hc0jnPC7UuNeCDM2qf/QW97ufFa?= =?us-ascii?Q?2wszcjRgt2P6k+dktFM2wVxQmuE1aJGz7j4ylGrGcNW4rQTLzE1469jDwBxU?= =?us-ascii?Q?ODQp1HohpCESgCeyYdQwcCLOBhJVoEkPvqw/tZyb3WUYb/sLd6F+JRP6PoTO?= =?us-ascii?Q?lEcrbPB2RWH6tiVrPOM4r4Lu+sVlaDleDPyb8Ozzqkw6FJzN+ztADHYNgYdO?= =?us-ascii?Q?5B59AOSgl97SJjvl/bITkq8uet5V6FvgOW+yJh/F7KQpKeG1H126RjJnNf6u?= =?us-ascii?Q?Tt3Q3pwgXacWBypBkSmPACVhj3JgJuHGDwSb/onT2CHZoqr9SU+NDsGLgaPm?= =?us-ascii?Q?EuKVe9s5cb9NEplI7rcypc17FCAtr/8cDFv3+VSutxkbcttyBbl7Q4ZnlYYK?= =?us-ascii?Q?iyuegSmXzG+MPDLZdQ4QuuUoXNp8G1LQfrVJ5W1YPOj7hgii3O/H+r1qkp2E?= =?us-ascii?Q?bzM5wSSuWiNeabfDa0J8hPoXMmYBOv9d++yVlaUns1u7e8O4580X7dhT5fbX?= =?us-ascii?Q?UddnsVDShxFBxTIgfntY1QGw?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6415fff1-b83b-4a68-718c-08d8d05e6df4 X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2285.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Feb 2021 20:32:06.5463 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 327mHsP7wy4Ff2kyqnr6oNjMqWxPm93Be06ZwcLbmNz9Cc6SDy+VKlL2FIEwPs/iHwkGP/Jm05eyuVlKW8KXMvLr4DHpqLldkNisScqqeUE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1001MB2286 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9894 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 bulkscore=0 suspectscore=0 mlxscore=0 adultscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2102130190 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9894 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 suspectscore=0 mlxscore=0 phishscore=0 spamscore=0 adultscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 lowpriorityscore=0 malwarescore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2102130190 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add support for pvpanic PCI device added in qemu [1]. At probe time, obtain the address where to read/write pvpanic events and pass it to the generic handling code. Will follow the same logic as pvpanic MMIO device driver. At remove time, unmap base address and disable PCI device. [1] https://github.com/qemu/qemu/commit/9df52f58e76e904fb141b10318362d718f470db2 Signed-off-by: Mihai Carabas --- drivers/misc/pvpanic/Kconfig | 6 +++++ drivers/misc/pvpanic/Makefile | 1 + drivers/misc/pvpanic/pvpanic-pci.c | 54 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 drivers/misc/pvpanic/pvpanic-pci.c diff --git a/drivers/misc/pvpanic/Kconfig b/drivers/misc/pvpanic/Kconfig index 454f1ee..9a081ed 100644 --- a/drivers/misc/pvpanic/Kconfig +++ b/drivers/misc/pvpanic/Kconfig @@ -17,3 +17,9 @@ config PVPANIC_MMIO depends on HAS_IOMEM && (ACPI || OF) && PVPANIC help This driver provides support for the MMIO pvpanic device. + +config PVPANIC_PCI + tristate "pvpanic PCI device support" + depends on PCI && PVPANIC + help + This driver provides support for the PCI pvpanic device. diff --git a/drivers/misc/pvpanic/Makefile b/drivers/misc/pvpanic/Makefile index e12a2dc..9471df7 100644 --- a/drivers/misc/pvpanic/Makefile +++ b/drivers/misc/pvpanic/Makefile @@ -5,3 +5,4 @@ # Copyright (C) 2021 Oracle. # obj-$(CONFIG_PVPANIC_MMIO) += pvpanic.o pvpanic-mmio.o +obj-$(CONFIG_PVPANIC_PCI) += pvpanic.o pvpanic-pci.o diff --git a/drivers/misc/pvpanic/pvpanic-pci.c b/drivers/misc/pvpanic/pvpanic-pci.c new file mode 100644 index 00000000..af94ab8 --- /dev/null +++ b/drivers/misc/pvpanic/pvpanic-pci.c @@ -0,0 +1,54 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Pvpanic PCI Device Support + * + * Copyright (C) 2021 Oracle. +*/ + +#include +#include +#include +#include +#include "pvpanic.h" + +#define PCI_VENDOR_ID_REDHAT 0x1b36 +#define PCI_DEVICE_ID_REDHAT_PVPANIC 0x0011 + +static void __iomem *base; +static const struct pci_device_id pvpanic_pci_id_tbl[] = { + { PCI_DEVICE(PCI_VENDOR_ID_REDHAT, PCI_DEVICE_ID_REDHAT_PVPANIC),}, + {} +}; + +static int pvpanic_pci_probe(struct pci_dev *pdev, + const struct pci_device_id *ent) +{ + int ret; + struct resource res; + + ret = pci_enable_device(pdev); + if (ret < 0) + return ret; + + base = pci_iomap(pdev, 0, 0); + if (IS_ERR(base)) + return PTR_ERR(base); + + return pvpanic_probe(base); +} + +static void pvpanic_pci_remove(struct pci_dev *pdev) +{ + pvpanic_remove(base); + iounmap(base); + pci_disable_device(pdev); +} + +static struct pci_driver pvpanic_pci_driver = { + .name = "pvpanic-pci", + .id_table = pvpanic_pci_id_tbl, + .probe = pvpanic_pci_probe, + .remove = pvpanic_pci_remove, +}; + +module_pci_driver(pvpanic_pci_driver); -- 1.8.3.1