Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 32520
b: refs/heads/master
c: 6cc8b6f
h: refs/heads/master
v: v3
  • Loading branch information
Andrew Morton authored and David S. Miller committed Jul 13, 2006
1 parent 36cdf88 commit a4a45e4
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 21 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: 1b0f06d0b4860a8a73dc0b48540d82d8897ead71
refs/heads/master: 6cc8b6f51eb1af72882c279f691c5de7d5a43bf2
6 changes: 4 additions & 2 deletions trunk/arch/sparc/kernel/of_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -695,9 +695,11 @@ int of_device_register(struct of_device *ofdev)
if (rc)
return rc;

device_create_file(&ofdev->dev, &dev_attr_devspec);
rc = device_create_file(&ofdev->dev, &dev_attr_devspec);
if (rc)
device_unregister(&ofdev->dev);

return 0;
return rc;
}

void of_device_unregister(struct of_device *ofdev)
Expand Down
6 changes: 4 additions & 2 deletions trunk/arch/sparc64/kernel/of_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -922,9 +922,11 @@ int of_device_register(struct of_device *ofdev)
if (rc)
return rc;

device_create_file(&ofdev->dev, &dev_attr_devspec);
rc = device_create_file(&ofdev->dev, &dev_attr_devspec);
if (rc)
device_unregister(&ofdev->dev);

return 0;
return rc;
}

void of_device_unregister(struct of_device *ofdev)
Expand Down
21 changes: 11 additions & 10 deletions trunk/include/asm-i386/system.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,10 @@ __asm__ __volatile__ ("movw %%dx,%1\n\t" \
#define savesegment(seg, value) \
asm volatile("mov %%" #seg ",%0":"=rm" (value))

/*
* Clear and set 'TS' bit respectively
*/
#define clts() __asm__ __volatile__ ("clts")
#define read_cr0() ({ \
unsigned int __dummy; \
__asm__ __volatile__( \
Expand All @@ -90,7 +94,7 @@ __asm__ __volatile__ ("movw %%dx,%1\n\t" \
__dummy; \
})
#define write_cr0(x) \
__asm__ __volatile__("movl %0,%%cr0": :"r" (x))
__asm__ __volatile__("movl %0,%%cr0": :"r" (x));

#define read_cr2() ({ \
unsigned int __dummy; \
Expand All @@ -100,7 +104,7 @@ __asm__ __volatile__ ("movw %%dx,%1\n\t" \
__dummy; \
})
#define write_cr2(x) \
__asm__ __volatile__("movl %0,%%cr2": :"r" (x))
__asm__ __volatile__("movl %0,%%cr2": :"r" (x));

#define read_cr3() ({ \
unsigned int __dummy; \
Expand All @@ -110,7 +114,7 @@ __asm__ __volatile__ ("movw %%dx,%1\n\t" \
__dummy; \
})
#define write_cr3(x) \
__asm__ __volatile__("movl %0,%%cr3": :"r" (x))
__asm__ __volatile__("movl %0,%%cr3": :"r" (x));

#define read_cr4() ({ \
unsigned int __dummy; \
Expand All @@ -119,6 +123,7 @@ __asm__ __volatile__ ("movw %%dx,%1\n\t" \
:"=r" (__dummy)); \
__dummy; \
})

#define read_cr4_safe() ({ \
unsigned int __dummy; \
/* This could fault if %cr4 does not exist */ \
Expand All @@ -130,19 +135,15 @@ __asm__ __volatile__ ("movw %%dx,%1\n\t" \
: "=r" (__dummy): "0" (0)); \
__dummy; \
})
#define write_cr4(x) \
__asm__ __volatile__("movl %0,%%cr4": :"r" (x))

/*
* Clear and set 'TS' bit respectively
*/
#define clts() __asm__ __volatile__ ("clts")
#define write_cr4(x) \
__asm__ __volatile__("movl %0,%%cr4": :"r" (x));
#define stts() write_cr0(8 | read_cr0())

#endif /* __KERNEL__ */

#define wbinvd() \
__asm__ __volatile__ ("wbinvd": : :"memory")
__asm__ __volatile__ ("wbinvd": : :"memory");

static inline unsigned long get_limit(unsigned long segment)
{
Expand Down
12 changes: 6 additions & 6 deletions trunk/include/asm-m68knommu/uaccess.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ extern int __put_user_bad(void);
#define get_user(x, ptr) \
({ \
int __gu_err = 0; \
typeof(x) __gu_val = 0; \
typeof(*(ptr)) __gu_val = 0; \
switch (sizeof(*(ptr))) { \
case 1: \
__get_user_asm(__gu_err, __gu_val, ptr, b, "=d"); \
Expand All @@ -105,23 +105,23 @@ extern int __put_user_bad(void);
__get_user_asm(__gu_err, __gu_val, ptr, l, "=r"); \
break; \
case 8: \
memcpy((void *) &__gu_val, ptr, sizeof (*(ptr))); \
memcpy(&__gu_val, ptr, sizeof (*(ptr))); \
break; \
default: \
__gu_val = 0; \
__gu_err = __get_user_bad(); \
break; \
} \
(x) = (typeof(*(ptr))) __gu_val; \
(x) = __gu_val; \
__gu_err; \
})
#define __get_user(x, ptr) get_user(x, ptr)

extern int __get_user_bad(void);

#define __get_user_asm(err,x,ptr,bwl,reg) \
__asm__ ("move" #bwl " %1,%0" \
: "=d" (x) \
#define __get_user_asm(err,x,ptr,bwl,reg) \
__asm__ ("move" #bwl " %1,%0" \
: "=d" (x) \
: "m" (*__ptr(ptr)))

#define copy_from_user(to, from, n) (memcpy(to, from, n), 0)
Expand Down

0 comments on commit a4a45e4

Please sign in to comment.