Em Wed,  7 Mar 2018 20:23:49 +0100
Daniel Scheller <d.scheller....@gmail.com> escreveu:

> From: Daniel Scheller <d.schel...@gmx.net>
> 
> 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.schel...@gmx.net>
> ---
>  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.

Regards,
Mauro

Reply via email to