From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-1-out2.atlantis.sk ([80.94.52.71]:55095 "EHLO mail.atlantis.sk" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932167Ab2CEUbU (ORCPT ); Mon, 5 Mar 2012 15:31:20 -0500 From: Ondrej Zary To: Hans Verkuil Subject: [PATCH 2/2] radio-gemtek: add PnP support for AOpen FX-3D/Pro Radio Date: Mon, 5 Mar 2012 21:30:59 +0100 Cc: linux-media@vger.kernel.org References: <201203012025.08605.linux@rainbow-software.org> <201203020955.16196.hverkuil@xs4all.nl> In-Reply-To: <201203020955.16196.hverkuil@xs4all.nl> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <201203052131.02857.linux@rainbow-software.org> Sender: linux-media-owner@vger.kernel.org List-ID: Add PnP support to radio-gemtek for AOpen FX-3D/Pro Radio card (AD1816 + Gemtek radio). Signed-off-by: Ondrej Zary diff --git a/drivers/media/radio/radio-gemtek.c b/drivers/media/radio/radio-gemtek.c index 9d7fdae..6ea0e23 100644 --- a/drivers/media/radio/radio-gemtek.c +++ b/drivers/media/radio/radio-gemtek.c @@ -29,6 +29,8 @@ #include /* kernel radio structs */ #include #include /* outb, outb_p */ +#include +#include #include #include #include "radio-isa.h" @@ -282,6 +284,16 @@ static const struct radio_isa_ops gemtek_ops = { static const int gemtek_ioports[] = { 0x20c, 0x30c, 0x24c, 0x34c, 0x248, 0x28c }; +#ifdef CONFIG_PNP +static struct pnp_device_id gemtek_pnp_devices[] = { + /* AOpen FX-3D/Pro Radio */ + {.id = "ADS7183", .driver_data = 0}, + {.id = ""} +}; + +MODULE_DEVICE_TABLE(pnp, gemtek_pnp_devices); +#endif + static struct radio_isa_driver gemtek_driver = { .driver = { .match = radio_isa_match, @@ -291,6 +303,14 @@ static struct radio_isa_driver gemtek_driver = { .name = "radio-gemtek", }, }, +#ifdef CONFIG_PNP + .pnp_driver = { + .name = "radio-gemtek", + .id_table = gemtek_pnp_devices, + .probe = radio_isa_pnp_probe, + .remove = radio_isa_pnp_remove, + }, +#endif .io_params = io, .radio_nr_params = radio_nr, .io_ports = gemtek_ioports, @@ -304,12 +324,14 @@ static struct radio_isa_driver gemtek_driver = { static int __init gemtek_init(void) { gemtek_driver.probe = probe; + pnp_register_driver(&gemtek_driver.pnp_driver); return isa_register_driver(&gemtek_driver.driver, GEMTEK_MAX); } static void __exit gemtek_exit(void) { hardmute = 1; /* Turn off PLL */ + pnp_unregister_driver(&gemtek_driver.pnp_driver); isa_unregister_driver(&gemtek_driver.driver); } -- Ondrej Zary