Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=461e666723b6669bc6f7ef90b49b615396d70eb8
Commit:     461e666723b6669bc6f7ef90b49b615396d70eb8
Parent:     adff093d6c545c882f1503607f6af14ddd90bb89
Author:     Christoph Hellwig <[EMAIL PROTECTED]>
AuthorDate: Fri Jul 20 07:50:49 2007 +1000
Committer:  Paul Mackerras <[EMAIL PROTECTED]>
CommitDate: Sun Jul 22 21:30:58 2007 +1000

    [POWERPC] mv64x60: Use mutex instead of semaphore
    
    Signed-off-by: Christoph Hellwig <[EMAIL PROTECTED]>
    Acked-by: Mark A. Greer <[EMAIL PROTECTED]>
    Signed-off-by: Paul Mackerras <[EMAIL PROTECTED]>
---
 arch/ppc/syslib/mv64x60.c |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/arch/ppc/syslib/mv64x60.c b/arch/ppc/syslib/mv64x60.c
index 032f4b7..d212b1c 100644
--- a/arch/ppc/syslib/mv64x60.c
+++ b/arch/ppc/syslib/mv64x60.c
@@ -14,6 +14,7 @@
 #include <linux/pci.h>
 #include <linux/slab.h>
 #include <linux/module.h>
+#include <linux/mutex.h>
 #include <linux/string.h>
 #include <linux/spinlock.h>
 #include <linux/mv643xx.h>
@@ -2359,7 +2360,7 @@ mv64460_chip_specific_init(struct mv64x60_handle *bh,
 /* Export the hotswap register via sysfs for enum event monitoring */
 #define        VAL_LEN_MAX     11 /* 32-bit hex or dec stringified number + 
'\n' */
 
-DECLARE_MUTEX(mv64xxx_hs_lock);
+static DEFINE_MUTEX(mv64xxx_hs_lock);
 
 static ssize_t
 mv64xxx_hs_reg_read(struct kobject *kobj, char *buf, loff_t off, size_t count)
@@ -2372,14 +2373,14 @@ mv64xxx_hs_reg_read(struct kobject *kobj, char *buf, 
loff_t off, size_t count)
        if (count < VAL_LEN_MAX)
                return -EINVAL;
 
-       if (down_interruptible(&mv64xxx_hs_lock))
+       if (mutex_lock_interruptible(&mv64xxx_hs_lock))
                return -ERESTARTSYS;
        save_exclude = mv64x60_pci_exclude_bridge;
        mv64x60_pci_exclude_bridge = 0;
        early_read_config_dword(&sysfs_hose_a, 0, PCI_DEVFN(0, 0),
                        MV64360_PCICFG_CPCI_HOTSWAP, &v);
        mv64x60_pci_exclude_bridge = save_exclude;
-       up(&mv64xxx_hs_lock);
+       mutex_unlock(&mv64xxx_hs_lock);
 
        return sprintf(buf, "0x%08x\n", v);
 }
@@ -2396,14 +2397,14 @@ mv64xxx_hs_reg_write(struct kobject *kobj, char *buf, 
loff_t off, size_t count)
                return -EINVAL;
 
        if (sscanf(buf, "%i", &v) == 1) {
-               if (down_interruptible(&mv64xxx_hs_lock))
+               if (mutex_lock_interruptible(&mv64xxx_hs_lock))
                        return -ERESTARTSYS;
                save_exclude = mv64x60_pci_exclude_bridge;
                mv64x60_pci_exclude_bridge = 0;
                early_write_config_dword(&sysfs_hose_a, 0, PCI_DEVFN(0, 0),
                                MV64360_PCICFG_CPCI_HOTSWAP, v);
                mv64x60_pci_exclude_bridge = save_exclude;
-               up(&mv64xxx_hs_lock);
+               mutex_unlock(&mv64xxx_hs_lock);
        }
        else
                count = -EINVAL;
@@ -2433,10 +2434,10 @@ mv64xxx_hs_reg_valid_show(struct device *dev, struct 
device_attribute *attr,
        pdev = container_of(dev, struct platform_device, dev);
        pdp = (struct mv64xxx_pdata *)pdev->dev.platform_data;
 
-       if (down_interruptible(&mv64xxx_hs_lock))
+       if (mutex_lock_interruptible(&mv64xxx_hs_lock))
                return -ERESTARTSYS;
        v = pdp->hs_reg_valid;
-       up(&mv64xxx_hs_lock);
+       mutex_unlock(&mv64xxx_hs_lock);
 
        return sprintf(buf, "%i\n", v);
 }
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to