Am Wed, 7 Mar 2018 16:44:49 -0300 schrieb Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>: > Em Wed, 7 Mar 2018 20:23:49 +0100 > Daniel Scheller <d.scheller.oss@xxxxxxxxx> escreveu: > > > From: Daniel Scheller <d.scheller@xxxxxxx> > > > > Instead of keeping duplicated I2C client handling construct, make > > use of the newly introduced dvb_module_*() helpers. This not only > > keeps things way cleaner and removes the need for duplicated I2C > > client attach code, but even allows to get rid of some variables > > that won't help in making things look cleaner anymore. > > > > The check on a valid ptr on port->en isn't really needed since the > > cxd2099 driver will set it at a time where it is going to return > > successfully from probing. > > > > Signed-off-by: Daniel Scheller <d.scheller@xxxxxxx> > > --- > > drivers/media/pci/ddbridge/ddbridge-ci.c | 33 > > ++++++-------------------- > > drivers/media/pci/ddbridge/ddbridge-core.c | 37 > > +++++++----------------------- 2 files changed, 15 insertions(+), > > 55 deletions(-) > > > > diff --git a/drivers/media/pci/ddbridge/ddbridge-ci.c > > b/drivers/media/pci/ddbridge/ddbridge-ci.c index > > 6585ef54ac22..d0ce6a1f1bd0 100644 --- > > a/drivers/media/pci/ddbridge/ddbridge-ci.c +++ > > b/drivers/media/pci/ddbridge/ddbridge-ci.c @@ -324,34 +324,20 @@ > > static int ci_cxd2099_attach(struct ddb_port *port, u32 bitrate) { > > struct cxd2099_cfg cxd_cfg = cxd_cfgtmpl; > > struct i2c_client *client; > > - struct i2c_board_info board_info = { > > - .type = "cxd2099", > > - .addr = 0x40, > > - .platform_data = &cxd_cfg, > > - }; > > > > cxd_cfg.bitrate = bitrate; > > cxd_cfg.en = &port->en; > > > > - request_module(board_info.type); > > - > > - client = i2c_new_device(&port->i2c->adap, &board_info); > > - if (!client || !client->dev.driver) > > - goto err_ret; > > - > > - if (!try_module_get(client->dev.driver->owner)) > > - goto err_i2c; > > - > > - if (!port->en) > > - goto err_i2c; > > + client = dvb_module_probe("cxd2099", "cxd2099", > > &port->i2c->adap, > > + 0x40, &cxd_cfg); > > Here and on all similar calls, there's no need to duplicate the name, > if they're identical. Just use NULL at the second time, e. g.: > > client = dvb_module_probe("cxd2099", NULL, &port->i2c->adap, > 0x40, &cxd_cfg); > > The dvb_module_probe() will use the same string for both. Convinced (wanted to make this look "complete" and "proper"). V2 sent, skipped the cover letter though :-) Best regards, Daniel Scheller -- https://github.com/herrnst