On Tue, Jul 03, 2012 at 02:34:21PM -0600, Stephen Warren wrote: > From: Stephen Warren > > This fixes: > drivers/pwm/core.c: In function 'pwm_get': > drivers/pwm/core.c:534:15: warning: 'index' may be used uninitialized in this function > > The addition to the if condition at end of the function isn't strictly > necessary to solve the warning, but does make it more obvious that the > initialization of "index" to a dummy value isn't just hiding the > problem. Actually this seems to be a false positive, and one that I don't see (I use GCC 4.6.3). index will be initialized when chip is set in the loop. My guess is that GCC 4.6.3 actually notices while your version doesn't. Thierry > Signed-off-by: Stephen Warren > --- > drivers/pwm/core.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c > index dbab530..2b401c0 100644 > --- a/drivers/pwm/core.c > +++ b/drivers/pwm/core.c > @@ -531,7 +531,7 @@ struct pwm_device *pwm_get(struct device *dev, const char *con_id) > struct pwm_chip *chip = NULL; > unsigned int best = 0; > struct pwm_lookup *p; > - unsigned int index; > + unsigned int index = -1; > unsigned int match; > > /* look up via DT first */ > @@ -588,7 +588,7 @@ struct pwm_device *pwm_get(struct device *dev, const char *con_id) > } > } > > - if (chip) > + if (chip && index != -1) > pwm = pwm_request_from_chip(chip, index, con_id ?: dev_id); > > mutex_unlock(&pwm_lookup_lock); > -- > 1.7.0.4 > > >