Commit Graph
100 Commits
Author SHA1 Message Date
Harvey Harrison 1beb6fa85c [SCSI] replace __inline with inline
Signed-off-by: Harvey Harrison <[email protected]>
Acked-by: Jeff Garzik <[email protected]>
Acked-by: Hannes Reinecke <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2009-04-03 10:23:16 -05:00
Harvey Harrison 63cd885426 ntfs: remove private wrapper of endian helpers
The base versions handle constant folding now and are shorter than these
private wrappers, use them directly.

Signed-off-by: Harvey Harrison <[email protected]>
Cc: Anton Altaparmakov <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-04-01 08:59:18 -07:00
Harvey Harrison 2c60b6885a kernel: remove HIPQUAD()
All users have been removed.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2009-03-28 23:55:59 -07:00
Harvey Harrison e7557af56a netpoll: store local and remote ip in net-endian
Allows for the removal of byteswapping in some places and
the removal of HIPQUAD (replaced by %pI4).

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2009-03-28 23:55:58 -07:00
Harvey Harrison f940964901 netfilter: fix endian bug in conntrack printks
dcc_ip is treated as a host-endian value in the first printk,
but the second printk uses %pI4 which expects a be32.  This
will cause a mismatch between the debug statement and the
warning statement.

Treat as a be32 throughout and avoid some byteswapping during
some comparisions, and allow another user of HIPQUAD to bite the
dust.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2009-03-28 23:55:57 -07:00
Harvey Harrison 551509d267 USB: replace uses of __constant_{endian}
The base versions handle constant folding now.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-03-24 16:20:33 -07:00
Harvey Harrison e496b617b4 PCI: __FUNCTION__ is gcc-specific, use __func__
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Jesse Barnes <[email protected]>
2009-03-19 19:29:20 -07:00
Harvey Harrison 77f18f5e4e nfs: replace uses of __constant_{endian}
The base versions handle constant folding now, none of these headers
are exported to userspace, so the __ prefixed versions are not
necessary.

Signed-off-by: Harvey Harrison <[email protected]>
Reviewed-by: NeilBrown <[email protected]>
Signed-off-by: J. Bruce Fields <[email protected]>
2009-03-18 17:30:51 -04:00
Harvey Harrison 61b8d2688a wimax: replace uses of __constant_{endian}
Base versions handle constant folding now.

Edited by Inaky to fix conflicts due to changes in netdev.c

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Inaky Perez-Gonzalez <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2009-03-02 03:10:27 -08:00
Harvey Harrison e32740d978 ALSA: pcxhr.h replace signed one-bit bitfields
The usage and comments make it clear values of 1/0 were intended
rather than -1/0

Noticed by sparse:
sound/pci/pcxhr/pcxhr.h:100:20: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:101:22: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:102:24: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:103:21: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:104:25: error: dubious one-bit signed bitfield
sound/pci/pcxhr/pcxhr.h:105:20: error: dubious one-bit signed bitfield

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
2009-02-20 08:02:37 +01:00
Harvey Harrison f3a7c66b5c net: replace __constant_{endian} uses in net headers
Base versions handle constant folding now.  For headers exposed to
userspace, we must only expose the __ prefixed versions.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2009-02-14 22:58:35 -08:00
Harvey Harrison 35c26c2cf6 rndis: remove private wrapper of __constant_cpu_to_le32
Use cpu_to_le32 directly as it handles constant folding now, replace direct
uses of __constant_cpu_to_{endian} as well.

Signed-off-by: Harvey Harrison <[email protected]>
Acked-by: David Brownell <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2009-02-14 22:56:56 -08:00
Harvey Harrison e930e99500 ALSA: echoaudio - replace uses of __constant_{endian}
The base versions handle constant folding now.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
2009-02-12 00:24:11 +01:00
Harvey Harrison c1b4aa3fb6 wireless: replace uses of __constant_{endian}
The base versions handle constant folding now.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
2009-02-09 15:03:43 -05:00
Harvey Harrison 09640e6365 net: replace uses of __constant_{endian}
Base versions handle constant folding now.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2009-02-01 00:45:17 -08:00
Harvey Harrison ee437770c4 wimax: replace uses of __constant_{endian}
Base versions handle constant folding now.

Signed-off-by: Harvey Harrison <[email protected]>
Acked-by: Inaky Perez-Gonzalez <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2009-02-01 00:43:54 -08:00
Harvey Harrison c95741deef prism54: remove private implementation of le32_add_cpu
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
2009-01-29 16:00:28 -05:00
Harvey Harrison 6aeea60aee m68k{nommu}: fixups after the header move
swab.h seems to have been missed during the header merge.
Add conditionals similar to byteorder.h and remove the
now unnecessary byteorder_no/mm.h

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-26 10:38:43 -08:00
Harvey Harrison 52d07b1f50 bnx2: annotate bp->phy_lock functions
It looks like the locking is OK as the locks were being taken before the
various phy setup functions, add the annotations as they release and
reacquire the phy_lock.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2009-01-21 14:39:26 -08:00
Harvey Harrison 649aa95d75 typhoon: replace users of __constant_{endian}
The base versions handle constant folding just fine, use them
directly.

Signed-off-by: Harvey Harrison <[email protected]>
Acked-by: David Dillow <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2009-01-21 14:34:08 -08:00
Harvey Harrison 9c3da09917 IB: Remove __constant_{endian} uses
The base versions handle constant folding just fine, use them
directly.  The replacements are OK in the include/ files as they are
not exported to userspace so we don't need the __ prefixed versions.

This patch does not affect code generation at all.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Roland Dreier <[email protected]>
2009-01-17 17:11:57 -08:00
Harvey Harrison 74d96f0186 byteorder: make swab.h include asm/swab.h like a regular header
Add swab.h to kbuild.asm and remove the individual entries from
each arch, mark as unifdef as some arches have some kernel-only
bits inside.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-14 19:56:50 -08:00
Harvey Harrison aa0effbd1c cris: introduce asm/swab.h
Adjust the arch overrides to the new names as well.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-14 19:56:49 -08:00
Harvey Harrison 03080e5cbe RDMA/nes: Fix for NIPQUAD removal
Commit 63779436 ("drivers: replace NIPQUAD()") accidentally replaced
some HIPQUAD()s, causing IP addresses to be printed in reverse order.
Add temporary local vars until the byteswapping can be pushed further
up the stack.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Roland Dreier <[email protected]>
2009-01-10 21:45:42 -08:00
Harvey Harrison 69347a236b memstick: annotate endianness of attribute structs
The code was shifting the endianness appropriately everywhere, annotate
the structs to avoid the sparse warnings when assigning the endian types
to the struct members, or passing them to be[16|32]_to_cpu:

drivers/memstick/core/mspro_block.c:331:4: warning: cast to restricted __be16
drivers/memstick/core/mspro_block.c:333:4: warning: cast to restricted __be16
drivers/memstick/core/mspro_block.c:335:4: warning: cast to restricted __be16
drivers/memstick/core/mspro_block.c:337:4: warning: cast to restricted __be16
drivers/memstick/core/mspro_block.c:341:4: warning: cast to restricted __be16
drivers/memstick/core/mspro_block.c:347:4: warning: cast to restricted __be32
drivers/memstick/core/mspro_block.c:356:4: warning: cast to restricted __be16
drivers/memstick/core/mspro_block.c:358:4: warning: cast to restricted __be16
drivers/memstick/core/mspro_block.c:364:4: warning: cast to restricted __be16
drivers/memstick/core/mspro_block.c:367:4: warning: cast to restricted __be16
drivers/memstick/core/mspro_block.c:369:4: warning: cast to restricted __be16
drivers/memstick/core/mspro_block.c:371:4: warning: cast to restricted __be16
drivers/memstick/core/mspro_block.c:377:4: warning: cast to restricted __be16
drivers/memstick/core/mspro_block.c:478:4: warning: cast to restricted __be16
drivers/memstick/core/mspro_block.c:480:4: warning: cast to restricted __be16
drivers/memstick/core/mspro_block.c:482:4: warning: cast to restricted __be16
drivers/memstick/core/mspro_block.c:484:4: warning: cast to restricted __be16
drivers/memstick/core/mspro_block.c:486:4: warning: cast to restricted __be16
drivers/memstick/core/mspro_block.c:689:22:    expected unsigned int [unsigned] [assigned] data_address
drivers/memstick/core/mspro_block.c:689:22:    got restricted __be32 [usertype] <noident>
drivers/memstick/core/mspro_block.c:697:3: warning: cast to restricted __be32
drivers/memstick/core/mspro_block.c:960:17: warning: incorrect type in initializer (different base types)
drivers/memstick/core/mspro_block.c:960:17:    expected unsigned short [unsigned] data_count
drivers/memstick/core/mspro_block.c:960:17:    got restricted __be16 [usertype] <noident>
drivers/memstick/core/mspro_block.c:993:6: warning: cast to restricted __be16
drivers/memstick/core/mspro_block.c:995:28: warning: cast to restricted __be16

Signed-off-by: Harvey Harrison <[email protected]>
Cc: Alex Dubov <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-09 16:54:41 -08:00
Harvey Harrison e245b80c83 parisc: introduce asm/swab.h
Fix for the linux/byteorder.h removal.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-09 12:46:23 -08:00
Harvey Harrison d599edcaea staging: __FUNCTION__ is gcc-specific, use __func__
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-07 15:48:54 -08:00
Harvey Harrison 9b4778f680 trivial: replace last usages of __FUNCTION__ in kernel
__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <[email protected]>
Acked-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-07 15:48:54 -08:00
Harvey Harrison 8903709b05 xtensa: introduce swab.h
Fixes compile breakage as linux/byteorder.h was removed.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-07 12:22:04 -08:00
Harvey Harrison d767d88875 USB: wusb: annotate association types withe proper endianness
Also a trivial annotation in rh.c for:
drivers/usb/wusbcore/rh.c:366:9: warning: incorrect type in assignment (different base types)
drivers/usb/wusbcore/rh.c:366:9:    expected unsigned short [unsigned] [short] [usertype] <noident>
drivers/usb/wusbcore/rh.c:366:9:    got restricted __le16 [usertype] <noident>
drivers/usb/wusbcore/rh.c:367:9: warning: incorrect type in assignment (different base types)
drivers/usb/wusbcore/rh.c:367:9:    expected unsigned short [unsigned] [short] [usertype] <noident>
drivers/usb/wusbcore/rh.c:367:9:    got restricted __le16 [usertype] <noident>

Association types annotation fixes piles of warnings similar to:
drivers/usb/wusbcore/cbaf.c:238:30: warning: incorrect type in initializer (different base types)
drivers/usb/wusbcore/cbaf.c:238:30:    expected restricted __le16 [usertype] id
drivers/usb/wusbcore/cbaf.c:238:30:    got int
drivers/usb/wusbcore/cbaf.c:238:30: warning: incorrect type in initializer (different base types)
drivers/usb/wusbcore/cbaf.c:238:30:    expected restricted __le16 [usertype] len
drivers/usb/wusbcore/cbaf.c:238:30:    got int

Signed-off-by: Harvey Harrison <[email protected]>
Cc: David Vrabel <[email protected]>
Cc: Inaky Perez-Gonzalez <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-01-07 09:59:51 -08:00
Harvey Harrison da2bbdcc38 USB: avoid needless address-taking of function parameters
There's no need to take the address of the function params or local variables
when the direct value byteswapping routines are available.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-01-07 09:59:50 -08:00
Harvey Harrison 637b180c23 byteorder: remove the now unused byteorder.h
This implementation caused problems in userspace which can, and does
define _both_ __LITTLE_ENDIAN and __BIG_ENDIAN.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 19:45:13 -08:00
Harvey Harrison 5cbd04ae36 mn10300: introduce asm/swab.h
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 18:10:29 -08:00
Harvey Harrison 919594765d frv: introduce asm/swab.h
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 18:10:28 -08:00
Harvey Harrison f15d411ad9 m32r: introduce asm/swab.h
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 18:10:28 -08:00
Harvey Harrison 231cc432f4 m68knommu: introduce asm/swab.h
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 18:10:28 -08:00
Harvey Harrison fc61708b3a h8300: introduce asm/swab.h
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 18:10:28 -08:00
Harvey Harrison ae189623b7 ia64: introduce asm/swab.h
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 18:10:28 -08:00
Harvey Harrison cfcac2f7dd blackfin: introduce asm/swab.h
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 18:10:28 -08:00
Harvey Harrison af8e24e96f arm: introduce asm/swab.h
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 18:10:28 -08:00
Harvey Harrison dd8b72c0cc alpha: introduce asm/swab.h
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 18:10:27 -08:00
Harvey Harrison c6f09f0c32 m68k: introduce asm/swab.h
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 18:10:27 -08:00
Harvey Harrison 5d30a68388 x86: introduce asm/swab.h
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 18:10:27 -08:00
Harvey Harrison f4d2b14501 sparc: introduce asm/swab.h
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 18:10:27 -08:00
Harvey Harrison 1af84a6253 sh: introduce asm/swab.h
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 18:10:27 -08:00
Harvey Harrison 13f7877bb5 s390: introduce asm/swab.h
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 18:10:27 -08:00
Harvey Harrison 156ca2bbf6 powerpc: introduce asm/swab.h
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 18:10:27 -08:00
Harvey Harrison 8cdd3a9261 mips: introduce asm/swab.h
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 18:10:27 -08:00
Harvey Harrison 292b4d0978 avr32: introduce asm/swab.h
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 18:10:26 -08:00
Harvey Harrison 991c0e6d1a byteorder: only use linux/swab.h
The first step to make swab.h a regular header that will
include an asm/swab.h with arch overrides.

Avoid the gratuitous differences introduced in the new
linux/swab.h by naming the ___constant_swabXX bits and
__fswabXX bits exactly as found in the old implementation
in byteorder/swab[b].h

Use this new swab.h in byteorder/[big|little]_endian.h and
remove the two old swab headers.

Although the inclusion of asm/byteorder.h looks strange in
linux/swab.h, this will allow each arch to move the actual
arch overrides for the swab bits in an asm file and then
the includes can be cleaned up without requiring a flag day
for all arches at once.

Keep providing __fswabXX in case some userspace was using them
directly, but the revised __swabXX should be used instead in
any new code and will always do constant folding not dependent
on the optimization level, which means the __constant versions
can be phased out in-kernel.

Arches that use the old-style arch macros will lose their
optimized versions until they move to the new style, but at
least they will still compile.  Many arches have already moved
and the patches to move the remaining arches are trivial.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 18:10:26 -08:00
Harvey Harrison 08cc6341cc fb: carminefb: trivial annotation packing color register
drivers/video/carminefb.c:171:41: warning: cast to restricted __be32

Signed-off-by: Harvey Harrison <[email protected]>
Cc: Sebastian Siewior <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 15:59:26 -08:00
Harvey Harrison 729f77bbe5 blackfin: remove __FUNCTION__ in video driver
__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <[email protected]>
Acked-by: Bryan Wu <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 15:59:26 -08:00
Harvey Harrison 29041b4b1a ibmpex: add endian annotation to extract_data() helper
Signed-off-by: Harvey Harrison <[email protected]>
Cc: "Darrick J. Wong" <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 15:59:18 -08:00
Harvey Harrison 3007967742 lib: proportions.c trivial sparse lock annotation
Suppresses sparse warning:
lib/proportions.c:159:16: warning: context imbalance in 'prop_get_global': wrong count at exit
lib/proportions.c:159:16:    context 'RCU': wanted 0, got 1
lib/proportions.c:164:2: warning: context imbalance in 'prop_put_global': unexpected unlock
lib/proportions.c:164:2:    context 'RCU': wanted 0, got -1

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 15:59:11 -08:00
Harvey Harrison 8cef7d57a4 lib: radix_tree.c make percpu variable static
radix_tree_preloads is unused outside of this file, make it static.

Noticed by sparse:
lib/radix-tree.c:84:1: warning: symbol 'per_cpu__radix_tree_preloads' was not declared. Should it be static?

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 15:59:11 -08:00
Harvey Harrison 40bc1f2dbc lib: fix sparse shadowed variable warning
pos is always set before being used, no need to declare a
second one inside the if() block.

lib/prio_heap.c:34:7: warning: symbol 'pos' shadows an earlier one
lib/prio_heap.c:30:6: originally declared here

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-06 15:59:11 -08:00
Harvey Harrison 9febd042da Staging: go7007: annotate code pointers
They are treated as __le16 everywhere, annotate as such.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-01-06 13:52:06 -08:00
Harvey Harrison a337957247 staging: correct dubious use of !x & y
Noticed by sparse:
drivers/staging/me4000/me4000.c:1213:43: warning: dubious: !x & y
drivers/staging/wlan-ng/p80211wext.c:1583:21: warning: dubious: !x & y

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
2009-01-06 13:51:38 -08:00
Harvey Harrison d2e6675fff parisc: use the new byteorder headers
Signed-off-by: Harvey Harrison <[email protected]>
Cc: Matthew Wilcox <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Kyle McMartin <[email protected]>
2009-01-05 18:15:24 +00:00
Harvey Harrison 55ba474dae GFS2: sparse annotation of gl->gl_spin
fs/gfs2/glock.c:308:5: warning: context problem in 'do_promote': '_spin_unlock' expected different context
fs/gfs2/glock.c:308:5:    context '*gl+28': wanted >= 1, got 0
fs/gfs2/glock.c:529:2: warning: context problem in 'do_xmote': '_spin_unlock' expected different context
fs/gfs2/glock.c:529:2:    context '*gl+28': wanted >= 1, got 0
fs/gfs2/glock.c:925:3: warning: context problem in 'add_to_queue': '_spin_unlock' expected different context
fs/gfs2/glock.c:925:3:    context '*gl+28': wanted >= 1, got 0

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Steven Whitehouse <[email protected]>
2009-01-05 07:38:50 +00:00
Harvey Harrison c82cdea1e1 ieee1934: dv1394: interrupt enabling/disabling broken on big-endian
After annotating the frame structs, this was left:
drivers/ieee1394/dv1394.c:2113:23: warning: invalid assignment: |=
drivers/ieee1394/dv1394.c:2113:23:    left side has type restricted __le32
drivers/ieee1394/dv1394.c:2113:23:    right side has type int
drivers/ieee1394/dv1394.c:2121:24: warning: invalid assignment: &=
drivers/ieee1394/dv1394.c:2121:24:    left side has type restricted __le32
drivers/ieee1394/dv1394.c:2121:24:    right side has type int
drivers/ieee1394/dv1394.c:2123:24: warning: invalid assignment: |=
drivers/ieee1394/dv1394.c:2123:24:    left side has type restricted __le32
drivers/ieee1394/dv1394.c:2123:24:    right side has type int

Which looks like a real bug on a big-endian arch as it would set/clear
the wrong bit.

Signed-off-by: Harvey Harrison <[email protected]>

Bill Fink writes:

I finally got a chance to test the patch on my kernel, and live DV
viewing using xine still worked fine.  Although I admit to being
mystified how it works both before and after the patch, since the
cpu_to_le32() calls that were added should result in byte swapping on
PPC that wasn't being done before.  I guess that either the code paths
involved aren't actually being triggered by my xine DV viewing, or
there's some fortuitous palindromic setting of bits.

Tested-by: Bill Fink <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
2009-01-04 23:50:36 +01:00
Harvey Harrison 7d7039d365 ieee1394: dv1394: annotate frame input/output structs as little endian
No Functional changes.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
2009-01-04 23:50:36 +01:00
Harvey Harrison faf26bcc47 ieee1394: eth1394: trivial sparse annotations
Mostly annotations of ether_type as a be16.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
2009-01-04 23:50:35 +01:00
Harvey Harrison debb48063a ieee1394: mark bus_info_data as a __be32 array
Two access functions get_max_rom and set_hw_config_rom are
changed to take __be32 as well.  Only bus_info_data was
ever passed in so this is OK.  All other uses of bus_info_data
treated it as a be32 value already.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
2009-01-04 23:50:35 +01:00
Harvey Harrison a5e6f64dda ieee1394: replace CSR_SET_BUS_INFO_GENERATION macro
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
2009-01-04 23:50:35 +01:00
Harvey Harrison c816015860 ieee1394: pcilynx: trivial endian annotation
bus_info_block was treated as a be32 everywhere, annotate
as such.  Removes plenty of sparse warnings.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
2009-01-04 23:50:34 +01:00
Harvey Harrison c1fc58d63d ieee1394: consolidate uses of IEEE1934_BUSID_MAGIC
Move the definition out of nodemgr.h and use it in csr.c/pcilynx.c

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Stefan Richter <[email protected]>
2009-01-04 23:50:34 +01:00
Harvey Harrison 6ef53066ff __FUNCTION__ is gcc-specific, use __func__
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Alan Cox <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2009-01-02 10:19:42 -08:00
Harvey Harrison b7a03210b7 mmc: trivial annotation of 'blocks'
sg_init_one is reading a be32, annotate as such.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Pierre Ossman <[email protected]>
2008-12-31 18:18:11 +01:00
Harvey Harrison 292ee46107 V4L/DVB (9637): usb vendor_ids/product_ids are __le16
Noticed by sparse:
drivers/media/dvb/dvb-usb/af9015.c:756:25: warning: restricted __le16 degrades to integer
drivers/media/dvb/dvb-usb/af9015.c:744:28: warning: restricted __le16 degrades to integer

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2008-12-29 17:53:34 -02:00
Harvey Harrison b3d8466fd0 V4L/DVB (9636): dvb: cinergyt2 annotate struct endianness, remove unused variable, add static
All noticed by sparse:
drivers/media/dvb/dvb-usb/cinergyT2-core.c:35:5: warning: symbol 'disable_remote' was not declared. Should it be static?
drivers/media/dvb/dvb-usb/cinergyT2-core.c:48:23: warning: symbol 'cinergyt2_usb_device' was not declared. Should it be static?
drivers/media/dvb/dvb-usb/cinergyT2-fe.c:160:15: warning: cast to restricted __le16
drivers/media/dvb/dvb-usb/cinergyT2-fe.c:190:9: warning: cast to restricted __le32
drivers/media/dvb/dvb-usb/cinergyT2-fe.c:208:9: warning: cast to restricted __le32
drivers/media/dvb/dvb-usb/cinergyT2-fe.c:227:24: warning: cast to restricted __le16
drivers/media/dvb/dvb-usb/cinergyT2-fe.c:275:12: warning: incorrect type in assignment (different base types)
drivers/media/dvb/dvb-usb/cinergyT2-fe.c:275:12:    expected unsigned short [unsigned] [assigned] [usertype] tps
drivers/media/dvb/dvb-usb/cinergyT2-fe.c:275:12:    got restricted __le16 [usertype] <noident>
drivers/media/dvb/dvb-usb/cinergyT2-fe.c:276:13: warning: incorrect type in assignment (different base types)
drivers/media/dvb/dvb-usb/cinergyT2-fe.c:276:13:    expected unsigned int [unsigned] [assigned] [usertype] freq
drivers/media/dvb/dvb-usb/cinergyT2-fe.c:276:13:    got restricted __le32 [usertype] <noident>

Cc: Thierry Merle <[email protected]>
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2008-12-29 17:53:34 -02:00
Harvey Harrison aa6eeeef78 m68k: use the new byteorder headers
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
2008-12-28 20:00:07 +01:00
Harvey Harrison 64253acbf1 [S390] s390: use the new byteorder headers
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Martin Schwidefsky <[email protected]>
2008-12-25 13:39:13 +01:00
Harvey Harrison f0d1ec3a22 crypto: salsa20 - Remove private wrappers around various operations
ROTATE -> rol32
XOR was always used with the same destination, use ^=
PLUS/PLUSONE use ++ or +=

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
2008-12-25 11:02:30 +11:00
Harvey Harrison dad3df2044 crypto: remove uses of __constant_{endian} helpers
Base versions handle constant folding just fine.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
2008-12-25 11:02:03 +11:00
Harvey Harrison 32bd78e0a5 crypto: camellia - use kernel-provided bitops, unaligned access
Remove the private implementation of 32-bit rotation and unaligned
access with byteswapping.

As a bonus, fixes sparse warnings:
crypto/camellia.c:602:2: warning: cast to restricted __be32
crypto/camellia.c:603:2: warning: cast to restricted __be32
crypto/camellia.c:604:2: warning: cast to restricted __be32
crypto/camellia.c:605:2: warning: cast to restricted __be32
crypto/camellia.c:710:2: warning: cast to restricted __be32
crypto/camellia.c:711:2: warning: cast to restricted __be32
crypto/camellia.c:712:2: warning: cast to restricted __be32
crypto/camellia.c:713:2: warning: cast to restricted __be32
crypto/camellia.c:714:2: warning: cast to restricted __be32
crypto/camellia.c:715:2: warning: cast to restricted __be32
crypto/camellia.c:716:2: warning: cast to restricted __be32
crypto/camellia.c:717:2: warning: cast to restricted __be32

[Thanks to Tomoyuki Okazaki for spotting the typo]
Tested-by: Carlo E. Prelz <[email protected]>
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
2008-12-25 11:01:15 +11:00
Harvey Harrison cd8e4679bd dlm: trivial annotation of be16 value
fs/dlm/dir.c:419:14: warning: incorrect type in assignment (different base types)
fs/dlm/dir.c:419:14:    expected unsigned short [unsigned] [addressable] [assigned] [usertype] be_namelen
fs/dlm/dir.c:419:14:    got restricted __be16 [usertype] <noident>

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David Teigland <[email protected]>
2008-12-23 10:15:51 -06:00
Harvey Harrison 3a0c58ddcd Input: ads7846 - strict_strtoul takes unsigned long
Fix sparse warning introduced by:
commit 160f1fef7e Input: convert drivers to use strict_strtoul()

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Dmitry Torokhov <[email protected]>
2008-12-23 04:36:44 -05:00
Harvey Harrison 2b895c3f35 i2c-highlander: Trivial endian casting fixes
Fixes sparse warnings:
drivers/i2c/busses/i2c-highlander.c:95:26: warning: incorrect type in argument 1 (different base types)
drivers/i2c/busses/i2c-highlander.c:95:26:    expected restricted __be16 const [usertype] *p
drivers/i2c/busses/i2c-highlander.c:95:26:    got unsigned short [usertype] *<noident>
drivers/i2c/busses/i2c-highlander.c:106:15: warning: incorrect type in assignment (different base types)
drivers/i2c/busses/i2c-highlander.c:106:15:    expected unsigned short [unsigned] [short] [usertype] <noident>
drivers/i2c/busses/i2c-highlander.c:106:15:    got restricted __be16

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Cc: Ben Dooks <[email protected]>
Acked-by: Paul Mundt <[email protected]>
Signed-off-by: Jean Delvare <[email protected]>
2008-12-11 12:11:21 +01:00
Harvey Harrison d9d38ca07d i2c-pmcmsp: Fix endianness misannotation
tmp is used as host-endian and is loaded from a be64, fix the cast and the
endian accessor used.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Cc: Ben Dooks <[email protected]>
Signed-off-by: Jean Delvare <[email protected]>
2008-12-11 12:11:20 +01:00
Harvey Harrison c80a7b265f [MTD] remove private wrapper of endian helpers in rfd_ftl.c
Base versions handle constant folding just fine.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
2008-12-10 15:39:09 +00:00
Harvey Harrison 51e9bf5d79 iwlwifi: remove uses of __constant_{endian} helpers
The base versions handle constant folding just fine.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
2008-12-05 09:32:12 -05:00
Harvey Harrison 5d9ec854bf fuse: clean up annotations of fc->lock
Makes the existing annotations match the more common one per line style
and adds a few missing annotations.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Miklos Szeredi <[email protected]>
2008-12-02 14:49:42 +01:00
Harvey Harrison 475ad8e217 decnet: compile fix for removal of byteorder wrapper
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-11-27 23:04:13 -08:00
Harvey Harrison c4106aa88a decnet: remove private wrappers of endian helpers
Signed-off-by: Harvey Harrison <[email protected]>
Reviewed-by: Steven Whitehouse <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-11-27 00:12:47 -08:00
Harvey Harrison 411c41eea5 aoe: remove private mac address format function
Add %pm to omit the colons when printing a mac address.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-11-25 00:40:37 -08:00
Harvey Harrison c19d0369d4 isdn: isdn_net.c annotate struct ip_ports and trivial sparse fixes
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-11-20 04:10:51 -08:00
Harvey Harrison 21d1a161f6 net: ip_sockglue.c add static, annotate ports' endianness
Fixes sparse warnings:
net/ipv4/ip_sockglue.c:146:15: warning: incorrect type in assignment (different base types)
net/ipv4/ip_sockglue.c:146:15:    expected restricted __be16 [assigned] [usertype] sin_port
net/ipv4/ip_sockglue.c:146:15:    got unsigned short [unsigned] [short] [usertype] <noident>
net/ipv4/ip_sockglue.c:130:6: warning: symbol 'ip_cmsg_recv_dstaddr' was not declared. Should it be static?

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-11-20 01:54:27 -08:00
Harvey Harrison b88ed5cc88 net: ipg.c fix bracing on endian swapping
rxfd->frag_info is a __le64, IPG_RFI_FRAGLEN is a cpu-endian
constant and wants to be outside of the le64_to_cpu. Fixed
in multiple places.

Also an occurrence where le64_to_cpu was used instead of cpu_to_le64

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-11-19 15:54:38 -08:00
Harvey Harrison 31c221c49f net: jme.c rxdesc.flags is __le16, other missing endian swaps
This is the minimal patch to fix endian mismatches.  These are
probably bugs on big-endian arches, noops on little endian.

jme_rxsum_ok could be improved to directly take a __le16 and
change all of the masks/sets to be in little-endian, but
has not been done here to keep the patch small.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-11-19 15:50:59 -08:00
Harvey Harrison 584c650b4e isdn: remove extra byteswap in isdn_net_ciscohdlck_slarp_send_reply
commit a144ea4b7a [IPV4]: annotate struct in_ifaddr

Missed this extra byteswap as the isdn inlines hide the htonl inside
put_u32 which causes an extra byteswap on little-endian arches.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-11-16 23:03:45 -08:00
Harvey Harrison deaf53e3c8 V4L/DVB (9635): v4l: s2255drv fix firmware test on big-endian
Noticed by sparse:
drivers/media/video/s2255drv.c:2531:6: warning: restricted __le32 degrades to integer

Cc: Dean Anderson <[email protected]>
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2008-11-16 23:57:23 -02:00
Harvey Harrison 00bcd522ea isdn: use %pI4, remove get_{u8/u16/u32} and put_{u8/u16/u32} inlines
They would have been better named as get_be16, put_be16, etc.
as they were hiding an endian shift inside.

They don't add much over explicitly coding the byteshifting
and gcc sometimes has a problem with builtin_constant_p inside
inline functions, so it may do a better job of byteswapping
at compile time rather than runtime.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-11-13 22:41:29 -08:00
Harvey Harrison 91a15026eb xtensa: switch to packed struct unaligned access implementation
Rely on byteorder.h checking for endianness.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Chris Zankel <[email protected]>
2008-11-11 06:14:10 -08:00
Harvey Harrison b7b45f47d6 netfilter: payload_len is be16, add size of struct rather than size of pointer
payload_len is a be16 value, not cpu_endian, also the size of a ponter
to a struct ipv6hdr was being added, not the size of the struct itself.

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-11-10 16:46:06 -08:00
Harvey Harrison 19f47c634e x86: x86_32 has its own irq_regs definition
Impact: cleanup

Arches that have their own irq_regs definition are expected to
define ARCH_HAS_OWN_IRQ_REGS or else a generic (unused) set
will also be defined in lib/irq_regs.c

Sparse noticed the unused generic one had no prototype:
lib/irq_regs.c:15:1: warning: symbol 'per_cpu____irq_regs' was not declared. Should it be static?

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
2008-11-10 08:41:47 +01:00
Harvey Harrison f574179b63 tipc: trivial endian annotation in debug statement
Use htonl rather than ntohl on a u32.
net/tipc/name_table.c:557:2: warning: cast to restricted __be32

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-11-07 23:37:50 -08:00
Harvey Harrison 5c7f033358 phonet: sparse annotations of protocol, remove forward declaration
net/phonet/af_phonet.c:38:36: error: marked inline, but without a definition
net/phonet/pep-gprs.c:63:10: warning: incorrect type in return expression (different base types)
net/phonet/pep-gprs.c:63:10:    expected int
net/phonet/pep-gprs.c:63:10:    got restricted __be16 [usertype] <noident>
net/phonet/pep-gprs.c:65:10: warning: incorrect type in return expression (different base types)
net/phonet/pep-gprs.c:65:10:    expected int
net/phonet/pep-gprs.c:65:10:    got restricted __be16 [usertype] <noident>
net/phonet/pep-gprs.c:124:16: warning: incorrect type in assignment (different base types)
net/phonet/pep-gprs.c:124:16:    expected restricted __be16 [usertype] protocol
net/phonet/pep-gprs.c:124:16:    got unsigned short [unsigned] [usertype] protocol

Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-11-06 23:10:50 -08:00
Harvey Harrison ca62059b7e ipvs: oldlen, newlen should be be16, not be32
Noticed by sparse:
net/netfilter/ipvs/ip_vs_proto_tcp.c:195:6: warning: incorrect type in argument 5 (different base types)
net/netfilter/ipvs/ip_vs_proto_tcp.c:195:6:    expected restricted __be16 [usertype] oldlen
net/netfilter/ipvs/ip_vs_proto_tcp.c:195:6:    got restricted __be32 [usertype] <noident>
net/netfilter/ipvs/ip_vs_proto_tcp.c:196:6: warning: incorrect type in argument 6 (different base types)
net/netfilter/ipvs/ip_vs_proto_tcp.c:196:6:    expected restricted __be16 [usertype] newlen
net/netfilter/ipvs/ip_vs_proto_tcp.c:196:6:    got restricted __be32 [usertype] <noident>
net/netfilter/ipvs/ip_vs_proto_tcp.c:270:6: warning: incorrect type in argument 5 (different base types)
net/netfilter/ipvs/ip_vs_proto_tcp.c:270:6:    expected restricted __be16 [usertype] oldlen
net/netfilter/ipvs/ip_vs_proto_tcp.c:270:6:    got restricted __be32 [usertype] <noident>
net/netfilter/ipvs/ip_vs_proto_tcp.c:271:6: warning: incorrect type in argument 6 (different base types)
net/netfilter/ipvs/ip_vs_proto_tcp.c:271:6:    expected restricted __be16 [usertype] newlen
net/netfilter/ipvs/ip_vs_proto_tcp.c:271:6:    got restricted __be32 [usertype] <noident>
net/netfilter/ipvs/ip_vs_proto_udp.c:206:6: warning: incorrect type in argument 5 (different base types)
net/netfilter/ipvs/ip_vs_proto_udp.c:206:6:    expected restricted __be16 [usertype] oldlen
net/netfilter/ipvs/ip_vs_proto_udp.c:206:6:    got restricted __be32 [usertype] <noident>
net/netfilter/ipvs/ip_vs_proto_udp.c:207:6: warning: incorrect type in argument 6 (different base types)
net/netfilter/ipvs/ip_vs_proto_udp.c:207:6:    expected restricted __be16 [usertype] newlen
net/netfilter/ipvs/ip_vs_proto_udp.c:207:6:    got restricted __be32 [usertype] <noident>
net/netfilter/ipvs/ip_vs_proto_udp.c:282:6: warning: incorrect type in argument 5 (different base types)
net/netfilter/ipvs/ip_vs_proto_udp.c:282:6:    expected restricted __be16 [usertype] oldlen
net/netfilter/ipvs/ip_vs_proto_udp.c:282:6:    got restricted __be32 [usertype] <noident>
net/netfilter/ipvs/ip_vs_proto_udp.c:283:6: warning: incorrect type in argument 6 (different base types)
net/netfilter/ipvs/ip_vs_proto_udp.c:283:6:    expected restricted __be16 [usertype] newlen
net/netfilter/ipvs/ip_vs_proto_udp.c:283:6:    got restricted __be32 [usertype] <noident>

Signed-off-by: Harvey Harrison <[email protected]>
Acked-by: Simon Horman <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2008-11-06 23:09:56 -08:00
Harvey Harrison 206ead2837 xtensa: use the new byteorder headers
Signed-off-by: Harvey Harrison <[email protected]>
Signed-off-by: Chris Zankel <[email protected]>
2008-11-06 06:46:29 -08:00