Message ID | 20190424101913.1534-4-benjamin.gaignard@st.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add of_ functions for device_link_add() | expand |
Hi Benjamin, On Wed, Apr 24, 2019 at 12:19:11PM +0200, Benjamin Gaignard wrote: > From: Yannick Fertré <yannick.fertre@st.com> > > Add a call to devm_of_device_links_add() to create links with suppliers > at probe time. > > Signed-off-by: Yannick Fertré <yannick.fertre@st.com> > Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com> > --- > drivers/input/touchscreen/edt-ft5x06.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/input/touchscreen/edt-ft5x06.c b/drivers/input/touchscreen/edt-ft5x06.c > index 702bfda7ee77..ac9f7e85efb0 100644 > --- a/drivers/input/touchscreen/edt-ft5x06.c > +++ b/drivers/input/touchscreen/edt-ft5x06.c > @@ -1167,6 +1167,8 @@ static int edt_ft5x06_ts_probe(struct i2c_client *client, > > i2c_set_clientdata(client, tsdata); > > + devm_of_device_links_add(&client->dev); > + This seems pretty generic action and I believe it should be done in generic code, either bus (i2c, spi, etc), or in device core. Thanks.
On 4/25/19 12:52 AM, Dmitry Torokhov wrote: > Hi Benjamin, > > On Wed, Apr 24, 2019 at 12:19:11PM +0200, Benjamin Gaignard wrote: >> From: Yannick Fertré <yannick.fertre@st.com> >> >> Add a call to devm_of_device_links_add() to create links with suppliers >> at probe time. >> >> Signed-off-by: Yannick Fertré <yannick.fertre@st.com> >> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@st.com> >> --- >> drivers/input/touchscreen/edt-ft5x06.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/input/touchscreen/edt-ft5x06.c b/drivers/input/touchscreen/edt-ft5x06.c >> index 702bfda7ee77..ac9f7e85efb0 100644 >> --- a/drivers/input/touchscreen/edt-ft5x06.c >> +++ b/drivers/input/touchscreen/edt-ft5x06.c >> @@ -1167,6 +1167,8 @@ static int edt_ft5x06_ts_probe(struct i2c_client *client, >> >> i2c_set_clientdata(client, tsdata); >> >> + devm_of_device_links_add(&client->dev); >> + > This seems pretty generic action and I believe it should be done in > generic code, either bus (i2c, spi, etc), or in device core. It is done (or could be done) in most of the buses or framework (like for regulator) but I think that adding it in device core add a device-tree node parsing for all the drivers while only a few of them will really need this feature. That why I have put the call here. Benjamin > > Thanks. >
diff --git a/drivers/input/touchscreen/edt-ft5x06.c b/drivers/input/touchscreen/edt-ft5x06.c index 702bfda7ee77..ac9f7e85efb0 100644 --- a/drivers/input/touchscreen/edt-ft5x06.c +++ b/drivers/input/touchscreen/edt-ft5x06.c @@ -1167,6 +1167,8 @@ static int edt_ft5x06_ts_probe(struct i2c_client *client, i2c_set_clientdata(client, tsdata); + devm_of_device_links_add(&client->dev); + irq_flags = irq_get_trigger_type(client->irq); if (irq_flags == IRQF_TRIGGER_NONE) irq_flags = IRQF_TRIGGER_FALLING;