Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1725620

Re: Converting struct timer_list callback argument to struct timer_list *

From Christoph Hellwig <hch@infradead.org>
Newsgroups linux.kernel
Subject Re: Converting struct timer_list callback argument to struct timer_list *
Date 2017-09-03 09:40 +0200
Message-ID <ulxFD-5w2-3@gated-at.bofh.it> (permalink)
References <ukkKt-6lK-3@gated-at.bofh.it> <ukR3I-2tp-9@gated-at.bofh.it> <ukRn3-2DU-1@gated-at.bofh.it> <ukRGq-2P1-19@gated-at.bofh.it> <ukWZs-7vc-15@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Fri, Sep 01, 2017 at 09:24:22AM -0700, Kees Cook wrote:
> #define list_entry(ptr, type, member) container_of(ptr, type, member)
> #define rb_entry(ptr, type, member) container_of(ptr, type, member)
> 
> The use of a "timer_entry()" at the start of callbacks repeats the
> struct name, which I find irritating (and it usually results in split
> lines). For example:
> 
> #define timer_entry(ptr, type, member) container_of(ptr, type, member)
> 
> -static void snd_card_asihpi_timer_function(unsigned long data)
> +static void snd_card_asihpi_timer_function(struct timer_list *t)
>  {
> -       struct snd_card_asihpi_pcm *dpcm = (struct snd_card_asihpi_pcm *)data;
> +       struct snd_card_asihpi_pcm *dpcm =
> +                                timer_entry(t, struct
> snd_card_asihpi_pcm, timer);
> 
> I prefer to tie this directly to the variable, so how about renaming
> TIMER_CONTAINER to timer_of():

The TIMER_CONTAINER semantics are more useful indeed, and I which
we'd have a general purpose variant of that.  But I was complaining
about the name anyway.  timer_of sounds ok, but timer_entry still sounds
a bit more descriptive.  As for the split lines:  you'll generally
get a lot of these, even TIMER_CONTAINER has a quite a few.  I generally
prefer to move everything right of the = to the next line as that
becomes a lot more redable.

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Converting struct timer_list callback argument to struct timer_list * Kees Cook <keescook@chromium.org> - 2017-08-31 01:40 +0200
  Re: Converting struct timer_list callback argument to struct timer_list  * Thomas Gleixner <tglx@linutronix.de> - 2017-08-31 22:20 +0200
    Re: Converting struct timer_list callback argument to struct  timer_list * Kees Cook <keescook@chromium.org> - 2017-09-01 01:40 +0200
  Re: Converting struct timer_list callback argument to struct  timer_list * Christoph Hellwig <hch@infradead.org> - 2017-09-01 12:10 +0200
    Re: Converting struct timer_list callback argument to struct timer_list  * Thomas Gleixner <tglx@linutronix.de> - 2017-09-01 12:30 +0200
      Re: Converting struct timer_list callback argument to struct  timer_list * Christoph Hellwig <hch@infradead.org> - 2017-09-01 12:50 +0200
        Re: Converting struct timer_list callback argument to struct  timer_list * Kees Cook <keescook@chromium.org> - 2017-09-01 18:30 +0200
          Re: Converting struct timer_list callback argument to struct  timer_list * Christoph Hellwig <hch@infradead.org> - 2017-09-03 09:40 +0200
            Re: Converting struct timer_list callback argument to struct  timer_list * Kees Cook <keescook@chromium.org> - 2017-09-03 22:20 +0200
              Re: Converting struct timer_list callback argument to struct  timer_list * Christoph Hellwig <hch@infradead.org> - 2017-09-04 08:10 +0200

csiph-web