aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pnp/manager.c
diff options
context:
space:
mode:
authorBjorn Helgaas <bjorn.helgaas@hp.com>2008-04-28 18:34:11 -0400
committerLen Brown <len.brown@intel.com>2008-04-29 03:22:22 -0400
commit2cd1393098073426256cb4543c897f8c340d0b93 (patch)
tree159de386797a010e13e3ae3756da0f3056b15cab /drivers/pnp/manager.c
parent6969c7ed558cf5e9eff01734be0174a296938092 (diff)
PNP: remove unused interfaces using pnp_resource_table
Rene Herman <rene.herman@gmail.com> recently removed the only in-tree driver uses of: pnp_init_resource_table() pnp_manual_config_dev() pnp_resource_change() in this change: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=109c53f840e551d6e99ecfd8b0131a968332c89f These are no longer used in the PNP core either, so we can just remove them completely. It's possible that there are out-of-tree drivers that use these interfaces. They should be changed to either (1) use PNP quirks to work around broken hardware or firmware, or (2) use the sysfs interfaces to control resource usage from userspace. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Acked-By: Rene Herman <rene.herman@gmail.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/pnp/manager.c')
-rw-r--r--drivers/pnp/manager.c78
1 files changed, 2 insertions, 76 deletions
diff --git a/drivers/pnp/manager.c b/drivers/pnp/manager.c
index 2251dd7da062..d407c07b5b9d 100644
--- a/drivers/pnp/manager.c
+++ b/drivers/pnp/manager.c
@@ -238,8 +238,9 @@ static void pnp_assign_dma(struct pnp_dev *dev, struct pnp_dma *rule, int idx)
238 * pnp_init_resources - Resets a resource table to default values. 238 * pnp_init_resources - Resets a resource table to default values.
239 * @table: pointer to the desired resource table 239 * @table: pointer to the desired resource table
240 */ 240 */
241void pnp_init_resource_table(struct pnp_resource_table *table) 241void pnp_init_resources(struct pnp_dev *dev)
242{ 242{
243 struct pnp_resource_table *table = &dev->res;
243 int idx; 244 int idx;
244 245
245 for (idx = 0; idx < PNP_MAX_IRQ; idx++) { 246 for (idx = 0; idx < PNP_MAX_IRQ; idx++) {
@@ -272,11 +273,6 @@ void pnp_init_resource_table(struct pnp_resource_table *table)
272 } 273 }
273} 274}
274 275
275void pnp_init_resources(struct pnp_dev *dev)
276{
277 pnp_init_resource_table(&dev->res);
278}
279
280/** 276/**
281 * pnp_clean_resources - clears resources that were not manually set 277 * pnp_clean_resources - clears resources that were not manually set
282 * @res: the resources to clean 278 * @res: the resources to clean
@@ -423,59 +419,6 @@ fail:
423} 419}
424 420
425/** 421/**
426 * pnp_manual_config_dev - Disables Auto Config and Manually sets the resource table
427 * @dev: pointer to the desired device
428 * @res: pointer to the new resource config
429 * @mode: 0 or PNP_CONFIG_FORCE
430 *
431 * This function can be used by drivers that want to manually set thier resources.
432 */
433int pnp_manual_config_dev(struct pnp_dev *dev, struct pnp_resource_table *res,
434 int mode)
435{
436 int i;
437 struct pnp_resource_table *bak;
438
439 if (!pnp_can_configure(dev))
440 return -ENODEV;
441 bak = pnp_alloc(sizeof(struct pnp_resource_table));
442 if (!bak)
443 return -ENOMEM;
444 *bak = dev->res;
445
446 mutex_lock(&pnp_res_mutex);
447 dev->res = *res;
448 if (!(mode & PNP_CONFIG_FORCE)) {
449 for (i = 0; i < PNP_MAX_PORT; i++) {
450 if (!pnp_check_port(dev, i))
451 goto fail;
452 }
453 for (i = 0; i < PNP_MAX_MEM; i++) {
454 if (!pnp_check_mem(dev, i))
455 goto fail;
456 }
457 for (i = 0; i < PNP_MAX_IRQ; i++) {
458 if (!pnp_check_irq(dev, i))
459 goto fail;
460 }
461 for (i = 0; i < PNP_MAX_DMA; i++) {
462 if (!pnp_check_dma(dev, i))
463 goto fail;
464 }
465 }
466 mutex_unlock(&pnp_res_mutex);
467
468 kfree(bak);
469 return 0;
470
471fail:
472 dev->res = *bak;
473 mutex_unlock(&pnp_res_mutex);
474 kfree(bak);
475 return -EINVAL;
476}
477
478/**
479 * pnp_auto_config_dev - automatically assigns resources to a device 422 * pnp_auto_config_dev - automatically assigns resources to a device
480 * @dev: pointer to the desired device 423 * @dev: pointer to the desired device
481 */ 424 */
@@ -602,24 +545,7 @@ int pnp_disable_dev(struct pnp_dev *dev)
602 return 0; 545 return 0;
603} 546}
604 547
605/**
606 * pnp_resource_change - change one resource
607 * @resource: pointer to resource to be changed
608 * @start: start of region
609 * @size: size of region
610 */
611void pnp_resource_change(struct resource *resource, resource_size_t start,
612 resource_size_t size)
613{
614 resource->flags &= ~(IORESOURCE_AUTO | IORESOURCE_UNSET);
615 resource->start = start;
616 resource->end = start + size - 1;
617}
618
619EXPORT_SYMBOL(pnp_manual_config_dev);
620EXPORT_SYMBOL(pnp_start_dev); 548EXPORT_SYMBOL(pnp_start_dev);
621EXPORT_SYMBOL(pnp_stop_dev); 549EXPORT_SYMBOL(pnp_stop_dev);
622EXPORT_SYMBOL(pnp_activate_dev); 550EXPORT_SYMBOL(pnp_activate_dev);
623EXPORT_SYMBOL(pnp_disable_dev); 551EXPORT_SYMBOL(pnp_disable_dev);
624EXPORT_SYMBOL(pnp_resource_change);
625EXPORT_SYMBOL(pnp_init_resource_table);