19 #if defined(CONFIG_PNP) && \ 20 (defined(CONFIG_XENO_DRIVERS_16550A_PIO) || \ 21 defined(CONFIG_XENO_DRIVERS_16550A_ANY)) 23 #include <linux/pnp.h> 25 #define UNKNOWN_DEV 0x3000 28 static const struct pnp_device_id rt_16550_pnp_tbl[] = {
340 {
"PNPCXXX", UNKNOWN_DEV },
342 {
"PNPDXXX", UNKNOWN_DEV },
346 static int rt_16550_pnp_probe(
struct pnp_dev *dev,
347 const struct pnp_device_id *dev_id)
351 for (i = 0; i < MAX_DEVICES; i++)
352 if (pnp_port_valid(dev, 0) &&
353 pnp_port_start(dev, 0) == io[i]) {
355 irq[i] = pnp_irq(dev, 0);
362 static struct pnp_driver rt_16550_pnp_driver = {
363 .name = RT_16550_DRIVER_NAME,
364 .id_table = rt_16550_pnp_tbl,
365 .probe = rt_16550_pnp_probe,
368 static int pnp_registered;
370 static inline void rt_16550_pnp_init(
void)
372 if (pnp_register_driver(&rt_16550_pnp_driver) == 0)
376 static inline void rt_16550_pnp_cleanup(
void)
379 pnp_unregister_driver(&rt_16550_pnp_driver);
384 #define rt_16550_pnp_init() do { } while (0) 385 #define rt_16550_pnp_cleanup() do { } while (0)