]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/hwmon/s3c-hwmon.c
hwmon: (s3c-hwmon) Fix compilation
[mv-sheeva.git] / drivers / hwmon / s3c-hwmon.c
index 3f3f9a47acfd92fa473a000f43552047a7e962de..92b42db43bcfd9e5706c41bfb9049a26fd967b93 100644 (file)
@@ -51,7 +51,7 @@ struct s3c_hwmon_attr {
  * @attr: The holders for the channel attributes.
 */
 struct s3c_hwmon {
-       struct semaphore        lock;
+       struct mutex            lock;
        struct s3c_adc_client   *client;
        struct device           *hwmon_dev;
 
@@ -73,14 +73,14 @@ static int s3c_hwmon_read_ch(struct device *dev,
 {
        int ret;
 
-       ret = down_interruptible(&hwmon->lock);
+       ret = mutex_lock_interruptible(&hwmon->lock);
        if (ret < 0)
                return ret;
 
        dev_dbg(dev, "reading channel %d\n", channel);
 
        ret = s3c_adc_read(hwmon->client, channel);
-       up(&hwmon->lock);
+       mutex_unlock(&hwmon->lock);
 
        return ret;
 }
@@ -234,7 +234,6 @@ static int s3c_hwmon_create_attr(struct device *dev,
        attr->index = channel;
        attr->dev_attr.attr.name  = attrs->in_name;
        attr->dev_attr.attr.mode  = S_IRUGO;
-       attr->dev_attr.attr.owner = THIS_MODULE;
        attr->dev_attr.show = s3c_hwmon_ch_show;
 
        ret =  device_create_file(dev, &attr->dev_attr);
@@ -252,7 +251,6 @@ static int s3c_hwmon_create_attr(struct device *dev,
                attr->index = channel;
                attr->dev_attr.attr.name  = attrs->label_name;
                attr->dev_attr.attr.mode  = S_IRUGO;
-               attr->dev_attr.attr.owner = THIS_MODULE;
                attr->dev_attr.show = s3c_hwmon_label_show;
 
                ret = device_create_file(dev, &attr->dev_attr);
@@ -296,7 +294,7 @@ static int __devinit s3c_hwmon_probe(struct platform_device *dev)
 
        platform_set_drvdata(dev, hwmon);
 
-       init_MUTEX(&hwmon->lock);
+       mutex_init(&hwmon->lock);
 
        /* Register with the core ADC driver. */