Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 95565
b: refs/heads/master
c: 2cd1393
h: refs/heads/master
i:
  95563: 6f475cf
v: v3
  • Loading branch information
Bjorn Helgaas authored and Len Brown committed Apr 29, 2008
1 parent 577d04f commit 3d08aab
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 85 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 6969c7ed558cf5e9eff01734be0174a296938092
refs/heads/master: 2cd1393098073426256cb4543c897f8c340d0b93
78 changes: 2 additions & 76 deletions trunk/drivers/pnp/manager.c
Original file line number Diff line number Diff line change
Expand Up @@ -238,8 +238,9 @@ static void pnp_assign_dma(struct pnp_dev *dev, struct pnp_dma *rule, int idx)
* pnp_init_resources - Resets a resource table to default values.
* @table: pointer to the desired resource table
*/
void pnp_init_resource_table(struct pnp_resource_table *table)
void pnp_init_resources(struct pnp_dev *dev)
{
struct pnp_resource_table *table = &dev->res;
int idx;

for (idx = 0; idx < PNP_MAX_IRQ; idx++) {
Expand Down Expand Up @@ -272,11 +273,6 @@ void pnp_init_resource_table(struct pnp_resource_table *table)
}
}

void pnp_init_resources(struct pnp_dev *dev)
{
pnp_init_resource_table(&dev->res);
}

/**
* pnp_clean_resources - clears resources that were not manually set
* @res: the resources to clean
Expand Down Expand Up @@ -422,59 +418,6 @@ static int pnp_assign_resources(struct pnp_dev *dev, int depnum)
return 0;
}

/**
* pnp_manual_config_dev - Disables Auto Config and Manually sets the resource table
* @dev: pointer to the desired device
* @res: pointer to the new resource config
* @mode: 0 or PNP_CONFIG_FORCE
*
* This function can be used by drivers that want to manually set thier resources.
*/
int pnp_manual_config_dev(struct pnp_dev *dev, struct pnp_resource_table *res,
int mode)
{
int i;
struct pnp_resource_table *bak;

if (!pnp_can_configure(dev))
return -ENODEV;
bak = pnp_alloc(sizeof(struct pnp_resource_table));
if (!bak)
return -ENOMEM;
*bak = dev->res;

mutex_lock(&pnp_res_mutex);
dev->res = *res;
if (!(mode & PNP_CONFIG_FORCE)) {
for (i = 0; i < PNP_MAX_PORT; i++) {
if (!pnp_check_port(dev, i))
goto fail;
}
for (i = 0; i < PNP_MAX_MEM; i++) {
if (!pnp_check_mem(dev, i))
goto fail;
}
for (i = 0; i < PNP_MAX_IRQ; i++) {
if (!pnp_check_irq(dev, i))
goto fail;
}
for (i = 0; i < PNP_MAX_DMA; i++) {
if (!pnp_check_dma(dev, i))
goto fail;
}
}
mutex_unlock(&pnp_res_mutex);

kfree(bak);
return 0;

fail:
dev->res = *bak;
mutex_unlock(&pnp_res_mutex);
kfree(bak);
return -EINVAL;
}

/**
* pnp_auto_config_dev - automatically assigns resources to a device
* @dev: pointer to the desired device
Expand Down Expand Up @@ -602,24 +545,7 @@ int pnp_disable_dev(struct pnp_dev *dev)
return 0;
}

/**
* pnp_resource_change - change one resource
* @resource: pointer to resource to be changed
* @start: start of region
* @size: size of region
*/
void pnp_resource_change(struct resource *resource, resource_size_t start,
resource_size_t size)
{
resource->flags &= ~(IORESOURCE_AUTO | IORESOURCE_UNSET);
resource->start = start;
resource->end = start + size - 1;
}

EXPORT_SYMBOL(pnp_manual_config_dev);
EXPORT_SYMBOL(pnp_start_dev);
EXPORT_SYMBOL(pnp_stop_dev);
EXPORT_SYMBOL(pnp_activate_dev);
EXPORT_SYMBOL(pnp_disable_dev);
EXPORT_SYMBOL(pnp_resource_change);
EXPORT_SYMBOL(pnp_init_resource_table);
8 changes: 0 additions & 8 deletions trunk/include/linux/pnp.h
Original file line number Diff line number Diff line change
Expand Up @@ -390,18 +390,13 @@ int pnp_register_port_resource(struct pnp_dev *dev, struct pnp_option *option,
struct pnp_port *data);
int pnp_register_mem_resource(struct pnp_dev *dev, struct pnp_option *option,
struct pnp_mem *data);
void pnp_init_resource_table(struct pnp_resource_table *table);
void pnp_init_resources(struct pnp_dev *dev);
int pnp_manual_config_dev(struct pnp_dev *dev, struct pnp_resource_table *res,
int mode);
int pnp_auto_config_dev(struct pnp_dev *dev);
int pnp_validate_config(struct pnp_dev *dev);
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);
void pnp_resource_change(struct resource *resource, resource_size_t start,
resource_size_t size);

/* protocol helpers */
int pnp_is_active(struct pnp_dev *dev);
Expand Down Expand Up @@ -438,16 +433,13 @@ static inline int pnp_register_irq_resource(struct pnp_dev *dev, struct pnp_opti
static inline int pnp_register_dma_resource(struct pnp_dev *dev, struct pnp_option *option, struct pnp_dma *data) { return -ENODEV; }
static inline int pnp_register_port_resource(struct pnp_dev *dev, struct pnp_option *option, struct pnp_port *data) { return -ENODEV; }
static inline int pnp_register_mem_resource(struct pnp_dev *dev, struct pnp_option *option, struct pnp_mem *data) { return -ENODEV; }
static inline void pnp_init_resource_table(struct pnp_resource_table *table) { }
static inline void pnp_init_resources(struct pnp_dev *dev) { }
static inline int pnp_manual_config_dev(struct pnp_dev *dev, struct pnp_resource_table *res, int mode) { return -ENODEV; }
static inline int pnp_auto_config_dev(struct pnp_dev *dev) { return -ENODEV; }
static inline int pnp_validate_config(struct pnp_dev *dev) { return -ENODEV; }
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 void pnp_resource_change(struct resource *resource, resource_size_t start, resource_size_t size) { }

/* protocol helpers */
static inline int pnp_is_active(struct pnp_dev *dev) { return 0; }
Expand Down

0 comments on commit 3d08aab

Please sign in to comment.