Commit 342d9653 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'parisc-for-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux

Pull parisc architecture updates and fixes from Helge Deller:
 "Fixes for the IPv4 and IPv6 checksum functions, a fix for the 64-bit
  unaligned memory exception handler and various code cleanups.

  Most of the patches are tagged for stable series.

   - Fix inline assembly in ipv4 and ipv6 checksum functions (Guenter
     Roeck)

   - Rewrite 64-bit inline assembly of emulate_ldd() (Guenter Roeck)

   - Do not clobber carry/borrow bits in tophys and tovirt macros (John
     David Anglin)

   - Warn when kernel accesses unaligned memory"

* tag 'parisc-for-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
  parisc: led: Convert to platform remove callback returning void
  parisc: Strip upper 32 bit of sum in csum_ipv6_magic for 64-bit builds
  parisc: Fix csum_ipv6_magic on 64-bit systems
  parisc: Fix csum_ipv6_magic on 32-bit systems
  parisc: Fix ip_fast_csum
  parisc: Avoid clobbering the C/B bits in the PSW with tophys and tovirt macros
  parisc/unaligned: Rewrite 64-bit inline assembly of emulate_ldd()
  parisc: make parisc_bus_type const
  parisc: avoid c23 'nullptr' idenitifier
  parisc: Show kernel unaligned memory accesses
  parisc: Use irq_enter_rcu() to fix warning at kernel/context_tracking.c:367
parents c1f10ac8 26dd4878
...@@ -97,26 +97,28 @@ ...@@ -97,26 +97,28 @@
* version takes two arguments: a src and destination register. * version takes two arguments: a src and destination register.
* However, the source and destination registers can not be * However, the source and destination registers can not be
* the same register. * the same register.
*
* We use add,l to avoid clobbering the C/B bits in the PSW.
*/ */
.macro tophys grvirt, grphys .macro tophys grvirt, grphys
ldil L%(__PAGE_OFFSET), \grphys ldil L%(-__PAGE_OFFSET), \grphys
sub \grvirt, \grphys, \grphys addl \grvirt, \grphys, \grphys
.endm .endm
.macro tovirt grphys, grvirt .macro tovirt grphys, grvirt
ldil L%(__PAGE_OFFSET), \grvirt ldil L%(__PAGE_OFFSET), \grvirt
add \grphys, \grvirt, \grvirt addl \grphys, \grvirt, \grvirt
.endm .endm
.macro tophys_r1 gr .macro tophys_r1 gr
ldil L%(__PAGE_OFFSET), %r1 ldil L%(-__PAGE_OFFSET), %r1
sub \gr, %r1, \gr addl \gr, %r1, \gr
.endm .endm
.macro tovirt_r1 gr .macro tovirt_r1 gr
ldil L%(__PAGE_OFFSET), %r1 ldil L%(__PAGE_OFFSET), %r1
add \gr, %r1, \gr addl \gr, %r1, \gr
.endm .endm
.macro delay value .macro delay value
......
...@@ -40,7 +40,7 @@ static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ...@@ -40,7 +40,7 @@ static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl)
" addc %0, %5, %0\n" " addc %0, %5, %0\n"
" addc %0, %3, %0\n" " addc %0, %3, %0\n"
"1: ldws,ma 4(%1), %3\n" "1: ldws,ma 4(%1), %3\n"
" addib,< 0, %2, 1b\n" " addib,> -1, %2, 1b\n"
" addc %0, %3, %0\n" " addc %0, %3, %0\n"
"\n" "\n"
" extru %0, 31, 16, %4\n" " extru %0, 31, 16, %4\n"
...@@ -126,6 +126,7 @@ static __inline__ __sum16 csum_ipv6_magic(const struct in6_addr *saddr, ...@@ -126,6 +126,7 @@ static __inline__ __sum16 csum_ipv6_magic(const struct in6_addr *saddr,
** Try to keep 4 registers with "live" values ahead of the ALU. ** Try to keep 4 registers with "live" values ahead of the ALU.
*/ */
" depdi 0, 31, 32, %0\n"/* clear upper half of incoming checksum */
" ldd,ma 8(%1), %4\n" /* get 1st saddr word */ " ldd,ma 8(%1), %4\n" /* get 1st saddr word */
" ldd,ma 8(%2), %5\n" /* get 1st daddr word */ " ldd,ma 8(%2), %5\n" /* get 1st daddr word */
" add %4, %0, %0\n" " add %4, %0, %0\n"
...@@ -137,8 +138,8 @@ static __inline__ __sum16 csum_ipv6_magic(const struct in6_addr *saddr, ...@@ -137,8 +138,8 @@ static __inline__ __sum16 csum_ipv6_magic(const struct in6_addr *saddr,
" add,dc %3, %0, %0\n" /* fold in proto+len | carry bit */ " add,dc %3, %0, %0\n" /* fold in proto+len | carry bit */
" extrd,u %0, 31, 32, %4\n"/* copy upper half down */ " extrd,u %0, 31, 32, %4\n"/* copy upper half down */
" depdi 0, 31, 32, %0\n"/* clear upper half */ " depdi 0, 31, 32, %0\n"/* clear upper half */
" add %4, %0, %0\n" /* fold into 32-bits */ " add,dc %4, %0, %0\n" /* fold into 32-bits, plus carry */
" addc 0, %0, %0\n" /* add carry */ " addc 0, %0, %0\n" /* add final carry */
#else #else
...@@ -163,7 +164,8 @@ static __inline__ __sum16 csum_ipv6_magic(const struct in6_addr *saddr, ...@@ -163,7 +164,8 @@ static __inline__ __sum16 csum_ipv6_magic(const struct in6_addr *saddr,
" ldw,ma 4(%2), %7\n" /* 4th daddr */ " ldw,ma 4(%2), %7\n" /* 4th daddr */
" addc %6, %0, %0\n" " addc %6, %0, %0\n"
" addc %7, %0, %0\n" " addc %7, %0, %0\n"
" addc %3, %0, %0\n" /* fold in proto+len, catch carry */ " addc %3, %0, %0\n" /* fold in proto+len */
" addc 0, %0, %0\n" /* add carry */
#endif #endif
: "=r" (sum), "=r" (saddr), "=r" (daddr), "=r" (len), : "=r" (sum), "=r" (saddr), "=r" (daddr), "=r" (len),
......
...@@ -61,7 +61,7 @@ parisc_get_drvdata(struct parisc_device *d) ...@@ -61,7 +61,7 @@ parisc_get_drvdata(struct parisc_device *d)
return dev_get_drvdata(&d->dev); return dev_get_drvdata(&d->dev);
} }
extern struct bus_type parisc_bus_type; extern const struct bus_type parisc_bus_type;
int iosapic_serial_irq(struct parisc_device *dev); int iosapic_serial_irq(struct parisc_device *dev);
......
...@@ -618,7 +618,7 @@ static struct attribute *parisc_device_attrs[] = { ...@@ -618,7 +618,7 @@ static struct attribute *parisc_device_attrs[] = {
}; };
ATTRIBUTE_GROUPS(parisc_device); ATTRIBUTE_GROUPS(parisc_device);
struct bus_type parisc_bus_type = { const struct bus_type parisc_bus_type = {
.name = "parisc", .name = "parisc",
.match = parisc_generic_match, .match = parisc_generic_match,
.uevent = parisc_uevent, .uevent = parisc_uevent,
......
...@@ -498,7 +498,7 @@ asmlinkage void do_cpu_irq_mask(struct pt_regs *regs) ...@@ -498,7 +498,7 @@ asmlinkage void do_cpu_irq_mask(struct pt_regs *regs)
old_regs = set_irq_regs(regs); old_regs = set_irq_regs(regs);
local_irq_disable(); local_irq_disable();
irq_enter(); irq_enter_rcu();
eirr_val = mfctl(23) & cpu_eiem & per_cpu(local_ack_eiem, cpu); eirr_val = mfctl(23) & cpu_eiem & per_cpu(local_ack_eiem, cpu);
if (!eirr_val) if (!eirr_val)
...@@ -533,7 +533,7 @@ asmlinkage void do_cpu_irq_mask(struct pt_regs *regs) ...@@ -533,7 +533,7 @@ asmlinkage void do_cpu_irq_mask(struct pt_regs *regs)
#endif /* CONFIG_IRQSTACKS */ #endif /* CONFIG_IRQSTACKS */
out: out:
irq_exit(); irq_exit_rcu();
set_irq_regs(old_regs); set_irq_regs(old_regs);
return; return;
......
...@@ -169,6 +169,7 @@ static int emulate_ldw(struct pt_regs *regs, int toreg, int flop) ...@@ -169,6 +169,7 @@ static int emulate_ldw(struct pt_regs *regs, int toreg, int flop)
static int emulate_ldd(struct pt_regs *regs, int toreg, int flop) static int emulate_ldd(struct pt_regs *regs, int toreg, int flop)
{ {
unsigned long saddr = regs->ior; unsigned long saddr = regs->ior;
unsigned long shift, temp1;
__u64 val = 0; __u64 val = 0;
ASM_EXCEPTIONTABLE_VAR(ret); ASM_EXCEPTIONTABLE_VAR(ret);
...@@ -180,25 +181,22 @@ static int emulate_ldd(struct pt_regs *regs, int toreg, int flop) ...@@ -180,25 +181,22 @@ static int emulate_ldd(struct pt_regs *regs, int toreg, int flop)
#ifdef CONFIG_64BIT #ifdef CONFIG_64BIT
__asm__ __volatile__ ( __asm__ __volatile__ (
" depd,z %3,60,3,%%r19\n" /* r19=(ofs&7)*8 */ " depd,z %2,60,3,%3\n" /* shift=(ofs&7)*8 */
" mtsp %4, %%sr1\n" " mtsp %5, %%sr1\n"
" depd %%r0,63,3,%3\n" " depd %%r0,63,3,%2\n"
"1: ldd 0(%%sr1,%3),%0\n" "1: ldd 0(%%sr1,%2),%0\n"
"2: ldd 8(%%sr1,%3),%%r20\n" "2: ldd 8(%%sr1,%2),%4\n"
" subi 64,%%r19,%%r19\n" " subi 64,%3,%3\n"
" mtsar %%r19\n" " mtsar %3\n"
" shrpd %0,%%r20,%%sar,%0\n" " shrpd %0,%4,%%sar,%0\n"
"3: \n" "3: \n"
ASM_EXCEPTIONTABLE_ENTRY_EFAULT(1b, 3b, "%1") ASM_EXCEPTIONTABLE_ENTRY_EFAULT(1b, 3b, "%1")
ASM_EXCEPTIONTABLE_ENTRY_EFAULT(2b, 3b, "%1") ASM_EXCEPTIONTABLE_ENTRY_EFAULT(2b, 3b, "%1")
: "=r" (val), "+r" (ret) : "+r" (val), "+r" (ret), "+r" (saddr), "=&r" (shift), "=&r" (temp1)
: "0" (val), "r" (saddr), "r" (regs->isr) : "r" (regs->isr) );
: "r19", "r20" );
#else #else
{
unsigned long shift, temp1;
__asm__ __volatile__ ( __asm__ __volatile__ (
" zdep %2,29,2,%3\n" /* r19=(ofs&3)*8 */ " zdep %2,29,2,%3\n" /* shift=(ofs&3)*8 */
" mtsp %5, %%sr1\n" " mtsp %5, %%sr1\n"
" dep %%r0,31,2,%2\n" " dep %%r0,31,2,%2\n"
"1: ldw 0(%%sr1,%2),%0\n" "1: ldw 0(%%sr1,%2),%0\n"
...@@ -214,7 +212,6 @@ static int emulate_ldd(struct pt_regs *regs, int toreg, int flop) ...@@ -214,7 +212,6 @@ static int emulate_ldd(struct pt_regs *regs, int toreg, int flop)
ASM_EXCEPTIONTABLE_ENTRY_EFAULT(3b, 4b, "%1") ASM_EXCEPTIONTABLE_ENTRY_EFAULT(3b, 4b, "%1")
: "+r" (val), "+r" (ret), "+r" (saddr), "=&r" (shift), "=&r" (temp1) : "+r" (val), "+r" (ret), "+r" (saddr), "=&r" (shift), "=&r" (temp1)
: "r" (regs->isr) ); : "r" (regs->isr) );
}
#endif #endif
DPRINTF("val = 0x%llx\n", val); DPRINTF("val = 0x%llx\n", val);
...@@ -399,6 +396,13 @@ void handle_unaligned(struct pt_regs *regs) ...@@ -399,6 +396,13 @@ void handle_unaligned(struct pt_regs *regs)
if (!unaligned_enabled) if (!unaligned_enabled)
goto force_sigbus; goto force_sigbus;
} else {
static DEFINE_RATELIMIT_STATE(kernel_ratelimit, 5 * HZ, 5);
if (!(current->thread.flags & PARISC_UAC_NOPRINT) &&
__ratelimit(&kernel_ratelimit))
pr_warn("Kernel: unaligned access to " RFMT " in %pS "
"(iir " RFMT ")\n",
regs->ior, (void *)regs->iaoq[0], regs->iir);
} }
/* handle modification - OK, it's ugly, see the instruction manual */ /* handle modification - OK, it's ugly, see the instruction manual */
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
* Double Floating-point Square Root * Double Floating-point Square Root
* *
* External Interfaces: * External Interfaces:
* dbl_fsqrt(srcptr,nullptr,dstptr,status) * dbl_fsqrt(srcptr,_nullptr,dstptr,status)
* *
* Internal Interfaces: * Internal Interfaces:
* *
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
unsigned int unsigned int
dbl_fsqrt( dbl_fsqrt(
dbl_floating_point *srcptr, dbl_floating_point *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
dbl_floating_point *dstptr, dbl_floating_point *dstptr,
unsigned int *status) unsigned int *status)
{ {
......
...@@ -16,8 +16,8 @@ ...@@ -16,8 +16,8 @@
* Double Floating-point to Single Floating-point * Double Floating-point to Single Floating-point
* *
* External Interfaces: * External Interfaces:
* dbl_to_sgl_fcnvff(srcptr,nullptr,dstptr,status) * dbl_to_sgl_fcnvff(srcptr,_nullptr,dstptr,status)
* sgl_to_dbl_fcnvff(srcptr,nullptr,dstptr,status) * sgl_to_dbl_fcnvff(srcptr,_nullptr,dstptr,status)
* *
* Internal Interfaces: * Internal Interfaces:
* *
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
int int
sgl_to_dbl_fcnvff( sgl_to_dbl_fcnvff(
sgl_floating_point *srcptr, sgl_floating_point *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
dbl_floating_point *dstptr, dbl_floating_point *dstptr,
unsigned int *status) unsigned int *status)
{ {
...@@ -127,7 +127,7 @@ sgl_to_dbl_fcnvff( ...@@ -127,7 +127,7 @@ sgl_to_dbl_fcnvff(
int int
dbl_to_sgl_fcnvff( dbl_to_sgl_fcnvff(
dbl_floating_point *srcptr, dbl_floating_point *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
sgl_floating_point *dstptr, sgl_floating_point *dstptr,
unsigned int *status) unsigned int *status)
{ {
......
...@@ -15,10 +15,10 @@ ...@@ -15,10 +15,10 @@
* Floating-point to Unsigned Fixed-point Converts * Floating-point to Unsigned Fixed-point Converts
* *
* External Interfaces: * External Interfaces:
* dbl_to_dbl_fcnvfu(srcptr,nullptr,dstptr,status) * dbl_to_dbl_fcnvfu(srcptr,_nullptr,dstptr,status)
* dbl_to_sgl_fcnvfu(srcptr,nullptr,dstptr,status) * dbl_to_sgl_fcnvfu(srcptr,_nullptr,dstptr,status)
* sgl_to_dbl_fcnvfu(srcptr,nullptr,dstptr,status) * sgl_to_dbl_fcnvfu(srcptr,_nullptr,dstptr,status)
* sgl_to_sgl_fcnvfu(srcptr,nullptr,dstptr,status) * sgl_to_sgl_fcnvfu(srcptr,_nullptr,dstptr,status)
* *
* Internal Interfaces: * Internal Interfaces:
* *
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
int int
sgl_to_sgl_fcnvfu( sgl_to_sgl_fcnvfu(
sgl_floating_point *srcptr, sgl_floating_point *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
unsigned int *dstptr, unsigned int *dstptr,
unsigned int *status) unsigned int *status)
{ {
...@@ -166,7 +166,7 @@ sgl_to_sgl_fcnvfu( ...@@ -166,7 +166,7 @@ sgl_to_sgl_fcnvfu(
int int
sgl_to_dbl_fcnvfu( sgl_to_dbl_fcnvfu(
sgl_floating_point *srcptr, sgl_floating_point *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
dbl_unsigned *dstptr, dbl_unsigned *dstptr,
unsigned int *status) unsigned int *status)
{ {
...@@ -285,7 +285,7 @@ sgl_to_dbl_fcnvfu( ...@@ -285,7 +285,7 @@ sgl_to_dbl_fcnvfu(
*/ */
/*ARGSUSED*/ /*ARGSUSED*/
int int
dbl_to_sgl_fcnvfu (dbl_floating_point * srcptr, unsigned int *nullptr, dbl_to_sgl_fcnvfu (dbl_floating_point * srcptr, unsigned int *_nullptr,
unsigned int *dstptr, unsigned int *status) unsigned int *dstptr, unsigned int *status)
{ {
register unsigned int srcp1, srcp2, result; register unsigned int srcp1, srcp2, result;
...@@ -408,7 +408,7 @@ dbl_to_sgl_fcnvfu (dbl_floating_point * srcptr, unsigned int *nullptr, ...@@ -408,7 +408,7 @@ dbl_to_sgl_fcnvfu (dbl_floating_point * srcptr, unsigned int *nullptr,
*/ */
/*ARGSUSED*/ /*ARGSUSED*/
int int
dbl_to_dbl_fcnvfu (dbl_floating_point * srcptr, unsigned int *nullptr, dbl_to_dbl_fcnvfu (dbl_floating_point * srcptr, unsigned int *_nullptr,
dbl_unsigned * dstptr, unsigned int *status) dbl_unsigned * dstptr, unsigned int *status)
{ {
register int src_exponent; register int src_exponent;
......
...@@ -15,10 +15,10 @@ ...@@ -15,10 +15,10 @@
* Floating-point to Unsigned Fixed-point Converts with Truncation * Floating-point to Unsigned Fixed-point Converts with Truncation
* *
* External Interfaces: * External Interfaces:
* dbl_to_dbl_fcnvfut(srcptr,nullptr,dstptr,status) * dbl_to_dbl_fcnvfut(srcptr,_nullptr,dstptr,status)
* dbl_to_sgl_fcnvfut(srcptr,nullptr,dstptr,status) * dbl_to_sgl_fcnvfut(srcptr,_nullptr,dstptr,status)
* sgl_to_dbl_fcnvfut(srcptr,nullptr,dstptr,status) * sgl_to_dbl_fcnvfut(srcptr,_nullptr,dstptr,status)
* sgl_to_sgl_fcnvfut(srcptr,nullptr,dstptr,status) * sgl_to_sgl_fcnvfut(srcptr,_nullptr,dstptr,status)
* *
* Internal Interfaces: * Internal Interfaces:
* *
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
*/ */
/*ARGSUSED*/ /*ARGSUSED*/
int int
sgl_to_sgl_fcnvfut (sgl_floating_point * srcptr, unsigned int *nullptr, sgl_to_sgl_fcnvfut (sgl_floating_point * srcptr, unsigned int *_nullptr,
unsigned int *dstptr, unsigned int *status) unsigned int *dstptr, unsigned int *status)
{ {
register unsigned int src, result; register unsigned int src, result;
...@@ -113,7 +113,7 @@ sgl_to_sgl_fcnvfut (sgl_floating_point * srcptr, unsigned int *nullptr, ...@@ -113,7 +113,7 @@ sgl_to_sgl_fcnvfut (sgl_floating_point * srcptr, unsigned int *nullptr,
*/ */
/*ARGSUSED*/ /*ARGSUSED*/
int int
sgl_to_dbl_fcnvfut (sgl_floating_point * srcptr, unsigned int *nullptr, sgl_to_dbl_fcnvfut (sgl_floating_point * srcptr, unsigned int *_nullptr,
dbl_unsigned * dstptr, unsigned int *status) dbl_unsigned * dstptr, unsigned int *status)
{ {
register int src_exponent; register int src_exponent;
...@@ -183,7 +183,7 @@ sgl_to_dbl_fcnvfut (sgl_floating_point * srcptr, unsigned int *nullptr, ...@@ -183,7 +183,7 @@ sgl_to_dbl_fcnvfut (sgl_floating_point * srcptr, unsigned int *nullptr,
*/ */
/*ARGSUSED*/ /*ARGSUSED*/
int int
dbl_to_sgl_fcnvfut (dbl_floating_point * srcptr, unsigned int *nullptr, dbl_to_sgl_fcnvfut (dbl_floating_point * srcptr, unsigned int *_nullptr,
unsigned int *dstptr, unsigned int *status) unsigned int *dstptr, unsigned int *status)
{ {
register unsigned int srcp1, srcp2, result; register unsigned int srcp1, srcp2, result;
...@@ -252,7 +252,7 @@ dbl_to_sgl_fcnvfut (dbl_floating_point * srcptr, unsigned int *nullptr, ...@@ -252,7 +252,7 @@ dbl_to_sgl_fcnvfut (dbl_floating_point * srcptr, unsigned int *nullptr,
*/ */
/*ARGSUSED*/ /*ARGSUSED*/
int int
dbl_to_dbl_fcnvfut (dbl_floating_point * srcptr, unsigned int *nullptr, dbl_to_dbl_fcnvfut (dbl_floating_point * srcptr, unsigned int *_nullptr,
dbl_unsigned * dstptr, unsigned int *status) dbl_unsigned * dstptr, unsigned int *status)
{ {
register int src_exponent; register int src_exponent;
......
...@@ -18,10 +18,10 @@ ...@@ -18,10 +18,10 @@
* Double Floating-point to Double Fixed-point * Double Floating-point to Double Fixed-point
* *
* External Interfaces: * External Interfaces:
* dbl_to_dbl_fcnvfx(srcptr,nullptr,dstptr,status) * dbl_to_dbl_fcnvfx(srcptr,_nullptr,dstptr,status)
* dbl_to_sgl_fcnvfx(srcptr,nullptr,dstptr,status) * dbl_to_sgl_fcnvfx(srcptr,_nullptr,dstptr,status)
* sgl_to_dbl_fcnvfx(srcptr,nullptr,dstptr,status) * sgl_to_dbl_fcnvfx(srcptr,_nullptr,dstptr,status)
* sgl_to_sgl_fcnvfx(srcptr,nullptr,dstptr,status) * sgl_to_sgl_fcnvfx(srcptr,_nullptr,dstptr,status)
* *
* Internal Interfaces: * Internal Interfaces:
* *
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
int int
sgl_to_sgl_fcnvfx( sgl_to_sgl_fcnvfx(
sgl_floating_point *srcptr, sgl_floating_point *srcptr,
sgl_floating_point *nullptr, sgl_floating_point *_nullptr,
int *dstptr, int *dstptr,
sgl_floating_point *status) sgl_floating_point *status)
{ {
...@@ -141,7 +141,7 @@ sgl_to_sgl_fcnvfx( ...@@ -141,7 +141,7 @@ sgl_to_sgl_fcnvfx(
int int
sgl_to_dbl_fcnvfx( sgl_to_dbl_fcnvfx(
sgl_floating_point *srcptr, sgl_floating_point *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
dbl_integer *dstptr, dbl_integer *dstptr,
unsigned int *status) unsigned int *status)
{ {
...@@ -262,7 +262,7 @@ sgl_to_dbl_fcnvfx( ...@@ -262,7 +262,7 @@ sgl_to_dbl_fcnvfx(
int int
dbl_to_sgl_fcnvfx( dbl_to_sgl_fcnvfx(
dbl_floating_point *srcptr, dbl_floating_point *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
int *dstptr, int *dstptr,
unsigned int *status) unsigned int *status)
{ {
...@@ -373,7 +373,7 @@ dbl_to_sgl_fcnvfx( ...@@ -373,7 +373,7 @@ dbl_to_sgl_fcnvfx(
int int
dbl_to_dbl_fcnvfx( dbl_to_dbl_fcnvfx(
dbl_floating_point *srcptr, dbl_floating_point *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
dbl_integer *dstptr, dbl_integer *dstptr,
unsigned int *status) unsigned int *status)
{ {
......
...@@ -18,10 +18,10 @@ ...@@ -18,10 +18,10 @@
* Double Floating-point to Double Fixed-point /w truncated result * Double Floating-point to Double Fixed-point /w truncated result
* *
* External Interfaces: * External Interfaces:
* dbl_to_dbl_fcnvfxt(srcptr,nullptr,dstptr,status) * dbl_to_dbl_fcnvfxt(srcptr,_nullptr,dstptr,status)
* dbl_to_sgl_fcnvfxt(srcptr,nullptr,dstptr,status) * dbl_to_sgl_fcnvfxt(srcptr,_nullptr,dstptr,status)
* sgl_to_dbl_fcnvfxt(srcptr,nullptr,dstptr,status) * sgl_to_dbl_fcnvfxt(srcptr,_nullptr,dstptr,status)
* sgl_to_sgl_fcnvfxt(srcptr,nullptr,dstptr,status) * sgl_to_sgl_fcnvfxt(srcptr,_nullptr,dstptr,status)
* *
* Internal Interfaces: * Internal Interfaces:
* *
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
int int
sgl_to_sgl_fcnvfxt( sgl_to_sgl_fcnvfxt(
sgl_floating_point *srcptr, sgl_floating_point *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
int *dstptr, int *dstptr,
unsigned int *status) unsigned int *status)
{ {
...@@ -109,7 +109,7 @@ sgl_to_sgl_fcnvfxt( ...@@ -109,7 +109,7 @@ sgl_to_sgl_fcnvfxt(
int int
sgl_to_dbl_fcnvfxt( sgl_to_dbl_fcnvfxt(
sgl_floating_point *srcptr, sgl_floating_point *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
dbl_integer *dstptr, dbl_integer *dstptr,
unsigned int *status) unsigned int *status)
{ {
...@@ -183,7 +183,7 @@ sgl_to_dbl_fcnvfxt( ...@@ -183,7 +183,7 @@ sgl_to_dbl_fcnvfxt(
int int
dbl_to_sgl_fcnvfxt( dbl_to_sgl_fcnvfxt(
dbl_floating_point *srcptr, dbl_floating_point *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
int *dstptr, int *dstptr,
unsigned int *status) unsigned int *status)
{ {
...@@ -248,7 +248,7 @@ dbl_to_sgl_fcnvfxt( ...@@ -248,7 +248,7 @@ dbl_to_sgl_fcnvfxt(
int int
dbl_to_dbl_fcnvfxt( dbl_to_dbl_fcnvfxt(
dbl_floating_point *srcptr, dbl_floating_point *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
dbl_integer *dstptr, dbl_integer *dstptr,
unsigned int *status) unsigned int *status)
{ {
......
...@@ -15,10 +15,10 @@ ...@@ -15,10 +15,10 @@
* Fixed point to Floating-point Converts * Fixed point to Floating-point Converts
* *
* External Interfaces: * External Interfaces:
* dbl_to_dbl_fcnvuf(srcptr,nullptr,dstptr,status) * dbl_to_dbl_fcnvuf(srcptr,_nullptr,dstptr,status)
* dbl_to_sgl_fcnvuf(srcptr,nullptr,dstptr,status) * dbl_to_sgl_fcnvuf(srcptr,_nullptr,dstptr,status)
* sgl_to_dbl_fcnvuf(srcptr,nullptr,dstptr,status) * sgl_to_dbl_fcnvuf(srcptr,_nullptr,dstptr,status)
* sgl_to_sgl_fcnvuf(srcptr,nullptr,dstptr,status) * sgl_to_sgl_fcnvuf(srcptr,_nullptr,dstptr,status)
* *
* Internal Interfaces: * Internal Interfaces:
* *
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
int int
sgl_to_sgl_fcnvuf( sgl_to_sgl_fcnvuf(
unsigned int *srcptr, unsigned int *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
sgl_floating_point *dstptr, sgl_floating_point *dstptr,
unsigned int *status) unsigned int *status)
{ {
...@@ -104,7 +104,7 @@ sgl_to_sgl_fcnvuf( ...@@ -104,7 +104,7 @@ sgl_to_sgl_fcnvuf(
int int
sgl_to_dbl_fcnvuf( sgl_to_dbl_fcnvuf(
unsigned int *srcptr, unsigned int *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
dbl_floating_point *dstptr, dbl_floating_point *dstptr,
unsigned int *status) unsigned int *status)
{ {
...@@ -145,7 +145,7 @@ sgl_to_dbl_fcnvuf( ...@@ -145,7 +145,7 @@ sgl_to_dbl_fcnvuf(
int int
dbl_to_sgl_fcnvuf( dbl_to_sgl_fcnvuf(
dbl_unsigned *srcptr, dbl_unsigned *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
sgl_floating_point *dstptr, sgl_floating_point *dstptr,
unsigned int *status) unsigned int *status)
{ {
...@@ -227,7 +227,7 @@ dbl_to_sgl_fcnvuf( ...@@ -227,7 +227,7 @@ dbl_to_sgl_fcnvuf(
int int
dbl_to_dbl_fcnvuf( dbl_to_dbl_fcnvuf(
dbl_unsigned *srcptr, dbl_unsigned *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
dbl_floating_point *dstptr, dbl_floating_point *dstptr,
unsigned int *status) unsigned int *status)
{ {
......
...@@ -18,10 +18,10 @@ ...@@ -18,10 +18,10 @@
* Double Fixed-point to Double Floating-point * Double Fixed-point to Double Floating-point
* *
* External Interfaces: * External Interfaces:
* dbl_to_dbl_fcnvxf(srcptr,nullptr,dstptr,status) * dbl_to_dbl_fcnvxf(srcptr,_nullptr,dstptr,status)
* dbl_to_sgl_fcnvxf(srcptr,nullptr,dstptr,status) * dbl_to_sgl_fcnvxf(srcptr,_nullptr,dstptr,status)
* sgl_to_dbl_fcnvxf(srcptr,nullptr,dstptr,status) * sgl_to_dbl_fcnvxf(srcptr,_nullptr,dstptr,status)
* sgl_to_sgl_fcnvxf(srcptr,nullptr,dstptr,status) * sgl_to_sgl_fcnvxf(srcptr,_nullptr,dstptr,status)
* *
* Internal Interfaces: * Internal Interfaces:
* *
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
int int
sgl_to_sgl_fcnvxf( sgl_to_sgl_fcnvxf(
int *srcptr, int *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
sgl_floating_point *dstptr, sgl_floating_point *dstptr,
unsigned int *status) unsigned int *status)
{ {
...@@ -115,7 +115,7 @@ sgl_to_sgl_fcnvxf( ...@@ -115,7 +115,7 @@ sgl_to_sgl_fcnvxf(
int int
sgl_to_dbl_fcnvxf( sgl_to_dbl_fcnvxf(
int *srcptr, int *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
dbl_floating_point *dstptr, dbl_floating_point *dstptr,
unsigned int *status) unsigned int *status)
{ {
...@@ -166,7 +166,7 @@ sgl_to_dbl_fcnvxf( ...@@ -166,7 +166,7 @@ sgl_to_dbl_fcnvxf(
int int
dbl_to_sgl_fcnvxf( dbl_to_sgl_fcnvxf(
dbl_integer *srcptr, dbl_integer *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
sgl_floating_point *dstptr, sgl_floating_point *dstptr,
unsigned int *status) unsigned int *status)
{ {
...@@ -271,7 +271,7 @@ dbl_to_sgl_fcnvxf( ...@@ -271,7 +271,7 @@ dbl_to_sgl_fcnvxf(
int int
dbl_to_dbl_fcnvxf( dbl_to_dbl_fcnvxf(
dbl_integer *srcptr, dbl_integer *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
dbl_floating_point *dstptr, dbl_floating_point *dstptr,
unsigned int *status) unsigned int *status)
{ {
......
...@@ -14,8 +14,8 @@ ...@@ -14,8 +14,8 @@
* Quad Floating-point Round to Integer (returns unimplemented) * Quad Floating-point Round to Integer (returns unimplemented)
* *
* External Interfaces: * External Interfaces:
* dbl_frnd(srcptr,nullptr,dstptr,status) * dbl_frnd(srcptr,_nullptr,dstptr,status)
* sgl_frnd(srcptr,nullptr,dstptr,status) * sgl_frnd(srcptr,_nullptr,dstptr,status)
* *
* END_DESC * END_DESC
*/ */
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
/*ARGSUSED*/ /*ARGSUSED*/
int int
sgl_frnd(sgl_floating_point *srcptr, sgl_frnd(sgl_floating_point *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
sgl_floating_point *dstptr, sgl_floating_point *dstptr,
unsigned int *status) unsigned int *status)
{ {
...@@ -138,7 +138,7 @@ sgl_frnd(sgl_floating_point *srcptr, ...@@ -138,7 +138,7 @@ sgl_frnd(sgl_floating_point *srcptr,
int int
dbl_frnd( dbl_frnd(
dbl_floating_point *srcptr, dbl_floating_point *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
dbl_floating_point *dstptr, dbl_floating_point *dstptr,
unsigned int *status) unsigned int *status)
{ {
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
* Single Floating-point Square Root * Single Floating-point Square Root
* *
* External Interfaces: * External Interfaces:
* sgl_fsqrt(srcptr,nullptr,dstptr,status) * sgl_fsqrt(srcptr,_nullptr,dstptr,status)
* *
* Internal Interfaces: * Internal Interfaces:
* *
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
unsigned int unsigned int
sgl_fsqrt( sgl_fsqrt(
sgl_floating_point *srcptr, sgl_floating_point *srcptr,
unsigned int *nullptr, unsigned int *_nullptr,
sgl_floating_point *dstptr, sgl_floating_point *dstptr,
unsigned int *status) unsigned int *status)
{ {
......
...@@ -308,15 +308,13 @@ static int hppa_led_generic_probe(struct platform_device *pdev, ...@@ -308,15 +308,13 @@ static int hppa_led_generic_probe(struct platform_device *pdev,
return 0; return 0;
} }
static int platform_led_remove(struct platform_device *pdev) static void platform_led_remove(struct platform_device *pdev)
{ {
struct hppa_drvdata *p = platform_get_drvdata(pdev); struct hppa_drvdata *p = platform_get_drvdata(pdev);
int i; int i;
for (i = 0; i < NUM_LEDS_PER_BOARD; i++) for (i = 0; i < NUM_LEDS_PER_BOARD; i++)
led_classdev_unregister(&p->leds[i].led_cdev); led_classdev_unregister(&p->leds[i].led_cdev);
return 0;
} }
static struct led_type mainboard_led_types[NUM_LEDS_PER_BOARD] = { static struct led_type mainboard_led_types[NUM_LEDS_PER_BOARD] = {
...@@ -371,7 +369,7 @@ MODULE_ALIAS("platform:platform-leds"); ...@@ -371,7 +369,7 @@ MODULE_ALIAS("platform:platform-leds");
static struct platform_driver hppa_mainboard_led_driver = { static struct platform_driver hppa_mainboard_led_driver = {
.probe = platform_led_probe, .probe = platform_led_probe,
.remove = platform_led_remove, .remove_new = platform_led_remove,
.driver = { .driver = {
.name = "platform-leds", .name = "platform-leds",
}, },
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment