Correctly use sal call attribute such as mf-safe and reentrant 

Signed-off-by: Anthony Xu < [EMAIL PROTECTED] >


diff -urN linux-2.6.23-rc8/arch/ia64/kernel/sal.c
linux/arch/ia64/kernel/sal.c
--- linux-2.6.23-rc8/arch/ia64/kernel/sal.c     2007-09-25
08:33:10.000000000 +0800
+++ linux/arch/ia64/kernel/sal.c        2007-09-29 14:13:10.000000000
+0800
@@ -243,7 +243,7 @@
        while (!ia64_get_irr(IA64_TIMER_VECTOR))
                cpu_relax();
 
-       SAL_CALL(isrv, SAL_CACHE_FLUSH, cache_type, 0, 0, 0, 0, 0, 0);
+       SAL_CALL_NOLOCK(isrv, SAL_CACHE_FLUSH, cache_type, 0, 0, 0, 0,
0, 0);
 
        if (isrv.status)
                printk(KERN_ERR "SAL_CAL_FLUSH failed with %ld\n",
isrv.status);
diff -urN linux-2.6.23-rc8/include/asm-ia64/sal.h
linux/include/asm-ia64/sal.h
--- linux-2.6.23-rc8/include/asm-ia64/sal.h     2007-09-25
08:33:10.000000000 +0800
+++ linux/include/asm-ia64/sal.h        2007-09-29 14:16:46.000000000
+0800
@@ -652,7 +652,7 @@
 {
        struct ia64_sal_retval isrv;
 
-       SAL_CALL(isrv, SAL_FREQ_BASE, which, 0, 0, 0, 0, 0, 0);
+       SAL_CALL_NOLOCK(isrv, SAL_FREQ_BASE, which, 0, 0, 0, 0, 0, 0);
        *ticks_per_second = isrv.v0;
        *drift_info = isrv.v1;
        return isrv.status;
@@ -666,7 +666,7 @@
 ia64_sal_cache_init (void)
 {
        struct ia64_sal_retval isrv;
-       SAL_CALL(isrv, SAL_CACHE_INIT, 0, 0, 0, 0, 0, 0, 0);
+       SAL_CALL_NOLOCK(isrv, SAL_CACHE_INIT, 0, 0, 0, 0, 0, 0, 0);
        return isrv.status;
 }
 
@@ -748,7 +748,8 @@
 ia64_sal_pci_config_read (u64 pci_config_addr, int type, u64 size, u64
*value)
 {
        struct ia64_sal_retval isrv;
-       SAL_CALL(isrv, SAL_PCI_CONFIG_READ, pci_config_addr, size, type,
0, 0, 0, 0);
+       SAL_CALL_REENTRANT(isrv, SAL_PCI_CONFIG_READ, pci_config_addr,
size,
+                type, 0, 0, 0, 0);
        if (value)
                *value = isrv.v0;
        return isrv.status;
@@ -759,8 +760,8 @@
 ia64_sal_pci_config_write (u64 pci_config_addr, int type, u64 size, u64
value)
 {
        struct ia64_sal_retval isrv;
-       SAL_CALL(isrv, SAL_PCI_CONFIG_WRITE, pci_config_addr, size,
value,
-                type, 0, 0, 0);
+       SAL_CALL_REENTRANT(isrv, SAL_PCI_CONFIG_WRITE, pci_config_addr,
size,
+                value, type, 0, 0, 0);
        return isrv.status;
 }
 
@@ -815,7 +816,7 @@
 ia64_sal_physical_id_info(u16 *splid)
 {
        struct ia64_sal_retval isrv;
-       SAL_CALL(isrv, SAL_PHYSICAL_ID_INFO, 0, 0, 0, 0, 0, 0, 0);
+       SAL_CALL_NOLOCK(isrv, SAL_PHYSICAL_ID_INFO, 0, 0, 0, 0, 0, 0,
0);
        if (splid)
                *splid = isrv.v0;
        return isrv.status;
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to