radio-gemtek: add PnP support for AOpen FX-3D/Pro Radio
Subsystems (2)
PATCH RESEND v2 2/2 radio-gemtek: add PnP support for AOpen FX-3D/Pro Radio
Add PnP support to radio-gemtek for AOpen FX-3D/Pro Radio card (AD1816 + Gemtek radio).
Signed-off-by Ondrej Zary <[email protected]>
drivers/media/radio/radio-gemtek.c +26 -0
@@ -29,6 +29,8 @@#include <linux/videodev2.h> /* kernel radio structs */ #include <linux/mutex.h> #include <linux/io.h> /* outb, outb_p */ +#include <linux/pnp.h> +#include <linux/slab.h> #include <media/v4l2-ioctl.h> #include <media/v4l2-device.h> #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,18 @@ static struct radio_isa_driver gemtek_driver = {static int __init gemtek_init (void ) { gemtek_driver.probe = probe; +#ifdef CONFIG_PNP +pnp_register_driver (&gemtek_driver.pnp_driver); +#endif return isa_register_driver (&gemtek_driver.driver,GEMTEK_MAX ); } static void __exit gemtek_exit(void) { hardmute =1 ;/* Turn off PLL */ +#ifdef CONFIG_PNP +pnp_unregister_driver (&gemtek_driver.pnp_driver); +#endif isa_unregister_driver (&gemtek_driver.driver); }
Signature · 1 line
Ondrej Zary