Skip to content

Commit

Permalink
Merge branch 'sg' of git://git.kernel.dk/linux-2.6-block
Browse files Browse the repository at this point in the history
* 'sg' of git://git.kernel.dk/linux-2.6-block:
  [SG] Get rid of __sg_mark_end()
  cleanup asm/scatterlist.h includes
  SG: Make sg_init_one() use general table init functions
  • Loading branch information
Linus Torvalds committed Nov 3, 2007
2 parents a7e1e00 + c46f233 commit 160acc2
Show file tree
Hide file tree
Showing 43 changed files with 45 additions and 75 deletions.
2 changes: 1 addition & 1 deletion block/ll_rw_blk.c
Original file line number Diff line number Diff line change
Expand Up @@ -1369,7 +1369,7 @@ int blk_rq_map_sg(struct request_queue *q, struct request *rq,
} /* segments in rq */

if (sg)
__sg_mark_end(sg);
sg_mark_end(sg);

return nsegs;
}
Expand Down
1 change: 0 additions & 1 deletion crypto/anubis.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@
#include <linux/module.h>
#include <linux/mm.h>
#include <asm/byteorder.h>
#include <asm/scatterlist.h>
#include <linux/crypto.h>
#include <linux/types.h>

Expand Down
1 change: 0 additions & 1 deletion crypto/blowfish.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
#include <linux/module.h>
#include <linux/mm.h>
#include <asm/byteorder.h>
#include <asm/scatterlist.h>
#include <linux/crypto.h>
#include <linux/types.h>

Expand Down
1 change: 0 additions & 1 deletion crypto/compress.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
#include <linux/types.h>
#include <linux/crypto.h>
#include <linux/errno.h>
#include <asm/scatterlist.h>
#include <linux/string.h>
#include "internal.h"

Expand Down
1 change: 0 additions & 1 deletion crypto/crypto_null.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
#include <linux/init.h>
#include <linux/module.h>
#include <linux/mm.h>
#include <asm/scatterlist.h>
#include <linux/crypto.h>
#include <linux/string.h>

Expand Down
1 change: 0 additions & 1 deletion crypto/khazad.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
#include <linux/module.h>
#include <linux/mm.h>
#include <asm/byteorder.h>
#include <asm/scatterlist.h>
#include <linux/crypto.h>
#include <linux/types.h>

Expand Down
1 change: 0 additions & 1 deletion crypto/sha1_generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
#include <linux/cryptohash.h>
#include <linux/types.h>
#include <crypto/sha.h>
#include <asm/scatterlist.h>
#include <asm/byteorder.h>

struct sha1_ctx {
Expand Down
1 change: 0 additions & 1 deletion crypto/sha256_generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
#include <linux/crypto.h>
#include <linux/types.h>
#include <crypto/sha.h>
#include <asm/scatterlist.h>
#include <asm/byteorder.h>

struct sha256_ctx {
Expand Down
1 change: 0 additions & 1 deletion crypto/sha512.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
#include <linux/types.h>
#include <crypto/sha.h>

#include <asm/scatterlist.h>
#include <asm/byteorder.h>

struct sha512_ctx {
Expand Down
1 change: 0 additions & 1 deletion crypto/tea.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
#include <linux/module.h>
#include <linux/mm.h>
#include <asm/byteorder.h>
#include <asm/scatterlist.h>
#include <linux/crypto.h>
#include <linux/types.h>

Expand Down
1 change: 0 additions & 1 deletion crypto/tgr192.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
#include <linux/module.h>
#include <linux/mm.h>
#include <asm/byteorder.h>
#include <asm/scatterlist.h>
#include <linux/crypto.h>
#include <linux/types.h>

Expand Down
1 change: 0 additions & 1 deletion crypto/wp512.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
#include <linux/module.h>
#include <linux/mm.h>
#include <asm/byteorder.h>
#include <asm/scatterlist.h>
#include <linux/crypto.h>
#include <linux/types.h>

Expand Down
1 change: 0 additions & 1 deletion drivers/base/dmapool.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
#include <linux/device.h>
#include <linux/mm.h>
#include <asm/io.h> /* Needed for i386 to build */
#include <asm/scatterlist.h> /* Needed for i386 to build */
#include <linux/dma-mapping.h>
#include <linux/dmapool.h>
#include <linux/slab.h>
Expand Down
2 changes: 1 addition & 1 deletion drivers/ieee1394/sbp2.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,11 +71,11 @@
#include <linux/types.h>
#include <linux/wait.h>
#include <linux/workqueue.h>
#include <linux/scatterlist.h>

#include <asm/byteorder.h>
#include <asm/errno.h>
#include <asm/param.h>
#include <asm/scatterlist.h>
#include <asm/system.h>
#include <asm/types.h>

Expand Down
2 changes: 1 addition & 1 deletion drivers/media/video/bt8xx/bttvp.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
#include <linux/pci.h>
#include <linux/input.h>
#include <linux/mutex.h>
#include <asm/scatterlist.h>
#include <linux/scatterlist.h>
#include <asm/io.h>
#include <media/v4l2-common.h>

Expand Down
1 change: 0 additions & 1 deletion drivers/mmc/core/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
#include <linux/pagemap.h>
#include <linux/err.h>
#include <linux/leds.h>
#include <asm/scatterlist.h>
#include <linux/scatterlist.h>

#include <linux/mmc/card.h>
Expand Down
1 change: 0 additions & 1 deletion drivers/mmc/core/mmc_ops.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
*/

#include <linux/types.h>
#include <asm/scatterlist.h>
#include <linux/scatterlist.h>

#include <linux/mmc/host.h>
Expand Down
1 change: 0 additions & 1 deletion drivers/mmc/core/sd_ops.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
*/

#include <linux/types.h>
#include <asm/scatterlist.h>
#include <linux/scatterlist.h>

#include <linux/mmc/host.h>
Expand Down
1 change: 0 additions & 1 deletion drivers/mmc/core/sdio_ops.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
* your option) any later version.
*/

#include <asm/scatterlist.h>
#include <linux/scatterlist.h>

#include <linux/mmc/host.h>
Expand Down
1 change: 0 additions & 1 deletion drivers/net/meth.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@
#include <asm/ip32/ip32_ints.h>

#include <asm/io.h>
#include <asm/scatterlist.h>

#include "meth.h"

Expand Down
2 changes: 1 addition & 1 deletion drivers/scsi/scsi_lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -785,7 +785,7 @@ struct scatterlist *scsi_alloc_sgtable(struct scsi_cmnd *cmd, gfp_t gfp_mask)
* end-of-list
*/
if (!left)
sg_mark_end(sgl, this);
sg_mark_end(&sgl[this - 1]);

/*
* don't allow subsequent mempool allocs to sleep, it would
Expand Down
1 change: 0 additions & 1 deletion drivers/usb/core/buffer.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
#include <linux/device.h>
#include <linux/mm.h>
#include <asm/io.h>
#include <asm/scatterlist.h>
#include <linux/dma-mapping.h>
#include <linux/dmapool.h>
#include <linux/usb.h>
Expand Down
1 change: 0 additions & 1 deletion drivers/usb/core/hcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
#include <linux/utsname.h>
#include <linux/mm.h>
#include <asm/io.h>
#include <asm/scatterlist.h>
#include <linux/device.h>
#include <linux/dma-mapping.h>
#include <linux/mutex.h>
Expand Down
2 changes: 1 addition & 1 deletion drivers/usb/core/usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
#include <linux/workqueue.h>

#include <asm/io.h>
#include <asm/scatterlist.h>
#include <linux/scatterlist.h>
#include <linux/mm.h>
#include <linux/dma-mapping.h>

Expand Down
2 changes: 1 addition & 1 deletion fs/nfsd/nfs4recover.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
#include <linux/file.h>
#include <linux/namei.h>
#include <asm/uaccess.h>
#include <asm/scatterlist.h>
#include <linux/scatterlist.h>
#include <linux/crypto.h>
#include <linux/sched.h>

Expand Down
60 changes: 29 additions & 31 deletions include/linux/scatterlist.h
Original file line number Diff line number Diff line change
Expand Up @@ -188,43 +188,23 @@ static inline void sg_chain(struct scatterlist *prv, unsigned int prv_nents,

/**
* sg_mark_end - Mark the end of the scatterlist
* @sgl: Scatterlist
* @nents: Number of entries in sgl
* @sg: SG entryScatterlist
*
* Description:
* Marks the last entry as the termination point for sg_next()
* Marks the passed in sg entry as the termination point for the sg
* table. A call to sg_next() on this entry will return NULL.
*
**/
static inline void sg_mark_end(struct scatterlist *sgl, unsigned int nents)
static inline void sg_mark_end(struct scatterlist *sg)
{
sgl[nents - 1].page_link = 0x02;
}

static inline void __sg_mark_end(struct scatterlist *sg)
{
sg->page_link |= 0x02;
}

/**
* sg_init_one - Initialize a single entry sg list
* @sg: SG entry
* @buf: Virtual address for IO
* @buflen: IO length
*
* Notes:
* This should not be used on a single entry that is part of a larger
* table. Use sg_init_table() for that.
*
**/
static inline void sg_init_one(struct scatterlist *sg, const void *buf,
unsigned int buflen)
{
memset(sg, 0, sizeof(*sg));
#ifdef CONFIG_DEBUG_SG
sg->sg_magic = SG_MAGIC;
BUG_ON(sg->sg_magic != SG_MAGIC);
#endif
sg_mark_end(sg, 1);
sg_set_buf(sg, buf, buflen);
/*
* Set termination bit, clear potential chain bit
*/
sg->page_link |= 0x02;
sg->page_link &= ~0x01;
}

/**
Expand All @@ -240,14 +220,32 @@ static inline void sg_init_one(struct scatterlist *sg, const void *buf,
static inline void sg_init_table(struct scatterlist *sgl, unsigned int nents)
{
memset(sgl, 0, sizeof(*sgl) * nents);
sg_mark_end(sgl, nents);
#ifdef CONFIG_DEBUG_SG
{
unsigned int i;
for (i = 0; i < nents; i++)
sgl[i].sg_magic = SG_MAGIC;
}
#endif
sg_mark_end(&sgl[nents - 1]);
}

/**
* sg_init_one - Initialize a single entry sg list
* @sg: SG entry
* @buf: Virtual address for IO
* @buflen: IO length
*
* Notes:
* This should not be used on a single entry that is part of a larger
* table. Use sg_init_table() for that.
*
**/
static inline void sg_init_one(struct scatterlist *sg, const void *buf,
unsigned int buflen)
{
sg_init_table(sg, 1);
sg_set_buf(sg, buf, buflen);
}

/**
Expand Down
2 changes: 1 addition & 1 deletion include/net/esp.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

#include <linux/crypto.h>
#include <net/xfrm.h>
#include <asm/scatterlist.h>
#include <linux/scatterlist.h>

#define ESP_NUM_FAST_SG 4

Expand Down
2 changes: 1 addition & 1 deletion include/rdma/ib_verbs.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,9 @@
#include <linux/kref.h>
#include <linux/list.h>
#include <linux/rwsem.h>
#include <linux/scatterlist.h>

#include <asm/atomic.h>
#include <asm/scatterlist.h>
#include <asm/uaccess.h>

union ib_gid {
Expand Down
2 changes: 1 addition & 1 deletion include/scsi/libsas.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
#include <scsi/scsi_device.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_transport_sas.h>
#include <asm/scatterlist.h>
#include <linux/scatterlist.h>

struct block_device;

Expand Down
2 changes: 1 addition & 1 deletion net/core/skbuff.c
Original file line number Diff line number Diff line change
Expand Up @@ -2095,7 +2095,7 @@ int skb_to_sgvec(struct sk_buff *skb, struct scatterlist *sg, int offset, int le
{
int nsg = __skb_to_sgvec(skb, sg, offset, len);

__sg_mark_end(&sg[nsg - 1]);
sg_mark_end(&sg[nsg - 1]);

return nsg;
}
Expand Down
1 change: 0 additions & 1 deletion net/ieee80211/ieee80211_crypt_ccmp.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
#include <net/ieee80211.h>

#include <linux/crypto.h>
#include <asm/scatterlist.h>

MODULE_AUTHOR("Jouni Malinen");
MODULE_DESCRIPTION("Host AP crypt: CCMP");
Expand Down
1 change: 0 additions & 1 deletion net/ipv4/ah4.c
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
#include <linux/spinlock.h>
#include <net/icmp.h>
#include <net/protocol.h>
#include <asm/scatterlist.h>


/* Clear mutable options and find final destination to substitute
Expand Down
1 change: 0 additions & 1 deletion net/ipv4/ipcomp.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
* - Adaptive compression.
*/
#include <linux/module.h>
#include <asm/scatterlist.h>
#include <asm/semaphore.h>
#include <linux/crypto.h>
#include <linux/pfkeyv2.h>
Expand Down
2 changes: 1 addition & 1 deletion net/ipv4/tcp_ipv4.c
Original file line number Diff line number Diff line change
Expand Up @@ -1083,7 +1083,7 @@ static int tcp_v4_do_calc_md5_hash(char *md5_hash, struct tcp_md5sig_key *key,
sg_set_buf(&sg[block++], key->key, key->keylen);
nbytes += key->keylen;

__sg_mark_end(&sg[block - 1]);
sg_mark_end(&sg[block - 1]);

/* Now store the Hash into the packet */
err = crypto_hash_init(desc);
Expand Down
1 change: 0 additions & 1 deletion net/ipv6/ah6.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
#include <net/ipv6.h>
#include <net/protocol.h>
#include <net/xfrm.h>
#include <asm/scatterlist.h>

static int zero_out_mutable_opts(struct ipv6_opt_hdr *opthdr)
{
Expand Down
1 change: 0 additions & 1 deletion net/ipv6/ipcomp6.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
#include <net/ip.h>
#include <net/xfrm.h>
#include <net/ipcomp.h>
#include <asm/scatterlist.h>
#include <asm/semaphore.h>
#include <linux/crypto.h>
#include <linux/pfkeyv2.h>
Expand Down
2 changes: 1 addition & 1 deletion net/ipv6/tcp_ipv6.c
Original file line number Diff line number Diff line change
Expand Up @@ -781,7 +781,7 @@ static int tcp_v6_do_calc_md5_hash(char *md5_hash, struct tcp_md5sig_key *key,
sg_set_buf(&sg[block++], key->key, key->keylen);
nbytes += key->keylen;

__sg_mark_end(&sg[block - 1]);
sg_mark_end(&sg[block - 1]);

/* Now store the hash into the packet */
err = crypto_hash_init(desc);
Expand Down
Loading

0 comments on commit 160acc2

Please sign in to comment.