From de005fec4b14e98c7fd9a4b6063f1c616ecd5731 Mon Sep 17 00:00:00 2001 From: Bjorn Helgaas Date: Fri, 5 Jun 2009 14:37:23 +0000 Subject: [PATCH] --- yaml --- r: 148703 b: refs/heads/master c: 1b8e69662e1a086878bf930a6042daf7f8a076cc h: refs/heads/master i: 148701: 4aeb8b5331619f35830964f18409b1085630fcff 148699: e8e8e675ef06c47e9398c3c6a7ed4b6818c2b852 148695: d60973c84962a33c18caa5645d0af54d83ee0f05 148687: 8d151f56a88b5322773f673093f045ad070d1280 148671: 7ceb5a818c3b8396af4b59f436ab25edb39d7630 v: v3 --- [refs] | 2 +- trunk/drivers/pnp/resource.c | 18 ++++++++++++++++++ trunk/include/linux/pnp.h | 2 ++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 779e918f7fee..4f9bb649e188 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b66d18ddb16603d1e1ec39cb2ff3abf3fd212180 +refs/heads/master: 1b8e69662e1a086878bf930a6042daf7f8a076cc diff --git a/trunk/drivers/pnp/resource.c b/trunk/drivers/pnp/resource.c index f604061d2bb0..ba9765427886 100644 --- a/trunk/drivers/pnp/resource.c +++ b/trunk/drivers/pnp/resource.c @@ -638,6 +638,24 @@ int pnp_possible_config(struct pnp_dev *dev, int type, resource_size_t start, } EXPORT_SYMBOL(pnp_possible_config); +int pnp_range_reserved(resource_size_t start, resource_size_t end) +{ + struct pnp_dev *dev; + struct pnp_resource *pnp_res; + resource_size_t *dev_start, *dev_end; + + pnp_for_each_dev(dev) { + list_for_each_entry(pnp_res, &dev->resources, list) { + dev_start = &pnp_res->res.start; + dev_end = &pnp_res->res.end; + if (ranged_conflict(&start, &end, dev_start, dev_end)) + return 1; + } + } + return 0; +} +EXPORT_SYMBOL(pnp_range_reserved); + /* format is: pnp_reserve_irq=irq1[,irq2] .... */ static int __init pnp_setup_reserve_irq(char *str) { diff --git a/trunk/include/linux/pnp.h b/trunk/include/linux/pnp.h index ca3c88773028..b063c7328ba5 100644 --- a/trunk/include/linux/pnp.h +++ b/trunk/include/linux/pnp.h @@ -446,6 +446,7 @@ int pnp_start_dev(struct pnp_dev *dev); int pnp_stop_dev(struct pnp_dev *dev); int pnp_activate_dev(struct pnp_dev *dev); int pnp_disable_dev(struct pnp_dev *dev); +int pnp_range_reserved(resource_size_t start, resource_size_t end); /* protocol helpers */ int pnp_is_active(struct pnp_dev *dev); @@ -476,6 +477,7 @@ static inline int pnp_start_dev(struct pnp_dev *dev) { return -ENODEV; } static inline int pnp_stop_dev(struct pnp_dev *dev) { return -ENODEV; } static inline int pnp_activate_dev(struct pnp_dev *dev) { return -ENODEV; } static inline int pnp_disable_dev(struct pnp_dev *dev) { return -ENODEV; } +static inline int pnp_range_reserved(resource_size_t start, resource_size_t end) { return 0;} /* protocol helpers */ static inline int pnp_is_active(struct pnp_dev *dev) { return 0; }