lkml.org 
[lkml]   [2015]   [Aug]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v3 05/18] regulator: core: Reduce critical area in _regulator_get
    On Thu, Aug 06, 2015 at 04:11:42PM +0200, Tomeu Vizoso wrote:

    > This backtrace illustrates the situation described above:
    >
    > (regulator_register) from [<c05efe64>]
    > (devm_regulator_register+0x48/0x84)

    Please don't paste entire backtraces into commit messages, they are
    enormous and contain very little useful content - they just obscure
    actual information in the commit message. If you feel there's useful
    information in there just include edited highlights with only that.

    > +static int _regulator_enable(struct regulator *regulator, bool do_lock)
    > {
    > - int ret;
    > + struct regulator_dev *rdev = regulator->rdev;
    > + int ret = 0;
    >
    > - lockdep_assert_held_once(&rdev->mutex);
    > + if (regulator->always_on)
    > + return 0;
    > +
    > + if (rdev->supply) {
    > + ret = regulator_enable(rdev->supply);
    > + if (ret != 0)
    > + return ret;
    > + }
    > +
    > + if (do_lock)
    > + mutex_lock(&rdev->mutex);
    > + else
    > + lockdep_assert_held_once(&rdev->mutex);

    Eew. This do_lock stuff is *not* nice and going to be fragile. I'm not
    a fan, we need something better.
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2015-08-07 14:21    [W:2.966 / U:0.204 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site