Re: [PATCH 07/14] leds: flashlight: mt6370: Add Mediatek MT6370 flashlight support

From: Andy Shevchenko
Date: Thu Jun 02 2022 - 09:58:06 EST


On Thu, Jun 2, 2022 at 2:07 PM szuni chen <szunichen@xxxxxxxxx> wrote:
> Andy Shevchenko <andy.shevchenko@xxxxxxxxx> 於 2022年6月1日 週三 下午5:57寫道:
> > On Tue, May 31, 2022 at 1:32 PM ChiaEn Wu <peterwu.pub@xxxxxxxxx> wrote:

...

> > > + const char * const states[] = { "off", "keep", "on" };
> > > + const char *str;
> > > + int ret;
> > > +
> > > + if (!fwnode_property_read_string(init_data->fwnode,
> > > + "default-state", &str)) {
> > > + ret = match_string(states, ARRAY_SIZE(states), str);
> > > + if (ret < 0)
> > > + ret = STATE_OFF;
> > > +
> > > + led->default_state = ret;
> > > + }
> >
> > fwnode_property_match_string()?
> Sorry, but I think the use of this function is different from my target.
> I want to read the string of the "default-state" property and figure
> out if the string is in the states array.
> But the fwnode_property_match_string aimed to figure out if the state
> in the property array.
> One is a property array and another one is a state array.

Ah, indeed. Nevertheless you may reduce the code base by doing like
the following (I wonder what your code do if there is no default-state
property):

led->default_state = STATE_OFF; // it's by default off since
kzalloc(), so I don't see why we need this line at all.

fwnode_property_read_string(init_data->fwnode, "default-state", &str);
ret = match_string(states, ARRAY_SIZE(states), str);
if (ret >= 0)
led->default_state = ret;


--
With Best Regards,
Andy Shevchenko