Messages in this thread | | | Subject | Re: [PATCH 1/2] leds: is31fl319x: Add sdb pin and generate a 5ms low pulse when startup | From | Grant Feng <> | Date | Sat, 8 Aug 2020 08:52:25 +0800 |
| |
Thanks for the review, I will rewrit it.
Grant
On 2020-08-06 23:00, Dan Murphy wrote: > Grant > > On 8/6/20 1:21 AM, Grant Feng wrote: >> generate a 5ms low pulse on sdb pin when startup, then the chip >> becomes more stable in the complex EM environment. >> >> Signed-off-by: Grant Feng <von81@163.com> >> --- >> drivers/leds/leds-is31fl319x.c | 12 ++++++++++++ >> 1 file changed, 12 insertions(+) >> >> diff --git a/drivers/leds/leds-is31fl319x.c >> b/drivers/leds/leds-is31fl319x.c >> index ca6634b8683c..b4f70002cec9 100644 >> --- a/drivers/leds/leds-is31fl319x.c >> +++ b/drivers/leds/leds-is31fl319x.c >> @@ -16,6 +16,8 @@ >> #include <linux/of_device.h> >> #include <linux/regmap.h> >> #include <linux/slab.h> >> +#include <linux/delay.h> >> +#include <linux/gpio/consumer.h> >> /* register numbers */ >> #define IS31FL319X_SHUTDOWN 0x00 >> @@ -61,6 +63,7 @@ >> struct is31fl319x_chip { >> const struct is31fl319x_chipdef *cdef; >> struct i2c_client *client; >> + struct gpio_desc *sdb_pin; >> struct regmap *regmap; >> struct mutex lock; >> u32 audio_gain_db; >> @@ -265,6 +268,15 @@ static int is31fl319x_parse_dt(struct device *dev, >> is31->audio_gain_db = min(is31->audio_gain_db, >> IS31FL319X_AUDIO_GAIN_DB_MAX); >> + is31->sdb_pin = gpiod_get(dev, "sdb", GPIOD_ASIS); > > Since this is optional maybe use devm_gpiod_get_optional. > > If this is required for stability then if the GPIO is not present then > the parse_dt should return the error. > > And use the devm_gpiod_get call. Otherwise you are missing the > gpiod_put when exiting or removing the driver. > > Dan >
| |