All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Fabio M. De Francesco" <fmdefrancesco@gmail.com>
To: Jaehee Park <jhpark1013@gmail.com>, Kalle Valo <kvalo@kernel.org>
Cc: "Jérôme Pouiller" <jerome.pouiller@silabs.com>,
	"David S. Miller" <davem@davemloft.net>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Paolo Abeni" <pabeni@redhat.com>,
	linux-wireless@vger.kernel.org, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev,
	outreachy@lists.linux.dev, "Stefano Brivio" <sbrivio@redhat.com>
Subject: Re: [PATCH] wfx: use container_of() to get vif
Date: Wed, 20 Apr 2022 18:53:39 +0200	[thread overview]
Message-ID: <2258432.bcXerOTE6V@leap> (raw)
In-Reply-To: <87y200nf0a.fsf@kernel.org>

On mercoledì 20 aprile 2022 13:57:57 CEST Kalle Valo wrote:
> Jaehee Park <jhpark1013@gmail.com> writes:
> 
> > Currently, upon virtual interface creation, wfx_add_interface() stores
> > a reference to the corresponding struct ieee80211_vif in private data,
> > for later usage. This is not needed when using the container_of
> > construct. This construct already has all the info it needs to retrieve
> > the reference to the corresponding struct from the offset that is
> > already available, inherent in container_of(), between its type and
> > member inputs (struct ieee80211_vif and drv_priv, respectively).
> > Remove vif (which was previously storing the reference to the struct
> > ieee80211_vif) from the struct wfx_vif, define a function
> > wvif_to_vif(wvif) for container_of(), and replace all wvif->vif with
> > the newly defined container_of construct.
> >
> > Signed-off-by: Jaehee Park <jhpark1013@gmail.com>
> 
> [...]
> 
> > +static inline struct ieee80211_vif *wvif_to_vif(struct wfx_vif *wvif)
> > +{
> > +	return container_of((void *)wvif, struct ieee80211_vif, 
drv_priv);
> > +}
> 
> Why the void pointer cast? Avoid casts as much possible.

In a previous email Jaehee wrote that she could compile her changes only by 
using that "(void *)" cast.

I replied that probably this is a hint that something is broken, although 
my argument is not necessarily a "proof". Might very well be that this cast 
was needed in this particular situation but I cannot see why.

@Jaehee, please try to explain why this "(void *)" cast is actually 
necessary and why your changes cannot avoid it.

Thanks,

Fabio M. De Francesco




  reply	other threads:[~2022-04-20 16:53 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-18  3:51 [PATCH] wfx: use container_of() to get vif Jaehee Park
2022-04-19 13:39 ` Jérôme Pouiller
2022-05-03 18:18   ` Jaehee Park
2022-04-20 11:57 ` Kalle Valo
2022-04-20 16:53   ` Fabio M. De Francesco [this message]
2022-05-02 18:10   ` Jaehee
2022-05-02 18:34     ` Jaehee Park
2022-05-04  9:33     ` Dan Carpenter
2022-05-04 11:50       ` Stefano Brivio
2022-05-04 13:25         ` Dan Carpenter
2022-05-04 16:05           ` Kalle Valo
2022-05-04 17:07             ` Jaehee Park

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2258432.bcXerOTE6V@leap \
    --to=fmdefrancesco@gmail.com \
    --cc=davem@davemloft.net \
    --cc=jerome.pouiller@silabs.com \
    --cc=jhpark1013@gmail.com \
    --cc=kuba@kernel.org \
    --cc=kvalo@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-staging@lists.linux.dev \
    --cc=linux-wireless@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=outreachy@lists.linux.dev \
    --cc=pabeni@redhat.com \
    --cc=sbrivio@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.