the proper use of __SPIN_LOCK_UNLOCKED in structures

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



   when examining the remaining traces of the deprecated
SPIN_LOCK_UNLOCKED macro in structures, i'm used to seeing the common
replacement of:

  struct vt_spawn_console vt_spawn_con = {
        .lock = __SPIN_LOCK_UNLOCKED(vt_spawn_con.lock),
        .pid  = NULL,
        .sig  = 0,
  };

you know -- the newer form of the __SPIN_LOCK_UNLOCKED macro, which
takes the name of the lock for debugging purposes.  but i'm a bit
confused by this from drivers/char/random.c:

static struct entropy_store input_pool = {
        .poolinfo = &poolinfo_table[0],
        .name = "input",
        .limit = 1,
        .lock = __SPIN_LOCK_UNLOCKED(&input_pool.lock),
        .pool = input_pool_data
};

static struct entropy_store blocking_pool = {
        .poolinfo = &poolinfo_table[1],
        .name = "blocking",
        .limit = 1,
        .pull = &input_pool,
        .lock = __SPIN_LOCK_UNLOCKED(&blocking_pool.lock),
        .pool = blocking_pool_data
};

  um ... what's with the "&" as a prefix on the lock name?  should
that be there?  it's not like you're supposed to be taking the address
of anything, is it?  i'm confused.

rday
--

========================================================================
Robert P. J. Day
Linux Consulting, Training and Annoying Kernel Pedantry:
    Have classroom, will lecture.

http://crashcourse.ca                          Waterloo, Ontario, CANADA
========================================================================

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux