X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fpnp%2Finterface.c;h=982658477a58b4695df2ac979b00090cba9b1101;hb=14eadd1f2d4eac36d10395ce36a49917e1924c37;hp=fe6684e13e828b0ebcf695b7327ba9b14e339e0c;hpb=440fdb53b4ae58602711b5b8c3a139ace2404dbb;p=linux-2.6-omap-h63xx.git diff --git a/drivers/pnp/interface.c b/drivers/pnp/interface.c index fe6684e13e8..982658477a5 100644 --- a/drivers/pnp/interface.c +++ b/drivers/pnp/interface.c @@ -1,7 +1,7 @@ /* * interface.c - contains everything related to the user interface * - * Some code, especially possible resource dumping is based on isapnp_proc.c (c) Jaroslav Kysela + * Some code, especially possible resource dumping is based on isapnp_proc.c (c) Jaroslav Kysela * Copyright 2002 Adam Belay */ @@ -10,9 +10,12 @@ #include #include #include +#include #include #include #include +#include + #include #include "base.h" @@ -315,8 +318,6 @@ static ssize_t pnp_show_current_resources(struct device *dmdev, return ret; } -extern struct semaphore pnp_res_mutex; - static ssize_t pnp_set_current_resources(struct device *dmdev, struct device_attribute *attr, const char *ubuf, size_t count) @@ -327,8 +328,7 @@ pnp_set_current_resources(struct device *dmdev, struct device_attribute *attr, if (dev->status & PNP_ATTACHED) { retval = -EBUSY; - pnp_info("Device %s cannot be configured because it is in use.", - dev->dev.bus_id); + dev_info(&dev->dev, "in use; can't configure\n"); goto done; } @@ -362,10 +362,10 @@ pnp_set_current_resources(struct device *dmdev, struct device_attribute *attr, goto done; } if (!strnicmp(buf, "get", 3)) { - down(&pnp_res_mutex); + mutex_lock(&pnp_res_mutex); if (pnp_can_read(dev)) dev->protocol->get(dev, &dev->res); - up(&pnp_res_mutex); + mutex_unlock(&pnp_res_mutex); goto done; } if (!strnicmp(buf, "set", 3)) { @@ -374,7 +374,7 @@ pnp_set_current_resources(struct device *dmdev, struct device_attribute *attr, goto done; buf += 3; pnp_init_resource_table(&dev->res); - down(&pnp_res_mutex); + mutex_lock(&pnp_res_mutex); while (1) { while (isspace(*buf)) ++buf; @@ -456,10 +456,11 @@ pnp_set_current_resources(struct device *dmdev, struct device_attribute *attr, } break; } - up(&pnp_res_mutex); + mutex_unlock(&pnp_res_mutex); goto done; } - done: + +done: if (retval < 0) return retval; return count; @@ -499,10 +500,10 @@ int pnp_interface_attach_device(struct pnp_dev *dev) return 0; - err_res: +err_res: device_remove_file(&dev->dev, &dev_attr_resources); - err_opt: +err_opt: device_remove_file(&dev->dev, &dev_attr_options); - err: +err: return rc; }