Commit b385a144 authored by Robert P. J. Day's avatar Robert P. J. Day Committed by Linus Torvalds

[PATCH] Replace regular code with appropriate calls to container_of()

Replace a small number of expressions with a call to the "container_of()"
macro.
Signed-off-by: default avatarRobert P. J. Day <rpjday@mindspring.com>
Acked-by: default avatarPaul Mackerras <paulus@samba.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Stephen Smalley <sds@tycho.nsa.gov>
Cc: James Morris <jmorris@namei.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 521dae19
...@@ -83,7 +83,7 @@ struct ppp_file { ...@@ -83,7 +83,7 @@ struct ppp_file {
int dead; /* unit/channel has been shut down */ int dead; /* unit/channel has been shut down */
}; };
#define PF_TO_X(pf, X) ((X *)((char *)(pf) - offsetof(X, file))) #define PF_TO_X(pf, X) container_of(pf, X, file)
#define PF_TO_PPP(pf) PF_TO_X(pf, struct ppp) #define PF_TO_PPP(pf) PF_TO_X(pf, struct ppp)
#define PF_TO_CHANNEL(pf) PF_TO_X(pf, struct channel) #define PF_TO_CHANNEL(pf) PF_TO_X(pf, struct channel)
......
...@@ -1511,8 +1511,7 @@ lcs_txbuffer_cb(struct lcs_channel *channel, struct lcs_buffer *buffer) ...@@ -1511,8 +1511,7 @@ lcs_txbuffer_cb(struct lcs_channel *channel, struct lcs_buffer *buffer)
LCS_DBF_TEXT(5, trace, "txbuffcb"); LCS_DBF_TEXT(5, trace, "txbuffcb");
/* Put buffer back to pool. */ /* Put buffer back to pool. */
lcs_release_buffer(channel, buffer); lcs_release_buffer(channel, buffer);
card = (struct lcs_card *) card = container_of(channel, struct lcs_card, write);
((char *) channel - offsetof(struct lcs_card, write));
if (netif_queue_stopped(card->dev) && netif_carrier_ok(card->dev)) if (netif_queue_stopped(card->dev) && netif_carrier_ok(card->dev))
netif_wake_queue(card->dev); netif_wake_queue(card->dev);
spin_lock(&card->lock); spin_lock(&card->lock);
...@@ -1810,8 +1809,7 @@ lcs_get_frames_cb(struct lcs_channel *channel, struct lcs_buffer *buffer) ...@@ -1810,8 +1809,7 @@ lcs_get_frames_cb(struct lcs_channel *channel, struct lcs_buffer *buffer)
LCS_DBF_TEXT(4, trace, "-eiogpkt"); LCS_DBF_TEXT(4, trace, "-eiogpkt");
return; return;
} }
card = (struct lcs_card *) card = container_of(channel, struct lcs_card, read);
((char *) channel - offsetof(struct lcs_card, read));
offset = 0; offset = 0;
while (lcs_hdr->offset != 0) { while (lcs_hdr->offset != 0) {
if (lcs_hdr->offset <= 0 || if (lcs_hdr->offset <= 0 ||
......
...@@ -110,9 +110,7 @@ struct sa1100fb_info { ...@@ -110,9 +110,7 @@ struct sa1100fb_info {
#endif #endif
}; };
#define __type_entry(ptr,type,member) ((type *)((char *)(ptr)-offsetof(type,member))) #define TO_INF(ptr,member) container_of(ptr,struct sa1100fb_info,member)
#define TO_INF(ptr,member) __type_entry(ptr,struct sa1100fb_info,member)
#define SA1100_PALETTE_MODE_VAL(bpp) (((bpp) & 0x018) << 9) #define SA1100_PALETTE_MODE_VAL(bpp) (((bpp) & 0x018) << 9)
......
...@@ -492,7 +492,7 @@ struct request_sock; ...@@ -492,7 +492,7 @@ struct request_sock;
* Note that the fown_struct, @fown, is never outside the context of a * Note that the fown_struct, @fown, is never outside the context of a
* struct file, so the file structure (and associated security information) * struct file, so the file structure (and associated security information)
* can always be obtained: * can always be obtained:
* (struct file *)((long)fown - offsetof(struct file,f_owner)); * container_of(fown, struct file, f_owner)
* @tsk contains the structure of task receiving signal. * @tsk contains the structure of task receiving signal.
* @fown contains the file owner information. * @fown contains the file owner information.
* @sig is the signal that will be sent. When 0, kernel sends SIGIO. * @sig is the signal that will be sent. When 0, kernel sends SIGIO.
......
...@@ -2654,7 +2654,7 @@ static int selinux_file_send_sigiotask(struct task_struct *tsk, ...@@ -2654,7 +2654,7 @@ static int selinux_file_send_sigiotask(struct task_struct *tsk,
struct file_security_struct *fsec; struct file_security_struct *fsec;
/* struct fown_struct is never outside the context of a struct file */ /* struct fown_struct is never outside the context of a struct file */
file = (struct file *)((long)fown - offsetof(struct file,f_owner)); file = container_of(fown, struct file, f_owner);
tsec = tsk->security; tsec = tsk->security;
fsec = file->f_security; fsec = file->f_security;
......
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